diff --git a/README.md b/README.md index 26b4fc130..5b18a3afb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Inform 7 -v10.1.0-alpha.1+6Q81 'Krypton' (28 July 2020) +v10.1.0-alpha.1+6Q82 'Krypton' (29 July 2020) ## About Inform 7 diff --git a/build.txt b/build.txt index 10eb61c24..b48a837ac 100644 --- a/build.txt +++ b/build.txt @@ -1,3 +1,3 @@ Prerelease: alpha.1 -Build Date: 28 July 2020 -Build Number: 6Q81 +Build Date: 29 July 2020 +Build Number: 6Q82 diff --git a/docs/basic_inform/S-md.html b/docs/basic_inform/S-md.html index cb03ca43d..53ed9caa5 100644 --- a/docs/basic_inform/S-md.html +++ b/docs/basic_inform/S-md.html @@ -75,18 +75,16 @@ after an object is created). An object can be proper-named or improper-named. An object is usually improper-named. An object can be ambiguously plural. -

§4. In the age of Inter as a target language, "translates into I6" is not to -be taken literally. These are instead identifier names which will be used to -annotate our Inter code. +

§4. These are Inter identifier names.

-The indefinite article property translates into I6 as "article".
-The printed plural name property translates into I6 as "plural".
-The printed name property translates into I6 as "short_name".
-The plural-named property translates into I6 as "pluralname".
-The ambiguously plural property translates into I6 as "ambigpluralname".
-The proper-named property translates into I6 as "proper".
+The indefinite article property translates into Inter as "article".
+The printed plural name property translates into Inter as "plural".
+The printed name property translates into Inter as "short_name".
+The plural-named property translates into Inter as "pluralname".
+The ambiguously plural property translates into Inter as "ambigpluralname".
+The proper-named property translates into Inter as "proper".
 

§5. Variables. Most of the built-in kinds and kind constructors, such as "number" and "list of K", are defined in special low-level files read in by Inform early @@ -111,7 +109,7 @@ despite the definition below, it is not necessarily an object.)

 The parameter-object is an object that varies.
-The parameter-object variable translates into I6 as "parameter_value".
+The parameter-object variable translates into Inter as "parameter_value".
 

§7. Rulebooks. The Standard Rules (for interactive fiction) create a wealth of rulebooks and activities in order to model a fictional world. Here we are much more @@ -135,7 +133,7 @@ template libraries. (Remember that creating an activity creates three rulebooks. Starting the virtual machine (documented at act_startvm) is an activity. The enable Glulx acceleration rule is listed first in for starting the virtual machine. -The enable Glulx acceleration rule translates into I6 as "ENABLE_GLULX_ACCEL_R". +The enable Glulx acceleration rule translates into Inter as "ENABLE_GLULX_ACCEL_R".

§8. However, the two activities for printing names of objects are indeed functional in Basic Inform. @@ -145,12 +143,14 @@ functional in Basic Inform. Printing the name of something (documented at act_pn) is an activity. The standard name printing rule is listed last in the for printing the name rulebook. -The standard name printing rule translates into I6 as "STANDARD_NAME_PRINTING_R". +The standard name printing rule translates into Inter as "STANDARD_NAME_PRINTING_R". Printing the plural name of something (documented at act_ppn) is an activity. -The standard printing the plural name rule is listed last in the for printing the plural name rulebook. -The standard printing the plural name rule translates into I6 as "STANDARD_PLURAL_NAME_PRINTING_R". +The standard printing the plural name rule is listed last in the for printing the +plural name rulebook. +The standard printing the plural name rule translates into Inter as +"STANDARD_PLURAL_NAME_PRINTING_R".

- + -

To parse sentences like "The plural of woman is women".

+ +

Special sentences for setting exotic plural forms of nouns.

-
+

§1. Sentences like "the plural of cherub is cherubim" are hardly needed now, +because the inflections module now contains a full implementation of +Conway's algorithm. Still, we keep the syntax around, and it may one day be +useful again for languages other than English. +

-

§1. Stocking the plurals dictionary. The user gives us plurals with special sentences, whose subject is like so: +

The subject phrase must match:

 <plural-sentence-subject> ::=
-    <article> plural of <np-articled> |    ==> { TRUE, RP[2] }
-    plural of <np-articled>							==> { TRUE, RP[1] }
+    <article> plural of <np-articled> |  ==> { pass 2 }
+    plural of <np-articled>              ==> { pass 1 }
 
-

§2. We take immediate action on parsing the sentence, and after that ignore it -as having been dealt with. +

§2. Note that we are saved later grief by not allowing a plural form which +would be illegal as a new noun: allowing "The plural of thing is ," would not +end well.

-

Note that we are entirely allowed to register a new plural for a phrase -which already has a plural in the dictionary, which is why we do not -trouble to search the existing dictionary here. +

Otherwise, though, we simply send the request to Pluralisation (in inflections).

 int Plurals::plural_SMF(int task, parse_node *V, wording *NPs) {
     wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
     wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    switch (task) {  "The plural of woman is women."
+    switch (task) {  "The plural of seraph is seraphim."
         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>>;
                 wording S = Node::get_text(V->next);
                 wording P = Node::get_text(V->next->next);
-                Forbid plural declarations containing quoted text2.1;
+                Forbid plural declarations containing quoted text2.1;
                 if (Assertions::Creator::vet_name_for_noun(P) == FALSE) return TRUE;
                 Pluralisation::register(S, P, DefaultLanguage::get(NULL));
                 return TRUE;
@@ -120,8 +121,9 @@ text anyway, so the following problem messages are not too gratuitous.
 
 
     LOOP_THROUGH_WORDING(i, S)
-        if (Vocabulary::test_flags(i, TEXT_MC+TEXTWITHSUBS_MC)) {
-            StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_PluralOfQuoted),
+        if (Vocabulary::test_flags(i, TEXT_MC + TEXTWITHSUBS_MC)) {
+            StandardProblems::sentence_problem(Task::syntax_tree(),
+                _p_(PM_PluralOfQuoted),
                 "declares a plural for a phrase containing quoted text",
                 "which is forbidden. Sentences like this are supposed to "
                 "declare plurals without quotation marks: for instance, "
@@ -129,8 +131,9 @@ text anyway, so the following problem messages are not too gratuitous.
             return TRUE;
         }
     LOOP_THROUGH_WORDING(i, P)
-        if (Vocabulary::test_flags(i, TEXT_MC+TEXTWITHSUBS_MC)) {
-            StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_PluralIsQuoted),
+        if (Vocabulary::test_flags(i, TEXT_MC + TEXTWITHSUBS_MC)) {
+            StandardProblems::sentence_problem(Task::syntax_tree(),
+                _p_(PM_PluralIsQuoted),
                 "declares a plural for a phrase using quoted text",
                 "which is forbidden. Sentences like this are supposed to "
                 "declare plurals without quotation marks: for instance, "
@@ -138,9 +141,9 @@ text anyway, so the following problem messages are not too gratuitous.
             return TRUE;
         }
 
- +
diff --git a/docs/core-module/3-tr.html b/docs/core-module/3-tr.html new file mode 100644 index 000000000..9d637aae7 --- /dev/null +++ b/docs/core-module/3-tr.html @@ -0,0 +1,242 @@ + + + + Translation Requests + + + + + + + + + + + + + + + + + + + +
+ + +

Three unrelated senses of "X translates into Y as Z" sentences.

+ +
+ +

§1. Translation into natural languages. The sentence "X translates into Y as Z" has this sense provided Y matches: +

+ +
+<translation-target-language> ::=
+    <natural-language>  ==> { pass 1 }
+
+ +

§2.

+ +
+int Translations::translates_into_language_as_SMF(int task, parse_node *V, wording *NPs) {
+    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
+    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
+    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
+    switch (task) {  "Thing translates into French as chose"
+        case ACCEPT_SMFT:
+            if (<translation-target-language>(O2W)) {
+                inform_language *nl = (inform_language *) (<<rp>>);
+                <np-articled>(SW);
+                V->next = <<rp>>;
+                <np-articled>(OW);
+                V->next->next = <<rp>>;
+                Node::set_defn_language(V->next->next, nl);
+                return TRUE;
+            }
+            break;
+        case TRAVERSE1_SMFT:
+            Parse subject phrase and send the translation to the linguistics module2.2;
+            break;
+    }
+    return FALSE;
+}
+
+

§2.1. The subject phrase can only be parsed on traverse 1, since it only makes +sense once kinds and instances exist. +

+ +
define TRANS_KIND 1
+define TRANS_INSTANCE 2
+
+
+<translates-into-language-sentence-subject> ::=
+    <k-kind> |  ==> { TRANS_KIND, RP[1] }
+    <instance>  ==> { TRANS_INSTANCE, RP[1] }
+
+ +

§2.2. Parse subject phrase and send the translation to the linguistics module2.2 = +

+ +
+    inform_language *L = Node::get_defn_language(V->next->next);
+    int g = Annotations::read_int(V->next->next, explicit_gender_marker_ANNOT);
+    if (L == NULL) internal_error("No such NL");
+    if (L == DefaultLanguage::get(NULL)) {
+        StandardProblems::sentence_problem(Task::syntax_tree(),
+            _p_(PM_CantTranslateIntoEnglish),
+            "you can't translate from a language into itself",
+            "only from the current language to a different one.");
+        return FALSE;
+    }
+
+    if ((<translates-into-language-sentence-subject>(Node::get_text(V->next))) == FALSE) {
+        StandardProblems::sentence_problem(Task::syntax_tree(),
+            _p_(PM_CantTranslateValue),
+            "this isn't something which can be translated",
+            "that is, it isn't a kind or instance.");
+        return FALSE;
+    }
+
+    switch (<<r>>) {
+        case TRANS_INSTANCE: {
+            instance *I = <<rp>>;
+            noun *t = Instances::get_noun(I);
+            if (t == NULL) internal_error("stuck on instance name");
+            Nouns::supply_text(t, Node::get_text(V->next->next), L, g,
+                SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT);
+            break;
+        }
+        case TRANS_KIND: {
+            kind *K = <<rp>>;
+            kind_constructor *KC = Kinds::get_construct(K);
+            if (KC == NULL) internal_error("stuck on kind name");
+            noun *t = Kinds::Constructors::get_noun(KC);
+            if (t == NULL) internal_error("further stuck on kind name");
+            Nouns::supply_text(t, Node::get_text(V->next->next), L, g,
+                SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT + WITH_PLURAL_FORMS_NTOPT);
+            break;
+        }
+        default: internal_error("bad translation category");
+    }
+
+ +

§3. Translation into Unicode. The sentence "X translates into Y as Z" has this sense provided Y matches: +

+ +
+<translation-target-unicode> ::=
+    unicode
+
+ +

§4.

+ +
+int Translations::translates_into_unicode_as_SMF(int task, parse_node *V, wording *NPs) {
+    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
+    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
+    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
+    switch (task) {  "Black king chess piece translates into Unicode as 9818"
+        case ACCEPT_SMFT:
+            if (<translation-target-unicode>(O2W)) {
+                <np-articled>(SW);
+                V->next = <<rp>>;
+                <np-articled>(OW);
+                V->next->next = <<rp>>;
+                return TRUE;
+            }
+            break;
+        case TRAVERSE2_SMFT:
+            UnicodeTranslations::unicode_translates(V);
+            break;
+    }
+    return FALSE;
+}
+
+

§5. Translation into Inter. The sentence "X translates into Y as Z" has this sense provided Y matches the +following. Before the coming of Inter code, the only conceivable compilation +target was Inform 6, but these now set Inter identifiers, so really the first +wording is to be preferred. +

+ +
+<translation-target-i6> ::=
+    inter |
+    i6 |
+    inform 6
+
+ +

§6.

+ +
+int Translations::translates_into_Inter_as_SMF(int task, parse_node *V, wording *NPs) {
+    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
+    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
+    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
+    switch (task) {  "The taking inventory action translates into Inter as "Inv""
+        case ACCEPT_SMFT:
+            if (<translation-target-i6>(O2W)) {
+                <np-articled>(SW);
+                V->next = <<rp>>;
+                <np-articled>(OW);
+                V->next->next = <<rp>>;
+                return TRUE;
+            }
+            break;
+        case TRAVERSE1_SMFT:
+        case TRAVERSE2_SMFT:
+            IdentifierTranslations::as(V);
+            break;
+    }
+    return FALSE;
+}
+
+ + +
+ + + diff --git a/docs/core-module/4-am.html b/docs/core-module/4-am.html index 69127f7ef..f74db629b 100644 --- a/docs/core-module/4-am.html +++ b/docs/core-module/4-am.html @@ -1719,7 +1719,7 @@ prefaced "(of a rulebook)", "(of an activity)", and so on. } diff --git a/docs/core-module/4-its.html b/docs/core-module/4-its.html index 5bfe404d0..60ffef6bb 100644 --- a/docs/core-module/4-its.html +++ b/docs/core-module/4-its.html @@ -26,14 +26,6 @@ MathJax = { src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"> - - - @@ -284,60 +276,8 @@ unifying construction: the pa whole thing into a specification for the rest of Inform to use.

-

§7.

- -
define MORE_PREFORM_OPTIMISER_WORDS_CALLBACK Semantics::mark_preform_requirements
-define PREFORM_ERROR_WORDS_CALLBACK NaturalLanguages::preform_error
-
-
-void Semantics::read_preform(inform_language *L) {
-    Mark certain nonterminals to have their vocabularies numbered and flagged7.1;
-    int nonterminals_declared = NaturalLanguages::load_preform(L);
-    LOG("%d declarations read\n", nonterminals_declared);
-}
-
-

§7.1. Mark certain nonterminals to have their vocabularies numbered and flagged7.1 = -

- -
-    NTI::give_nt_reserved_incidence_bit(<s-adjective>, ADJECTIVE_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<s-instance-name>, PROPER_NOUN_RES_NT_BIT /* COMMON_NOUN_RES_NT_BIT */ );
-    NTI::give_nt_reserved_incidence_bit(<k-kind>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-kind-of-kind>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-base-kind>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-kind-construction>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-kind-variable-texts>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-kind-variable>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-formal-kind-variable>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-irregular-kind-construction>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-variable-definition>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-single-material>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-optional-material>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-tupled-material>, COMMON_NOUN_RES_NT_BIT);
-    NTI::give_nt_reserved_incidence_bit(<k-tuple-list>, COMMON_NOUN_RES_NT_BIT);
-
- -

§8.

- -
-void Semantics::mark_preform_requirements(void) {
-    NTI::every_word_in_match_must_have_my_NTI_bit(<s-adjective>);
-    Semantics::mark_nt_as_requiring_itself_articled(<s-instance-name>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-kind-variable>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-formal-kind-variable>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-base-kind>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-kind-construction>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-kind>);
-    Semantics::mark_nt_as_requiring_itself_articled(<k-kind-of-kind>);
-}
-
-void Semantics::mark_nt_as_requiring_itself_articled(nonterminal *nt) {
-    NTI::every_word_in_match_must_have_my_NTI_bit_or_this_one(nt,
-        NTI::nt_incidence_bit(<article>));
-}
-
diff --git a/docs/core-module/5-ins.html b/docs/core-module/5-ins.html index 39c0cd6db..4e39e2fd1 100644 --- a/docs/core-module/5-ins.html +++ b/docs/core-module/5-ins.html @@ -127,7 +127,7 @@ evidence turns up to suggest otherwise). struct instance_usage *next; } instance_usage; - +

§4. We record the one most recently made:

@@ -366,11 +366,11 @@ turns up subsequently, e.g., in response to

-int Instances::get_numerical_value(instance *I) {
+int Instances::get_numerical_value(instance *I) {
     return I->enumeration_index;
 }
 
-inference_subject *Instances::as_subject(instance *I) {
+inference_subject *Instances::as_subject(instance *I) {
     if (I == NULL) return NULL;
     return I->as_subject;
 }
@@ -393,7 +393,7 @@ turns up subsequently, e.g., in response to
     return Nouns::nominative_singular_includes(I->tag, wd);
 }
 
-noun *Instances::get_noun(instance *I) {
+noun *Instances::get_noun(instance *I) {
     return I->tag;
 }
 
@@ -1010,7 +1010,7 @@ scene), once with set<
 
diff --git a/docs/core-module/5-ipw.html b/docs/core-module/5-ipw.html index 46de53f48..0dbac7249 100644 --- a/docs/core-module/5-ipw.html +++ b/docs/core-module/5-ipw.html @@ -499,7 +499,7 @@ table of Kinds. } diff --git a/docs/core-module/5-lp.html b/docs/core-module/5-lp.html index ba4a90352..4f0ba1e0d 100644 --- a/docs/core-module/5-lp.html +++ b/docs/core-module/5-lp.html @@ -271,7 +271,7 @@ mass might also support "in kilograms" and "in grams", for instance. CLASS_DEFINITION } literal_pattern_name; - +

§9. Creating patterns, tokens and elements.

@@ -2629,7 +2629,6 @@ and this causes no trouble.
                 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;
                 }
             }
@@ -3613,7 +3612,7 @@ attached to the same kind, and they become alternative syntaxes.)
 }
 
diff --git a/docs/core-module/5-nv.html b/docs/core-module/5-nv.html index 442158c9d..98925a3d2 100644 --- a/docs/core-module/5-nv.html +++ b/docs/core-module/5-nv.html @@ -995,7 +995,7 @@ the following: } diff --git a/docs/core-module/5-tod.html b/docs/core-module/5-tod.html index dfa5e953f..961fb71bb 100644 --- a/docs/core-module/5-tod.html +++ b/docs/core-module/5-tod.html @@ -274,7 +274,7 @@ a specific time of day, or when a named event occurs. diff --git a/docs/core-module/5-uem.html b/docs/core-module/5-uem.html index f0dd0f453..e6850a1bd 100644 --- a/docs/core-module/5-uem.html +++ b/docs/core-module/5-uem.html @@ -194,7 +194,7 @@ following. (The six highest bits are defined in the } diff --git a/docs/core-module/5-un.html b/docs/core-module/5-un.html index 3b8bd32df..974d48a11 100644 --- a/docs/core-module/5-un.html +++ b/docs/core-module/5-un.html @@ -21,7 +21,6 @@ function togglePopup(material_id) { - @@ -67,7 +66,7 @@ function togglePopup(material_id) {

Nametags provide for a more contextual parsing of nouns, allowing them to be given in an inexact verbal form.

-
+

§1. Identifiers. Since I6 identifiers compiled by Inform are usually based on the names of the things they represent — a typical example would be I45_silver_bars — @@ -177,73 +176,8 @@ instance, the Standard Rules want the player-character object to be called }

  • This code is used in §2.
-

§3. Translation.

- -
define TRANS_KIND 1
-define TRANS_INSTANCE 2
-
-

§4. This is for translation of nouns into different natural languages, -and is a somewhat provisional feature for now. -

- -
-

Thing translates into French as chose (f).

-
- -
-<translates-into-nl-sentence-subject> ::=
-    <k-kind> |    ==> { TRANS_KIND, RP[1] }
-    <instance>						==> { TRANS_INSTANCE, RP[1] }
-
- -

§5.

- -
-void UseNouns::nl_translates(parse_node *pn) {
-     the object
-    inform_language *nl = Node::get_defn_language(pn->next->next);
-    int g = Annotations::read_int(pn->next->next, explicit_gender_marker_ANNOT);
-    if (nl == NULL) internal_error("No such NL");
-    if (nl == DefaultLanguage::get(NULL)) {
-        StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_CantTranslateIntoEnglish),
-            "you can't translate into English",
-            "only out of it.");
-        return;
-    }
-
-    if ((<translates-into-nl-sentence-subject>(Node::get_text(pn->next))) == FALSE) {
-        StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_CantTranslateValue),
-            "this isn't something which can be translated",
-            "that is, it isn't a kind.");
-        return;
-    }
-
-    switch (<<r>>) {
-        case TRANS_INSTANCE: {
-            instance *I = <<rp>>;
-            noun *t = Instances::get_noun(I);
-            if (t == NULL) internal_error("stuck on instance name");
-            Nouns::supply_text(t, Node::get_text(pn->next->next), nl, g,
-                SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT);
-            break;
-        }
-        case TRANS_KIND: {
-            kind *K = <<rp>>;
-            kind_constructor *KC = Kinds::get_construct(K);
-            if (KC == NULL) internal_error("stuck on kind name");
-            noun *t = Kinds::Constructors::get_noun(KC);
-            if (t == NULL) internal_error("further stuck on kind name");
-            Nouns::supply_text(t, Node::get_text(pn->next->next), nl, g,
-                SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT + WITH_PLURAL_FORMS_NTOPT);
-            break;
-        }
-        default:
-            internal_error("bad translation category");
-    }
-}
-
diff --git a/docs/core-module/5-ut.html b/docs/core-module/5-ut.html index 18f4180e7..306fb6b16 100644 --- a/docs/core-module/5-ut.html +++ b/docs/core-module/5-ut.html @@ -73,7 +73,7 @@ a new name and its meaning to be.

-void UnicodeTranslations::unicode_translates(parse_node *pn) {
+void UnicodeTranslations::unicode_translates(parse_node *pn) {
     if (<translates-into-unicode-sentence-object>(Node::get_text(pn->next->next)) == FALSE) return;
     int cc = <<r>>;
     if (UnicodeTranslations::char_in_range(cc) == FALSE) return;
@@ -180,7 +180,7 @@ the player types either of these:
 }
 
diff --git a/docs/core-module/6-bp.html b/docs/core-module/6-bp.html index 5d092541a..c68a8bb0f 100644 --- a/docs/core-module/6-bp.html +++ b/docs/core-module/6-bp.html @@ -1289,7 +1289,7 @@ above. This happens very early in compilation. } diff --git a/docs/core-module/6-er.html b/docs/core-module/6-er.html index 9a3af7b53..890146dea 100644 --- a/docs/core-module/6-er.html +++ b/docs/core-module/6-er.html @@ -201,7 +201,7 @@ inferences for \(y\) and \(z\). } diff --git a/docs/core-module/6-nv.html b/docs/core-module/6-nv.html index 3762d889f..35dcbd9ee 100644 --- a/docs/core-module/6-nv.html +++ b/docs/core-module/6-nv.html @@ -352,7 +352,6 @@ now absolutely any non-empty word range is accepted as the property name. 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>>; @@ -389,7 +388,6 @@ now absolutely any non-empty word range is accepted as the property name. 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>>; @@ -786,11 +784,11 @@ foreign verbs (4).
 
-void NewVerbs::bootstrap(void) {
+void NewVerbs::bootstrap(void) {
     SpecialMeanings::declare(NewVerbs::verb_means_SMF, 							I"verb-means", 3);
 
     SpecialMeanings::declare(NewVerbs::new_verb_SMF, 							I"new-verb", 2);
-    SpecialMeanings::declare(Plurals::plural_SMF, 								I"new-plural", 2);
+    SpecialMeanings::declare(Plurals::plural_SMF, 								I"new-plural", 2);
     SpecialMeanings::declare(Activities::new_activity_SMF, 						I"new-activity", 2);
     #ifdef IF_MODULE
     SpecialMeanings::declare(PL::Actions::new_action_SMF, 						I"new-action", 2);
@@ -818,9 +816,9 @@ foreign verbs (4).
     SpecialMeanings::declare(Rules::Placement::does_nothing_SMF,				I"rule-does-nothing", 1);
     SpecialMeanings::declare(Rules::Placement::does_nothing_if_SMF,				I"rule-does-nothing-if", 1);
     SpecialMeanings::declare(Rules::Placement::does_nothing_unless_SMF,			I"rule-does-nothing-unless", 1);
-    SpecialMeanings::declare(Sentences::VPs::translates_into_unicode_as_SMF,	I"translates-into-unicode", 1);
-    SpecialMeanings::declare(Sentences::VPs::translates_into_I6_as_SMF,			I"translates-into-i6", 1);
-    SpecialMeanings::declare(Sentences::VPs::translates_into_language_as_SMF,	I"translates-into-language", 1);
+    SpecialMeanings::declare(Translations::translates_into_unicode_as_SMF,	I"translates-into-unicode", 1);
+    SpecialMeanings::declare(Translations::translates_into_Inter_as_SMF,			I"translates-into-i6", 1);
+    SpecialMeanings::declare(Translations::translates_into_language_as_SMF,	I"translates-into-language", 1);
     SpecialMeanings::declare(UseOptions::use_translates_as_SMF,					I"use-translates", 4);
     #ifdef IF_MODULE
     SpecialMeanings::declare(PL::Parsing::TestScripts::test_with_SMF,			I"test-with", 1);
@@ -831,8 +829,8 @@ foreign verbs (4).
     SpecialMeanings::declare(PL::Bibliographic::Release::release_along_with_SMF,I"release-along-with", 4);
     SpecialMeanings::declare(PL::EPSMap::index_map_with_SMF,					I"index-map-with", 4);
     #endif
-    SpecialMeanings::declare(Sentences::VPs::include_in_SMF,					I"include-in", 4);
-    SpecialMeanings::declare(Sentences::VPs::omit_from_SMF,						I"omit-from", 4);
+    SpecialMeanings::declare(Sentences::DLRs::include_in_SMF,					I"include-in", 4);
+    SpecialMeanings::declare(Sentences::DLRs::omit_from_SMF,						I"omit-from", 4);
 
     word_assemblage infinitive = PreformUtilities::wording(<bootstrap-verb>, 0);
     verb_conjugation *vc = Conjugation::conjugate(infinitive, DefaultLanguage::get(NULL));
@@ -1335,7 +1333,6 @@ foreign verbs (4).
     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);
@@ -1450,7 +1447,7 @@ usages to the debugging log.
 }
 
diff --git a/docs/core-module/6-rlt.html b/docs/core-module/6-rlt.html index a85e2438d..c74e40e80 100644 --- a/docs/core-module/6-rlt.html +++ b/docs/core-module/6-rlt.html @@ -193,7 +193,6 @@ parse tree. 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>>; @@ -3090,7 +3089,7 @@ whether or not $R(t_0< } diff --git a/docs/core-module/6-tur.html b/docs/core-module/6-tur.html index ae4b02436..d96234af8 100644 --- a/docs/core-module/6-tur.html +++ b/docs/core-module/6-tur.html @@ -213,7 +213,7 @@ can't be changed at compile time, but the universal relation can. } diff --git a/docs/core-module/6-up.html b/docs/core-module/6-up.html index 945852215..6c1e9e1de 100644 --- a/docs/core-module/6-up.html +++ b/docs/core-module/6-up.html @@ -133,7 +133,7 @@ reverse its sense. } diff --git a/docs/core-module/7-hdn.html b/docs/core-module/7-hdn.html index c552cdbe9..520e451c2 100644 --- a/docs/core-module/7-hdn.html +++ b/docs/core-module/7-hdn.html @@ -82,7 +82,7 @@ MathJax = {
-

§1. World objects under each heading. Every heading must carry with it a linked list of the nametags created in +

§1. World objects under each heading. Every heading must carry with it a linked list of the nouns created in sentences which belong to it. So when any noun is created, the following is called to let the current sentence's heading know that it has a new friend. @@ -473,7 +473,7 @@ organisation, and are not directly functional in themselves. { HEADING_NT, -1, 0, Sentences::Headings::handle_heading }; void Sentences::Headings::handle_heading(parse_node *PN) { - Assertions::Traverse::new_discussion(); + Assertions::Traverse::new_discussion(); }

§14. Describing the heading structure, 1: to the debugging log. Finally, three ways to describe the run of headings: to the debugging log, @@ -557,7 +557,7 @@ surreptitiously check that it is correctly formed at the same time. } } -

  • The structure contents_entry is accessed in 3/pd, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/ns, 7/oaf, 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/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.
+
  • The structure contents_entry is accessed in 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/oaf, 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/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.

§16.1. Index this entry in the contents16.1 =

@@ -738,7 +738,7 @@ but should this arise then the best recourse is to ignore the heading.
  • This code is used in §17.
diff --git a/docs/core-module/7-ns.html b/docs/core-module/7-ns.html deleted file mode 100644 index db1042a4d..000000000 --- a/docs/core-module/7-ns.html +++ /dev/null @@ -1,693 +0,0 @@ - - - - Nonstructural Sentences - - - - - - - - - - - - - - - - - - - -
- - -

To construct verb-phrase nodes in the parse tree.

- -
- -

§1. Definitions.

- -

§2. At this point in the narrative, we have read files from disc, lexed the text -into a stream of words, and broken this into a list of sentences; we have -identified requests to include extensions, and fully acted on these, so that -we can now forget about that whole complication; and we have built a tree -of headings and subheadings (and file divisions) so that we have a clear map -of the overall structure of the source text. Sentences intended for use only -in some circumstances (for instance, when compiling for the Glulx virtual -machine) have been omitted as necessary, so that we can forget about that -complication, too. -

- -

This gives as much information as we can squeeze out by easily specified -mechanical means: we have attacked the text at the very small scale, letters -and words, and at the very large, headings and files. This zig-zag in scale -will continue. In the rest of this chapter, we find the overall structure of -sentences. -

- -

§3. The parse tree is currently a long, long list: each sentence is a node -which is a child of the root, but no sentence has any child nodes of its own. -(That is about to change.) We can divide these sentences into three: -

- -
  • (a) Structural sentences — headings, extension requests, extension bookends. -All these have now been dealt with. -
  • (b) Sentences inside rules: rule preambles (RULE_NT nodes) -and phrases (INVOCATION_LIST_NT). These will not even be looked at until the -second phase of compilation, after the model world has been created. -
  • (c) Sentences with primary verbs, having node type SENTENCE_NT. These are -the assertions: they make statements about the initial state of the model -world — the existence of places and things, and their properties at the -start of play — and which describe patterns of behaviour during play. -
-

In the present section of code, then, we identify the primary verbs of -assertion sentences, and deal right away with some of the easier cases, -while leaving the harder ones for later. -

- -

§4. Every SENTENCE_NT node is annotated with a verb type from the enumeration -below. All of the assertions which create objects and kinds, and put them -into relationships with each other — a tremendous variety of possible -sentences, between them making up about three-quarters of all SENTENCE_NT -nodes in typical source — fall into one of two verb types: -

- -
define ASSERT_VB 10  "The bat and ball are on the table."
-
-

§5. Finally, the remaining verb types are all direct commands to Inform — -note the imperative forms they take: Use, Understand, Include, and so forth. -In a sense the whole source text is an instruction to Inform, but mostly -it's a passive one: the implicit message is "make the world so that all -this comes right". Here, on the other hand, the user actually speaks -directly. This is a point of the design which has sometimes seemed a little -doubtful — wouldn't it be more consistent for all of these sentences to be -more passively worded? — but pragmatism won out: circumlocutions such as -"American dialect is used." or "The story file is released along with..." -are plausible enough, but -

- -
-

"take noun" is understood as taking the noun.

-
- -

would mean a lot of important sentences being oddly punctuated with no -initial capital letter, while forcing meaningless extra words, as in -

- -
-

The command "take noun" is understood as taking the noun.

-
- -

might prove annoying. Users seem to find the directness of the imperative -easier to use, at any rate, and perhaps the difference in mood helps to -clarify that these are sentences rather different in implication from -the usual sort. -

- -
define SPECIAL_MEANING_VB 70
-
-

§6. This isn't a verb, and is used only to mark errors: -

- -
define BAD_NONVERB 1000
-
-

§7.

- -
-wording FOW, FSW;
-
-

§8. Traversing for primary verbs. As with headings, so with SENTENCE_NT nodes: we want the ability to -come back later and add some more. That means that the primary-verb-finder -needs to be able to make more than one pass through. To handle this, all -SENTENCE_NT nodes are annotated on creation with the "sentence -unparsed" marker: we run through the top level of the parse tree, -look at all nodes with this marker, parse their associated sentences, -and remove the marker from them. (So, for instance, if this is run twice -in quick succession, the second run-through does nothing.) -

- -
-void Sentences::VPs::traverse(void) {
-    SyntaxTree::traverse(Task::syntax_tree(), Sentences::VPs::visit);
-}
-void Sentences::VPs::visit(parse_node *p) {
-    if (Node::get_type(p) == TRACE_NT) {
-        SyntaxTree::toggle_trace(Task::syntax_tree());
-        Log::tracing_on(SyntaxTree::is_trace_set(Task::syntax_tree()), I"Diagramming");
-    }
-    if ((Node::get_type(p) == SENTENCE_NT) &&
-        (Annotations::read_int(p, sentence_unparsed_ANNOT))) {
-        Sentences::VPs::seek(p);
-        Check that this is allowed, if it occurs in the Options file8.1;
-        Sentences::Rearrangement::check_sentence_for_direction_creation(p);
-        Annotations::write_int(p, sentence_unparsed_ANNOT, FALSE);
-    }
-}
-
-

§8.1. Check that this is allowed, if it occurs in the Options file8.1 = -

- -
-    if (Wordings::within(Node::get_text(p), options_file_wording)) {
-        special_meaning_holder *sm = Node::get_special_meaning(p->down);
-        int err = TRUE;
-        if ((SpecialMeanings::is(sm, UseOptions::use_SMF)) ||
-            (SpecialMeanings::is(sm, PL::Parsing::TestScripts::test_with_SMF)) ||
-            (SpecialMeanings::is(sm, Sentences::VPs::include_in_SMF)) ||
-            (SpecialMeanings::is(sm, Sentences::VPs::omit_from_SMF))) err = FALSE;
-        #ifdef IF_MODULE
-        if (SpecialMeanings::is(sm, PL::Bibliographic::Release::release_along_with_SMF)) err = FALSE;
-        #endif
-        if (err)
-            StandardProblems::unlocated_problem(Task::syntax_tree(), _p_(BelievedImpossible),  not usefully testable, anyway
-                "The options file placed in this installation of Inform's folder "
-                "is incorrect, making use of a sentence form which isn't allowed "
-                "in that situation. The options file is only allowed to contain "
-                "use options, Test ... with..., and Release along with... "
-                "instructions.");
-    }
-
-
  • This code is used in §8.
-

§9. 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> -to look for a good contextual problem message. -

- -
-parse_node *nss_tree_head = NULL;
-int bootstrapped = FALSE;
-
-void Sentences::VPs::seek(parse_node *PN) {
-    if (bootstrapped == FALSE) {
-        NewVerbs::bootstrap();
-        bootstrapped = TRUE;
-    }
-    nss_tree_head = PN;
-    CLEAR_RW(<nonstructural-sentence>);
-    if (!(<nonstructural-sentence>(Node::get_text(PN))))
-        <bad-nonstructural-sentence-diagnosis>(Node::get_text(PN));
-}
-
-

§10.

- -
-<the-debugging-log> ::=
-    the debugging log
-
- -

§11.

- -
-int Sentences::VPs::include_in_SMF(int task, parse_node *V, wording *NPs) {
-    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
-    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);
-                return TRUE;
-            }
-            return FALSE;
-    }
-    return FALSE;
-}
-
-int Sentences::VPs::omit_from_SMF(int task, parse_node *V, wording *NPs) {
-    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
-    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);
-                return TRUE;
-            }
-            return FALSE;
-    }
-    return FALSE;
-}
-
-
-

§12.

- -
-void Sentences::VPs::switch_dl_mode(parse_node *PN, int sense) {
-    if (Node::get_type(PN) == AND_NT) {
-        Sentences::VPs::switch_dl_mode(PN->down, sense);
-        Sentences::VPs::switch_dl_mode(PN->down->next, sense);
-        return;
-    }
-    Sentences::VPs::set_aspect_from_text(Node::get_text(PN), sense);
-}
-
-

§13.

- -
-<include-in-debugging-sentence-subject> ::=
-    only <debugging-log-request> |  ==> { R[1] | ONLY_DLR, RP[1] }
-    <debugging-log-request>         ==> { pass 1 }
-
-<debugging-log-request> ::=
-    everything |                    ==> { EVERYTHING_DLR, NULL }
-    nothing |                       ==> { NOTHING_DLR, NULL }
-    <preform-nonterminal> |         ==> { PREFORM_DLR, RP[1] }
-    ...                             ==> { SOMETHING_DLR, NULL }
-void Sentences::VPs::set_aspect_from_text(wording W, int new_state) {
-    LOGIF(DEBUGGING_LOG_INCLUSIONS, "Set contents of debugging log: %W -> %s\n",
-        W, new_state?"TRUE":"FALSE");
-
-    See if this is a compound request for debugging information13.1;
-
-    Problems::quote_source(1, current_sentence);
-    Problems::quote_wording(2, W);
-    StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_UnknownDA));
-    Problems::issue_problem_segment(
-        "In the sentence %1, you asked to include '%2' in the "
-        "debugging log, but there is no such debugging log topic.");
-    Problems::issue_problem_end();
-}
-
- -

§13.1. Requests can be divided as "R and S" (and can even use the serial comma), -and we also understand "only R" and "everything" and "nothing". -

- -
define ONLY_DLR 1
-define EVERYTHING_DLR 2
-define NOTHING_DLR 4
-define SOMETHING_DLR 8
-define PREFORM_DLR 16
-
-

See if this is a compound request for debugging information13.1 = -

- -
-    <include-in-debugging-sentence-subject>(W);
-    if (<<r>> & ONLY_DLR) Log::set_all_aspects(1-new_state);
-    if (<<r>> & EVERYTHING_DLR) { Log::set_all_aspects(new_state); return; }
-    if (<<r>> & NOTHING_DLR) { Log::set_all_aspects(1-new_state); return; }
-    if (<<r>> & SOMETHING_DLR) {
-        wording RQW = GET_RW(<debugging-log-request>, 1);
-        See if this is a simple request for debugging information13.1.1;
-    }
-    if (<<r>> & PREFORM_DLR) { Instrumentation::watch(<<rp>>, new_state); return; }
-
-
  • This code is used in §13.
-

§13.1.1. Otherwise a request must be the name of a single debugging aspect. -

- -

See if this is a simple request for debugging information13.1.1 = -

- -
-    TEMPORARY_TEXT(req)
-    LOOP_THROUGH_WORDING(j, RQW) {
-        WRITE_TO(req, "%N", j);
-        if (j<Wordings::last_wn(RQW)) WRITE_TO(req, " ");
-    }
-    int rv = Log::set_aspect_from_command_line(req, FALSE);
-    DISCARD_TEXT(req)
-    if (rv) return;
-
- -

§14. Here, then, is one of Inform's largest grammars, <nonstructural-sentence>. -

- -

It's large because of the many exceptional, ad-hoc-looking syntaxes, and at -first sight those seem unnecessary: why not simply define more built-in verbs -and relations, and handle them as regular sentences? The answer to this is that -they have an irregular structure to them. Consider: -

- -
-

Trampling is an action applying to nothing.

-
- -

This doesn't conform to the pattern of a verb plus a subject and object -noun phrase, each of which refers to some value. -

- -

An arguably inconsistent feature of the design of Inform is that some of these -sentences take the imperative mood: -

- -
-

Release along with the solution.

-
- -

rather than the indicative ("The ball is in the box") which is otherwise -used for all Inform sentences other than rule definitions. Sometimes I think -this is a mistake, sometimes a virtue. In the case of "Release along", for -instance, we're telling the computer to do something, rather than telling -the computer about something — which seems a worthwhile distinction. In the -case of "Understand X as Y", though, it could be argued that an indicative -use of "X means Y" would work better. (It was actually Andrew Plotkin's -suggestion that we use "Understand", and it stuck.) At any rate, it's too -late now, and I ask translators into natural languages to follow the same -pattern: use imperatives if the English does, and use indicatives otherwise. -

- -

Note also that "Index map with..." is an imperative, with the verb being -"to index", that is, it's an instruction to make a map; "index map" is -not a noun phrase here. -

- -

The ordering of the sentences in this nonterminal is important. A few notes: -

- -
  • (a) We check Unicode translations first of all, because we haven't any control -over the wording of character names in the Unicode standard. Among the 12,997 -definitions used in the Unicode Full Character Names extension are such choice -examples as "downwards arrow from bar", "arabic hamza above", "kangxi -radical use" and so forth, and we don't want to misread "from", "above", -"use", and so on, as prepositions or verbs: in sentences like this one -they are nouns. -
  • (b) Any sentence form with "is" or "has" in it must be checked before -regular sentences are checked: "X is an action...", for instance, is -otherwise easily mistaken for a regular assertion. -
  • (c) We could conceivably have implemented "action" and "activity" as -pseudo-kinds, and thus handled sentences like these through ordinary -assertions, but it would have been a lot of fuss. So we do it the -simple-minded way. -
  • (d) Note that activity declarations always simply end "is an activity.", -thus having nothing interesting by way of an object noun phrase, whereas -action declarations continue with usually extensive further text: -"... is an action applying to two visible things.", say. -
-
-<nonstructural-sentence> ::=
-    <sentence-without-occurrences>								==> Construct NSS subtree for regular sentence14.1
-
- -

§14.1. Construct NSS subtree for regular sentence14.1 = -

- -
-    parse_node *VP_PN = RP[1];
-    if (Annotations::read_int(VP_PN, linguistic_error_here_ANNOT) == TwoLikelihoods_LINERROR)
-        Issue two likelihoods problem14.1.1;
-    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())) {
-        LOG("$T\n", nss_tree_head); STREAM_FLUSH(DL);
-    }
-    ==> { 0, - };
-
-
  • This code is used in §14.
-

§14.1.1. Issue two likelihoods problem14.1.1 = -

- -
-    StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_TwoLikelihoods),
-        "this sentence seems to have a likelihood qualification on both "
-        "sides of the verb",
-        "which is not allowed. 'The black door certainly is usually open' "
-        "might possibly be grammatical English in some idioms, but Inform "
-        "doesn't like a sentence in this shape because the 'certainly' "
-        "on one side of the verb and the 'usually' on the other are "
-        "rival indications of certainty.");
-
- -

§15. In all other cases it's routine to construct the subtree, which typically -gives the sentence node three children: verb phrase, subject noun phrase, -object noun phrase. -

- -
-    SENTENCE_NT "Railway Departure begins when the player is in the train"
-        VERB_NT "begins when"
-        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;
-}
-
-

§16. 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 -particular form: for instance <nounphrase-figure> matches any text ending -in the word "figure". -

- -

<nounphrase-actionable> is an awkward necessity, designed to prevent the -regular sentence -

- -
-

The impulse is an action name that varies.

-
- -

from being parsed as an instance of "... is an action ...", creating a -new action. -

- -
-<nounphrase-figure> ::=
-    figure ...							==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
-
-<nounphrase-sound> ::=
-    sound ...							==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
-
-<nounphrase-external-file> ::=
-    <external-file-sentence-subject>    ==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
-
-<nounphrase-actionable> ::=
-    ^<variable-creation-tail>			==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
-
-<variable-creation-tail> ::=
-    *** that/which vary/varies |
-    *** variable
-
- -

§17. "I6" and "Inform 6" are synonymous here. -

- -
-<translation-target-unicode> ::=
-    unicode								==> { TRUE, NULL }
-
-<translation-target-i6> ::=
-    i6 |                                ==> { TRUE, NULL }
-    inform 6							==> { TRUE, NULL }
-
-<translation-target-language> ::=
-    <natural-language>					==> { TRUE, RP[1] }
-
- -

§18.

- -
-int Sentences::VPs::translates_into_unicode_as_SMF(int task, parse_node *V, wording *NPs) {
-    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
-    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
-    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);
-                V->next->next = <<rp>>;
-                return TRUE;
-            }
-            break;
-        case TRAVERSE2_SMFT:
-            UnicodeTranslations::unicode_translates(V);
-            break;
-    }
-    return FALSE;
-}
-
-int Sentences::VPs::translates_into_I6_as_SMF(int task, parse_node *V, wording *NPs) {
-    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
-    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    wording O2W = (NPs)?(NPs[2]):EMPTY_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);
-                V->next->next = <<rp>>;
-                return TRUE;
-            }
-            break;
-        case TRAVERSE1_SMFT:
-        case TRAVERSE2_SMFT:
-            IdentifierTranslations::as(V);
-            break;
-    }
-    return FALSE;
-}
-
-int Sentences::VPs::translates_into_language_as_SMF(int task, parse_node *V, wording *NPs) {
-    wording SW = (NPs)?(NPs[0]):EMPTY_WORDING;
-    wording OW = (NPs)?(NPs[1]):EMPTY_WORDING;
-    wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING;
-    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>>;
-                <np-articled>(OW);
-                V->next->next = <<rp>>;
-                Node::set_defn_language(V->next->next, nl);
-                return TRUE;
-            }
-            break;
-        case TRAVERSE1_SMFT:
-            UseNouns::nl_translates(V);
-            break;
-    }
-    return FALSE;
-}
-
-

§19. This final case never matches a legal sentence: it simply hoovers up -usages of past tense assertion verbs in order to give them a better -Problem message than the one they will otherwise receive later on. -

- -
-<bad-nonstructural-sentence-diagnosis> ::=
-    ... <bad-nonstructural-sentence-diagnosis-tail>
-
-<bad-nonstructural-sentence-diagnosis-tail> ::=
-    <relative-clause-marker> <certainty> <meaningful-nonimperative-verb> ... |    ==> { advance Wordings::delta(WR[1], W) }
-    <relative-clause-marker> <meaningful-nonimperative-verb> ... |    ==> { advance Wordings::delta(WR[1], W) }
-    <past-tense-verb> ... |    ==> Issue PM_NonPresentTense problem19.1
-    <negated-verb> ...																	==> Issue PM_NegatedVerb1 problem19.2
-
- -

§19.1. Issue PM_NonPresentTense problem19.1 = -

- -
-    if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) {
-        Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE);
-        StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_NonPresentTense),
-            "assertions about the initial state of play must be given in the "
-            "present tense",
-            "so 'The cat is in the basket' is fine but not 'The cat has been in "
-            "the basket'. Time is presumed to start only when the game begins, so "
-            "there is no anterior state which we can speak of.");
-    }
-
-
  • This code is used in §19.
-

§19.2. This catches sentences like "Timothy does not carry the ring". -

- -

Issue PM_NegatedVerb1 problem19.2 = -

- -
-    if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) {
-        Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE);
-        StandardProblems::negative_sentence_problem(Task::syntax_tree(), _p_(PM_NegatedVerb1));
-    }
-
-
  • This code is used in §19.
-

§20. Logging verb numbers.

- -
-void Sentences::VPs::log(int verb_number) {
-    switch(verb_number) {
-        case ASSERT_VB: LOG("ASSERT_VB"); break;
-        case SPECIAL_MEANING_VB: LOG("SPECIAL_MEANING_VB"); break;
-        default: LOG("(number %d)", verb_number); break;
-    }
-}
-
- - -
- - - diff --git a/docs/core-module/7-oaf.html b/docs/core-module/7-oaf.html index acc4eb535..e6d39809e 100644 --- a/docs/core-module/7-oaf.html +++ b/docs/core-module/7-oaf.html @@ -166,7 +166,7 @@ roof, since it might need to recurse thousands of function calls deep.

-void Sentences::Rearrangement::check_sentence_for_direction_creation(parse_node *pn) {
+void Sentences::Rearrangement::check_sentence_for_direction_creation(parse_node *pn) {
     #ifdef IF_MODULE
     if (Node::get_type(pn) != SENTENCE_NT) return;
     if ((pn->down == NULL) || (pn->down->next == NULL) || (pn->down->next->next == NULL)) return;
@@ -222,7 +222,7 @@ the new property.
 

-    if ((Annotations::read_int(pn, verb_id_ANNOT) == ASSERT_VB)
+    if ((Assertions::Traverse::special(pn) == FALSE)
         && (pn->next)
         && (pn->next->next)
         && (Assertions::Copular::possessive(pn->next->next))
@@ -393,18 +393,18 @@ 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 = Assertions::Traverse::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
-            Sentences::VPs::seek(pn);  ...in order to make a new one
+            Classifying::visit_extra_sentence(pn);  ...in order to make a new one
         }
     }
 }
 
diff --git a/docs/core-module/7-ptu.html b/docs/core-module/7-ptu.html index 658d25e0e..e0c1bf9fe 100644 --- a/docs/core-module/7-ptu.html +++ b/docs/core-module/7-ptu.html @@ -249,7 +249,6 @@ also makes it easier for us to manipulate the results. Annotations::allow_for_category(L2_NCAT, clears_pronouns_ANNOT); Annotations::allow_for_category(L2_NCAT, interpretation_of_subject_ANNOT); - Annotations::allow_for_category(L2_NCAT, sentence_unparsed_ANNOT); Annotations::allow_for_category(L2_NCAT, verb_problem_issued_ANNOT); Annotations::allow(RULE_NT, indentation_level_ANNOT); Annotations::allow(SENTENCE_NT, implicit_in_creation_of_ANNOT); @@ -268,11 +267,8 @@ also makes it easier for us to manipulate the results. Annotations::allow(ADJECTIVE_NT, aph_ANNOT); 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); + Annotations::allow(VERB_NT, rule_placement_sense_ANNOT); Annotations::allow(COMMON_NOUN_NT, action_meaning_ANNOT); Annotations::allow(COMMON_NOUN_NT, creation_site_ANNOT); Annotations::allow(COMMON_NOUN_NT, multiplicity_ANNOT); @@ -283,7 +279,6 @@ also makes it easier for us to manipulate the results. Annotations::allow(PROPER_NOUN_NT, creation_site_ANNOT); Annotations::allow(UNPARSED_NOUN_NT, defn_language_ANNOT); Annotations::allow(PROPER_NOUN_NT, defn_language_ANNOT); - Annotations::allow(PROPER_NOUN_NT, log_inclusion_sense_ANNOT); Annotations::allow(PROPER_NOUN_NT, lpe_options_ANNOT); Annotations::allow(PROPER_NOUN_NT, multiplicity_ANNOT); Annotations::allow(PROPER_NOUN_NT, negated_boolean_ANNOT); @@ -316,10 +311,7 @@ also makes it easier for us to manipulate the results. Annotations::allow_for_category(L4_NCAT, verb_problem_issued_ANNOT); Annotations::allow_for_category(L4_NCAT, problem_falls_under_ANNOT); Annotations::allow_for_category(L4_NCAT, module_ANNOT); - Annotations::allow(CODE_BLOCK_NT, sentence_unparsed_ANNOT); Annotations::allow(INVOCATION_LIST_NT, from_text_substitution_ANNOT); - Annotations::allow(INVOCATION_LIST_NT, sentence_unparsed_ANNOT); - Annotations::allow(INVOCATION_LIST_SAY_NT, sentence_unparsed_ANNOT); Annotations::allow(INVOCATION_LIST_SAY_NT, suppress_newlines_ANNOT); Annotations::allow(INVOCATION_NT, epistemological_status_ANNOT); Annotations::allow(INVOCATION_NT, kind_resulting_ANNOT); @@ -530,9 +522,6 @@ be such that their head nodes each pass this test: 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: @@ -570,12 +559,8 @@ be such that their head nodes each pass this test: VerifyTree::verify_structure(Task::syntax_tree()); }
-

§16.

- -
define PARSE_TREE_TRAVERSE_TYPE instance
-
diff --git a/docs/core-module/7-rs.html b/docs/core-module/7-rs.html index f24027230..9059430eb 100644 --- a/docs/core-module/7-rs.html +++ b/docs/core-module/7-rs.html @@ -1612,7 +1612,7 @@ match a given begin node. } diff --git a/docs/core-module/8-ef.html b/docs/core-module/8-ef.html index 925958d4b..11a851c98 100644 --- a/docs/core-module/8-ef.html +++ b/docs/core-module/8-ef.html @@ -633,7 +633,7 @@ we might in future. { ENDHERE_NT, -1, 0, Extensions::Files::handle_extension_ends }; void Extensions::Files::handle_extension_begins(parse_node *PN) { - Assertions::Traverse::new_discussion(); near_start_of_extension = 1; + Assertions::Traverse::new_discussion(); near_start_of_extension = 1; } void Extensions::Files::handle_extension_ends(parse_node *PN) { @@ -641,7 +641,7 @@ we might in future. } diff --git a/docs/core-module/9-ass.html b/docs/core-module/9-ass.html index f6c9606db..a12574be2 100644 --- a/docs/core-module/9-ass.html +++ b/docs/core-module/9-ass.html @@ -124,7 +124,7 @@ generalisations which apply to it. CLASS_DEFINITION } generalisation; -
  • The structure generalisation is accessed in 3/pd, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/ns, 7/oaf, 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/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.
+
  • The structure generalisation is accessed in 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/oaf, 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/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.

§4. 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. struct application *next; } application; -

  • The structure application is accessed in 3/pd, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/ns, 7/oaf, 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/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.
+
  • The structure application is accessed in 3/dlr, 3/pr, 3/tr, 5/lp, 5/ut, 5/un, 5/ins, 6/rlt, 6/nv, 7/oaf, 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/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.

§5. These structures are combined in the following packet of data attached to each inference subject:

@@ -452,7 +452,6 @@ we actually do is to insert new sentences after the current one. 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); @@ -508,7 +507,7 @@ machinery is in infinite regress, e.g., because each \(K\) must contain an
  • This code is used in §14.
diff --git a/docs/core-module/9-imp.html b/docs/core-module/9-imp.html index 8df0a9c79..170239300 100644 --- a/docs/core-module/9-imp.html +++ b/docs/core-module/9-imp.html @@ -393,7 +393,7 @@ no better a certainty level.
  • This code is used in §7.1.
diff --git a/docs/core-module/9-ita.html b/docs/core-module/9-ita.html index 27ed1bcf1..43838621a 100644 --- a/docs/core-module/9-ita.html +++ b/docs/core-module/9-ita.html @@ -250,7 +250,7 @@ That story will be taken up in a later chapter.

diff --git a/docs/core-module/9-ma.html b/docs/core-module/9-ma.html index b7a4ab9fd..5f1aa7412 100644 --- a/docs/core-module/9-ma.html +++ b/docs/core-module/9-ma.html @@ -1942,7 +1942,7 @@ these sentences falls into case 41.

-    if (Assertions::Traverse::get_current_subject() == NULL) {
+    if (Assertions::Traverse::get_current_subject() == NULL) {
         Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NoMapOrigin),
             "no location is under discussion to be the origin of this map connection",
             "so this is like starting with 'North is the Aviary': I can't tell where from.");
@@ -1960,7 +1960,7 @@ these sentences falls into case 41.
                 "like saying '20 is north'. This is an odd thing "
                 "to say, and makes me think that I've misunderstood you.");
         } else {
-            PL::Map::connect(Assertions::Traverse::get_current_subject(), target, way);
+            PL::Map::connect(Assertions::Traverse::get_current_subject(), target, way);
         }
     }
 
@@ -2118,7 +2118,7 @@ yet during traverse 1.
     if (Rvalues::is_CONSTANT_construction(Node::get_evaluation(px), CON_property)) {
-        inference_subject *talking_about = Assertions::Traverse::get_current_subject();
+        inference_subject *talking_about = Assertions::Traverse::get_current_subject();
         if (talking_about == NULL)
             Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NothingDiscussed),
                 "nothing is under discussion which might have this property",
@@ -2403,7 +2403,7 @@ can also be used adjectivally.
 }
 
diff --git a/docs/core-module/9-pd.html b/docs/core-module/9-pd.html index fc028f34c..52cc22604 100644 --- a/docs/core-module/9-pd.html +++ b/docs/core-module/9-pd.html @@ -91,7 +91,6 @@ Y or Z...". 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>>; @@ -114,7 +113,6 @@ Y or Z...". 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); @@ -872,7 +870,7 @@ several property names, e.g., in
  • This code is used in §7.1.
diff --git a/docs/core-module/9-pk.html b/docs/core-module/9-pk.html index 9349fdf56..36be8a13e 100644 --- a/docs/core-module/9-pk.html +++ b/docs/core-module/9-pk.html @@ -397,7 +397,7 @@ the proposition machinery.
  • This code is used in §4.
diff --git a/docs/core-module/9-rk.html b/docs/core-module/9-rk.html index 4f5851ac2..b1655efdd 100644 --- a/docs/core-module/9-rk.html +++ b/docs/core-module/9-rk.html @@ -300,7 +300,7 @@ that subtrees \(T_X\) and \(T_Y\), where \(T_X\) is a single value or object and
  • This code is used in §3.
diff --git a/docs/core-module/9-rpt.html b/docs/core-module/9-rpt.html index eb1438744..c46d39b10 100644 --- a/docs/core-module/9-rpt.html +++ b/docs/core-module/9-rpt.html @@ -481,14 +481,14 @@ inference subject representing the domain to which any new kind would belong. } Node::set_type(p, PROPER_NOUN_NT); if ((Stock::usage_might_be_singular(pro->usage) == FALSE) && - (Assertions::Traverse::get_current_subject_plurality())) { + (Assertions::Traverse::get_current_subject_plurality())) { StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_EnigmaticThey), "I'm unable to handle 'they' here", "since it looks as if it needs to refer to more than one " "object here, and that's something I can't manage."); return; } - inference_subject *referent = Assertions::Traverse::get_current_object(); + inference_subject *referent = Assertions::Traverse::get_current_object(); if (referent) Assertions::Refiner::noun_from_infs(p, referent); else { StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_EnigmaticPronoun), @@ -1134,7 +1134,7 @@ can set up aliases of variable names to constants like this. } diff --git a/docs/core-module/9-tbath.html b/docs/core-module/9-tbath.html index a822c44ce..aea0daf24 100644 --- a/docs/core-module/9-tbath.html +++ b/docs/core-module/9-tbath.html @@ -104,16 +104,14 @@ relationship as well as the noun).

-sentence_handler ASSERT_SH_handler = { SENTENCE_NT, ASSERT_VB, 0, Assertions::Copular::assertion };
-
-void Assertions::Copular::assertion(parse_node *pv) {
+void Assertions::Copular::assertion(parse_node *pv) {
     if (Assertions::Copular::possessive(pv->down->next->next))
         Assertions::Copular::to_have(pv);
     else
         Assertions::Copular::to_be(pv->down->next, pv->down->next->next);
 }
 
-int Assertions::Copular::possessive(parse_node *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))
@@ -121,7 +119,7 @@ relationship as well as the noun).
     return FALSE;
 }
 
-void Assertions::Copular::to_be(parse_node *px, parse_node *py) {
+void Assertions::Copular::to_be(parse_node *px, parse_node *py) {
     if ((Wordings::length(Node::get_text(px)) > 1)
         && (Vocabulary::test_flags(
             Wordings::first_wn(Node::get_text(px)), TEXT_MC+TEXTWITHSUBS_MC))) {
@@ -155,7 +153,7 @@ called in traverse 2, when there are no uses of "to have" left in the tree.
 

-void Assertions::Copular::to_have(parse_node *pv) {
+void Assertions::Copular::to_have(parse_node *pv) {
     parse_node *px = pv->down->next;
     parse_node *py = pv->down->next->next->down;
 
@@ -285,7 +283,7 @@ the massive Assertions::Maker
 

-void Assertions::Copular::make_assertion(parse_node *px, parse_node *py) {
+void Assertions::Copular::make_assertion(parse_node *px, parse_node *py) {
     if (traverse == 1) {
         int pc = problem_count;
         if (!(<np-existential>(Node::get_text(px))))
@@ -331,16 +329,16 @@ conclusion we would have reached.
     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();
+    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();
+        Assertions::Traverse::new_discussion();
 
  • This code is used in §5.

§6.

-inference_subject *Assertions::Copular::discussed_at_node(parse_node *pn) {
+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) &&
@@ -355,7 +353,7 @@ conclusion we would have reached.
 

§7.

-void Assertions::Copular::make_existential_assertion(parse_node *py) {
+void Assertions::Copular::make_existential_assertion(parse_node *py) {
     if (Node::get_type(py) == WITH_NT) {
         Assertions::Copular::make_existential_assertion(py->down); return;
     }
@@ -376,7 +374,7 @@ conclusion we would have reached.
 }
 
diff --git a/docs/core-module/9-tc.html b/docs/core-module/9-tc.html index c894b4bda..a422ec131 100644 --- a/docs/core-module/9-tc.html +++ b/docs/core-module/9-tc.html @@ -67,7 +67,7 @@ function togglePopup(material_id) {

This is where all objects, kinds of object, named values, kinds of value and global variables are made.

-
+

§1. Creations to match unrecognised names. The model contains objects, their properties and their relationships, and this section is where all of the objects are created — not only world @@ -1393,7 +1393,7 @@ For example, property names can't be unsuitable, but they can be unfortunate.

-int Assertions::Creator::vet_name_for_noun(wording W) {
+int Assertions::Creator::vet_name_for_noun(wording W) {
     if (<unfortunate-name>(W)) {
         StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_NameBestAvoided),
             "this is a name which is best avoided",
@@ -1406,8 +1406,28 @@ For example, property names can't be unsuitable, but they can be unfortunate.
     return TRUE;
 }
 
+

§12. The natural language kind. Inform has a kind built in called "natural language", whose values are +enumerated names: English language, French language, German language and so on. +When the kind is created, the following routine makes these instances. We do +this exactly as we would to create any other instance — we write a logical +proposition claiming its existence, then assert it to be true. +

+ +
define NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK Assertions::Creator::stock_nl_kind
+
+
+void Assertions::Creator::stock_nl_kind(kind *K) {
+    inform_language *L;
+    LOOP_OVER(L, inform_language) {
+        pcalc_prop *prop =
+            Calculus::Propositions::Abstract::to_create_something(K, L->instance_name);
+        Calculus::Propositions::Assert::assert_true(prop, CERTAIN_CE);
+        L->nl_instance = latest_instance;
+    }
+}
+
diff --git a/docs/core-module/9-tfa.html b/docs/core-module/9-tfa.html index 36be62f3f..eb5968011 100644 --- a/docs/core-module/9-tfa.html +++ b/docs/core-module/9-tfa.html @@ -67,7 +67,7 @@ function togglePopup(material_id) {

To manage the overall process of traversing the parse tree for assertion sentences.

-
+

§1. Definitions.

@@ -101,6 +101,7 @@ exception to Inform's normal rules.) enum TRAVERSE_FOR_MAP1_SMFT enum TRAVERSE_FOR_MAP2_SMFT enum TRAVERSE_FOR_MAP_INDEX_SMFT +enum ALLOW_IN_OPTIONS_FILE_SMFT
 int traverse;  always 1 or 2
@@ -142,7 +143,6 @@ or even both).
 
 sentence_handler *how_to_handle_nodes[MAX_OF_NTS_AND_VBS];  for non-SENTENCE_NT nodes
-sentence_handler *how_to_handle_sentences[MAX_OF_NTS_AND_VBS];  for SENTENCE_NT nodes
 

§5. We recognise either node types *_NT, or node type SENTENCE_NT plus an associated verb number *_VB. The following macro registers a sentence handler @@ -151,9 +151,6 @@ by entering a pointer to it into one of the above tables:

define REGISTER_SENTENCE_HANDLER(sh_name) {
     sentence_handler *the_sh = &sh_name##_handler;
-    if ((the_sh->sentence_node_type == SENTENCE_NT) && (the_sh->verb_type != -1))
-        how_to_handle_sentences[the_sh->verb_type] = the_sh;
-    else
         how_to_handle_nodes[the_sh->sentence_node_type - ENUMERATED_NT_BASE] = the_sh;
 }
 
@@ -186,7 +183,7 @@ we don't bother to print details of the closing Assertions::Traverse::traverse(2); } void Assertions::Traverse::traverse(int pass) { - Assertions::Traverse::new_discussion(); clear memory of what the subject and object of discussion are + Assertions::Traverse::new_discussion(); clear memory of what the subject and object of discussion are traverse = pass; SyntaxTree::clear_trace(Task::syntax_tree()); @@ -277,10 +274,7 @@ handlers until right at the end of the program. The routine which does so,

-    for (int i=0; i<MAX_OF_NTS_AND_VBS; i++) {
-        how_to_handle_nodes[i] = NULL;
-        how_to_handle_sentences[i] = NULL;
-    }
+    for (int i=0; i<MAX_OF_NTS_AND_VBS; i++) how_to_handle_nodes[i] = NULL;
 
  • This code is used in §7.3.

§7.2.1. Take a sceptical look at WITH nodes in the light of subsequent knowledge7.2.1 = @@ -377,6 +371,11 @@ refers on to other sentence handlers accordingly: sentence_handler SENTENCE_SH_handler = { SENTENCE_NT, -1, 0, Assertions::Traverse::handle_sentence_with_primary_verb }; +int Assertions::Traverse::special(parse_node *p) { + if (Node::get_special_meaning(p)) return TRUE; + return FALSE; +} + void Assertions::Traverse::handle_sentence_with_primary_verb(parse_node *p) { prevailing_mood = UNKNOWN_CE; if (Annotations::read_int(p, language_element_ANNOT)) return; @@ -385,7 +384,7 @@ refers on to other sentence handlers accordingly: if (p->down == NULL) Handle a sentence with no primary verb9.1; internal_error_if_node_type_wrong(Task::syntax_tree(), p->down, VERB_NT); prevailing_mood = Annotations::read_int(p->down, verbal_certainty_ANNOT); - Issue problem message if either subject or object contains mismatched brackets9.3; + Issue problem message if either subject or object contains mismatched brackets9.4; Act on the primary verb in the sentence9.2; }

@@ -399,13 +398,11 @@ other eventualities we must produce a "no such sentence" problem.

-    if ((Wordings::length(Node::get_text(p)) == 1) &&
-        (Vocabulary::test_flags(Wordings::first_wn(Node::get_text(p)), TEXT_MC+TEXTWITHSUBS_MC))) {
-        if (traverse == 2) Assertions::Traverse::set_appearance(Wordings::first_wn(Node::get_text(p)));
+    if (Classifying::sentence_is_textual(p)) {
+        if (traverse == 2) Assertions::Traverse::set_appearance(Wordings::first_wn(Node::get_text(p)));
         return;
     }
-    <no-verb-diagnosis>(Node::get_text(p));
-    return;
+    internal_error("sentence unclassified");
 
  • This code is used in §9.

§9.2. We now use the other sentence-handler table, with almost the same code as @@ -418,20 +415,11 @@ nothing on either traverse, of course.

-    int vn = Annotations::read_int(p->down, verb_id_ANNOT);
-    if ((vn < 0) || (vn >= MAX_OF_NTS_AND_VBS)) {
-        LOG("Unimplemented verb %d\n", Annotations::read_int(p->down, verb_id_ANNOT));
-        internal_error_on_node_type(p->down);
-    }
-    if (how_to_handle_sentences[vn]) {
-        int desired = how_to_handle_sentences[vn]->handle_on_traverse;
-        if (((traverse == desired) || (desired == 0)) &&
-            (how_to_handle_sentences[vn]->handling_routine))
-            (*(how_to_handle_sentences[vn]->handling_routine))(p);
-    }
+    if (Assertions::Traverse::special(p->down)) Assertions::Traverse::special_meaning(p);
+    else Assertions::Copular::assertion(p);
 
  • This code is used in §9.
-

§10. During early beta-testing, the problem message for "I can't find a verb" +

§9.3. During early beta-testing, the problem message for "I can't find a verb" split into cases. Inform is quite sensitive to punctuation errors as between comma, paragraph break and semicolon, and this is where that sensitivity begins to bite. @@ -439,74 +427,13 @@ to bite.

 <no-verb-diagnosis> ::=
-    before/every/after/when/instead/check/carry/report ... | ==> Issue PM_RuleWithoutColon problem10.1
-    if ... |												 ==> Issue PM_IfOutsidePhrase problem10.2
-    ... , ... |												 ==> Issue PM_NoSuchVerbComma problem10.3
-    ...														 ==> Issue PM_NoSuchVerb problem10.4
 
-

§10.1. Issue PM_RuleWithoutColon problem10.1 = -

- -
-    StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_RuleWithoutColon),
-        "I can't find a verb that I know how to deal with, so can't do anything "
-        "with this sentence. It looks as if it might be a rule definition",
-        "but if so then it is lacking the necessary colon (or comma). "
-        "The punctuation style for rules is 'Rule conditions: do this; "
-        "do that; do some more.' Perhaps you used a full stop instead "
-        "of the colon?");
-
-
  • This code is used in §10.
-

§10.2. Issue PM_IfOutsidePhrase problem10.2 = -

- -
-    StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_IfOutsidePhrase),
-        "I can't find a verb that I know how to deal with. This looks like an 'if' "
-        "phrase which has slipped its moorings",
-        "so I am ignoring it. ('If' phrases, like all other such "
-        "instructions, belong inside definitions of rules or phrases - "
-        "not as sentences which have no context. Maybe a full stop or a "
-        "skipped line was accidentally used instead of semicolon, so that you "
-        "inadvertently ended the last rule early?)");
-
-
  • This code is used in §10.
-

§10.3. Issue PM_NoSuchVerbComma problem10.3 = -

- -
-    Problems::quote_source(1, current_sentence);
-    StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerbComma));
-    Problems::issue_problem_segment(
-        "In the sentence %1, I can't find a verb that I know how to deal with. "
-        "(I notice there's a comma here, which is sometimes used to abbreviate "
-        "rules which would normally be written with a colon - for instance, "
-        "'Before taking: say \"You draw breath.\"' can be abbreviated to 'Before "
-        "taking, say...' - but that's only allowed for Before, Instead and "
-        "After rules. I mention all this in case you meant this sentence "
-        "as a rule in some rulebook, but used a comma where there should "
-        "have been a colon ':'?)");
-    Problems::issue_problem_end();
-
-
  • This code is used in §10.
-

§10.4. Issue PM_NoSuchVerb problem10.4 = -

- -
-    LOG("$T\n", current_sentence);
-    Problems::quote_source(1, current_sentence);
-    StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerb));
-    Problems::issue_problem_segment(
-        "In the sentence %1, I can't find a verb that I know how to deal with.");
-    Problems::issue_problem_end();
-
-
  • This code is used in §10.
-

§9.3. Inform source text does not make much use of parentheses to group subexpressions, +

§9.4. Inform source text does not make much use of parentheses to group subexpressions, but the ability does exist, and we defend it a little here:

-

Issue problem message if either subject or object contains mismatched brackets9.3 = +

Issue problem message if either subject or object contains mismatched brackets9.4 =

@@ -535,7 +462,7 @@ but the ability does exist, and we defend it a little here:
     }
 
  • This code is used in §9.
-

§11. The "appearance" is not a property as such. When a quoted piece of text +

§10. The "appearance" is not a property as such. When a quoted piece of text is given as a whole sentence, it might be:

@@ -548,23 +475,23 @@ if near the top of an extension file.

-void Assertions::Traverse::set_appearance(int wn) {
-    if (near_start_of_extension >= 1) This is rubric or credit text for an extension11.1;
+void Assertions::Traverse::set_appearance(int wn) {
+    if (near_start_of_extension >= 1) This is rubric or credit text for an extension10.1;
 
-    inference_subject *infs = Assertions::Traverse::get_current_subject();
-    if (infs == NULL) Issue a problem for appearance without object11.2;
+    inference_subject *infs = Assertions::Traverse::get_current_subject();
+    if (infs == NULL) Issue a problem for appearance without object10.2;
 
     parse_node *spec = Rvalues::from_wording(Wordings::one_word(wn));
     Properties::Appearance::infer(infs, spec);
 }
 
-

§11.1. The variable near_start_of_extension is always 0 except at the start of +

§10.1. The variable near_start_of_extension is always 0 except at the start of an extension (immediately after the header line), when it is set to 1. The following increments it to 2 to allow for up to two quoted lines; the first is the rubric, the second the credit line.

-

This is rubric or credit text for an extension11.1 = +

This is rubric or credit text for an extension10.1 =

@@ -583,8 +510,8 @@ is the rubric, the second the credit line.
     }
     return;
 
-
  • This code is used in §11.
-

§11.2. Issue a problem for appearance without object11.2 = +

  • This code is used in §10.
+

§10.2. Issue a problem for appearance without object10.2 =

@@ -595,8 +522,8 @@ is the rubric, the second the credit line.
         "Sanctum is...')");
     return;
 
-
  • This code is used in §11.
-

§12. The current object and subject. Inform is deliberately minimal when allowing the use of pronouns which carry +

  • This code is used in §10.
+

§11. The current object and subject. Inform is deliberately minimal when allowing the use of pronouns which carry meanings from one sentence to another. It is unclear exactly how natural language does this, and while some theories are more persuasive than others, all seem vulnerable to odd cases that they get "wrong". It's therefore @@ -632,19 +559,19 @@ not to tangible things and kinds. inference_subject *object_of_sentences = NULL, *subject_of_sentences = NULL; int subject_seems_to_be_plural = FALSE; -inference_subject *Assertions::Traverse::get_current_subject(void) { +inference_subject *Assertions::Traverse::get_current_subject(void) { return subject_of_sentences; } -inference_subject *Assertions::Traverse::get_current_object(void) { +inference_subject *Assertions::Traverse::get_current_object(void) { return object_of_sentences; } -int Assertions::Traverse::get_current_subject_plurality(void) { +int Assertions::Traverse::get_current_subject_plurality(void) { return subject_seems_to_be_plural; }

-

§13. The routine Assertions::Traverse::new_discussion is called when we reach a +

§12. The routine Assertions::Traverse::new_discussion is called when we reach a heading or other barrier in the source text, to make clear that there has been a change of the topic discussed.

@@ -665,7 +592,7 @@ subject carried over from previous sentences.

-void Assertions::Traverse::new_discussion(void) {
+void Assertions::Traverse::new_discussion(void) {
     if (subject_of_sentences)
         LOGIF(PRONOUNS, "[Forgotten subject of sentences: $j]\n", subject_of_sentences);
     if (subject_of_sentences)
@@ -673,7 +600,7 @@ subject carried over from previous sentences.
     subject_of_sentences = NULL; object_of_sentences = NULL;
 }
 
-void Assertions::Traverse::change_discussion_topic(inference_subject *infsx,
+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;
     subject_seems_to_be_plural = FALSE;
@@ -699,33 +626,30 @@ subject carried over from previous sentences.
             object_of_sentences);
 }
 
-

§14. Occasionally we need to force the issue, though: +

§13. Occasionally we need to force the issue, though:

-void Assertions::Traverse::subject_of_discussion_a_list(void) {
+void Assertions::Traverse::subject_of_discussion_a_list(void) {
     subject_seems_to_be_plural = TRUE;
 }
 
-

§15.

+

§14.

-sentence_handler SPECIAL_MEANING_SH_handler =
-    { SENTENCE_NT, SPECIAL_MEANING_VB, 0, Assertions::Traverse::special_meaning };
-
-void Assertions::Traverse::special_meaning(parse_node *pn) {
-    Assertions::Traverse::try_special_meaning(traverse, pn->down);
+void Assertions::Traverse::special_meaning(parse_node *pn) {
+    Assertions::Traverse::try_special_meaning(traverse, pn->down);
 }
 
-void Assertions::Traverse::try_special_meaning(int task, parse_node *pn) {
-    if (Annotations::read_int(pn, verb_id_ANNOT) == SPECIAL_MEANING_VB) {
+void Assertions::Traverse::try_special_meaning(int task, parse_node *pn) {
+    if (Assertions::Traverse::special(pn)) {
         special_meaning_holder *sm = Node::get_special_meaning(pn);
         if (sm) SpecialMeanings::call(sm, task, pn, NULL);
     }
 }
 
diff --git a/docs/core-module/P-wtmd.html b/docs/core-module/P-wtmd.html index 7d1ec2db4..78559337f 100644 --- a/docs/core-module/P-wtmd.html +++ b/docs/core-module/P-wtmd.html @@ -83,7 +83,7 @@ same, quite vague, orders to follow, so co

diff --git a/docs/core-module/index.html b/docs/core-module/index.html index 2e9d5fff4..508b52c81 100644 --- a/docs/core-module/index.html +++ b/docs/core-module/index.html @@ -92,6 +92,11 @@ How To Compile
- The long production line on which products of Inform are built, one step at a time.

+
  • +

    + Core Preform - + To load, optimise and throw problem messages related to Preform syntax.

    +
  • Progress Percentages - @@ -132,14 +137,24 @@

    Reading source text as a stream of characters and dividing it up into words.

  • @@ -259,11 +274,6 @@ Headings
    - To keep track of the hierarchy of headings and subheadings found in the source text.

    -
  • -

    - Nonstructural Sentences - - To construct verb-phrase nodes in the parse tree.

    -
  • Of and From - @@ -1010,7 +1020,7 @@

  • Sentence Handler Registration - - This routine has to be placed close to the end of the code for boring compilation order reasons, not because it belongs here.

    + This function has to be placed close to the end of the code for boring compilation order reasons, not because it belongs here.

  • diff --git a/docs/if-module/2-bd.html b/docs/if-module/2-bd.html index efa5b02ab..3e2511311 100644 --- a/docs/if-module/2-bd.html +++ b/docs/if-module/2-bd.html @@ -256,7 +256,6 @@ which must match: 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>>); diff --git a/docs/if-module/2-ri.html b/docs/if-module/2-ri.html index 2ffe50964..4747d1442 100644 --- a/docs/if-module/2-ri.html +++ b/docs/if-module/2-ri.html @@ -190,10 +190,11 @@ optionally be marked "public" (they appear on any website about it) or 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; + case ALLOW_IN_OPTIONS_FILE_SMFT: + return TRUE; case TRAVERSE1_SMFT: PL::Bibliographic::Release::handle_release_declaration_inner(V->next); break; diff --git a/docs/if-module/3-em.html b/docs/if-module/3-em.html index c348b4e56..67ef08d0e 100644 --- a/docs/if-module/3-em.html +++ b/docs/if-module/3-em.html @@ -406,7 +406,6 @@ If all are null, then the global scope is used. 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; diff --git a/docs/if-module/3-scn.html b/docs/if-module/3-scn.html index bcf02cf9c..3e5141af5 100644 --- a/docs/if-module/3-scn.html +++ b/docs/if-module/3-scn.html @@ -406,7 +406,6 @@ begins when...". 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); @@ -434,7 +433,6 @@ two noun phrases and sometimes three. 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); diff --git a/docs/if-module/3-tnt.html b/docs/if-module/3-tnt.html index 5cfdff0e1..fab1a4807 100644 --- a/docs/if-module/3-tnt.html +++ b/docs/if-module/3-tnt.html @@ -67,7 +67,7 @@ function togglePopup(material_id) {

    Inform has a thicket of properties to do with names: not just the name itself, but whether it is a plural, a proper name, and so on. Here we look after these properties, and give them their initial states.

    -
    +

    §1. Definitions.

    @@ -621,6 +621,49 @@ capitalising and fixing "your" as needed. } } +

    §15. The adaptive person. The following is only relevant for the language of play, whose extension will +always be read in. That in turn is expected to contain a declaration like +this one: +

    + +
    +

    The adaptive text viewpoint of the French language is second person singular.

    +
    + +

    The following routine picks up on the result of this declaration. (We cache +this because we need access to it very quickly when parsing text substitutions.) +

    + +
    define ADAPTIVE_PERSON_LINGUISTICS_CALLBACK PL::Naming::adaptive_person
    +define ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK PL::Naming::adaptive_number
    +
    +
    +int PL::Naming::adaptive_person(inform_language *L) {
    +    int C = PL::Naming::adaptive_combination(L);
    +    if (C < 0) return -1;
    +    return C % NO_KNOWN_PERSONS;
    +}
    +
    +int PL::Naming::adaptive_number(inform_language *L) {
    +    int C = PL::Naming::adaptive_combination(L);
    +    if (C < 0) return -1;
    +    return C / NO_KNOWN_PERSONS;
    +}
    +
    +int PL::Naming::adaptive_combination(inform_language *L) {
    +    if (L->adaptive_person >= 0) return L->adaptive_person;
    +    if ((L->adaptive_person == -1) && (P_adaptive_text_viewpoint)) {
    +        instance *I = L->nl_instance;
    +        parse_node *val = World::Inferences::get_prop_state(
    +            Instances::as_subject(I), P_adaptive_text_viewpoint);
    +        if (Node::is(val, CONSTANT_NT)) {
    +            instance *V = Node::get_constant_instance(val);
    +            L->adaptive_person = Instances::get_numerical_value(V)-1;
    +        }
    +    }
    +    return L->adaptive_person;
    +}
    +
    diff --git a/docs/if-module/4-act.html b/docs/if-module/4-act.html index 8b9b341af..453623a3a 100644 --- a/docs/if-module/4-act.html +++ b/docs/if-module/4-act.html @@ -831,6 +831,16 @@ action patterns. For example, the Standard Rules define: }

    §25. This handles the special meaning "X is an action...". +<nounphrase-actionable> is an awkward necessity, designed to prevent the +regular sentence +

    + +
    +

    The impulse is an action name that varies.

    +
    + +

    from being parsed as an instance of "... is an action ...", creating a +new action.

    @@ -841,6 +851,13 @@ action patterns. For example, the Standard Rules define:
     <new-action-sentence-object-unarticled> ::=
         action <nounphrase-actionable> |    ==> { TRUE, RP[1] }
         action								==> Issue PM_BadActionDeclaration problem25.1
    +
    +<nounphrase-actionable> ::=
    +    ^<variable-creation-tail>			==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
    +
    +<variable-creation-tail> ::=
    +    *** that/which vary/varies |
    +    *** variable
     

    §25.1. Issue PM_BadActionDeclaration problem25.1 = @@ -864,7 +881,6 @@ action patterns. For example, the Standard Rules define: 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>>; diff --git a/docs/if-module/5-tfg.html b/docs/if-module/5-tfg.html index 06f5a1eca..f099f19d0 100644 --- a/docs/if-module/5-tfg.html +++ b/docs/if-module/5-tfg.html @@ -135,7 +135,6 @@ traverse. 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); diff --git a/docs/index-module/2-li.html b/docs/index-module/2-li.html index e416c4b53..f42a5fe71 100644 --- a/docs/index-module/2-li.html +++ b/docs/index-module/2-li.html @@ -305,7 +305,7 @@ on. (Sometimes these will also be listed separately with an adjectival sense.) "indefinite article", NULL); PreformUtilities::enter_lexicon(<definite-article>, MISCELLANEOUS_LEXE, "definite article", NULL); - PreformUtilities::enter_lexicon(<relative-clause-marker>, MISCELLANEOUS_LEXE, + PreformUtilities::enter_lexicon(<rc-marker>, MISCELLANEOUS_LEXE, "connective", "used to place a further condition on a description: like 'which' in " "'A which is B', or 'A which carries B', for instance."); diff --git a/docs/kinds-module/2-knd.html b/docs/kinds-module/2-knd.html index 2787a07c1..1b281d93a 100644 --- a/docs/kinds-module/2-knd.html +++ b/docs/kinds-module/2-knd.html @@ -314,7 +314,7 @@ Inform. Some standard kinds: kind *K_action_name = NULL; kind *K_equation = NULL; kind *K_grammatical_gender = NULL; -kind *K_inform_language = NULL; +kind *K_natural_language = NULL; kind *K_number = NULL; kind *K_object = NULL; kind *K_real_number = NULL; @@ -804,9 +804,9 @@ is the super-kind ("value", "thing"). if (<notable-linguistic-kinds>(W)) { Kinds::Constructors::mark_as_linguistic(K->construct); switch (<<r>>) { - case 0: K_inform_language = K; - #ifdef NATURAL_LANGUAGES_PRESENT - NaturalLanguages::stock_nl_kind(K); + case 0: K_natural_language = K; + #ifdef NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK + NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK(K); #endif break; case 1: K_grammatical_gender = K; break; diff --git a/docs/linguistics-module/1-dgr.html b/docs/linguistics-module/1-dgr.html index f396f6ebf..6e4bd5451 100644 --- a/docs/linguistics-module/1-dgr.html +++ b/docs/linguistics-module/1-dgr.html @@ -128,8 +128,7 @@ some new node types: MAKE_ANNOTATION_FUNCTIONS(special_meaning, special_meaning_holder) MAKE_ANNOTATION_FUNCTIONS(occurrence, time_period) -

    §3. The linguistic_error_here_ANNOT annotation is for any errors we find, -though at present there is just one: +

    §3. The linguistic_error_here_ANNOT annotation is for any errors we find:

    enum TwoLikelihoods_LINERROR from 1
    diff --git a/docs/linguistics-module/3-prp.html b/docs/linguistics-module/3-prp.html
    index c8a3746fc..d103e929a 100644
    --- a/docs/linguistics-module/3-prp.html
    +++ b/docs/linguistics-module/3-prp.html
    @@ -259,7 +259,7 @@ with a given "permitted verb".
     
     
     void Prepositions::mark_for_preform(void) {
    -    Nonterminals::flag_words_with(<relative-clause-marker>, PREPOSITION_MC);
    +    Nonterminals::flag_words_with(<rc-marker>, PREPOSITION_MC);
     }
     
     void Prepositions::preform_optimiser(void) {
    diff --git a/docs/linguistics-module/3-vu.html b/docs/linguistics-module/3-vu.html
    index 575a05c92..d9407abd8 100644
    --- a/docs/linguistics-module/3-vu.html
    +++ b/docs/linguistics-module/3-vu.html
    @@ -601,7 +601,7 @@ which has a meaning.
     

    -<meaningful-nonimperative-verb> internal ? {
    +<nonimperative-verb> internal ? {
         verb_usage *vu;
         LOOP_OVER_USAGES(vu) {
             verb *vi = VerbUsages::get_verb(vu);
    @@ -830,7 +830,7 @@ or "the verb to be able to see" use these.
     
     
     void VerbUsages::mark_as_verb(vocabulary_entry *ve) {
    -    NTI::mark_vocabulary(ve, <meaningful-nonimperative-verb>);
    +    NTI::mark_vocabulary(ve, <nonimperative-verb>);
         NTI::mark_vocabulary(ve, <copular-verb>);
         NTI::mark_vocabulary(ve, <negated-noncopular-verb-present>);
         NTI::mark_vocabulary(ve, <universal-verb>);
    @@ -839,7 +839,7 @@ or "the verb to be able to see" use these.
     }
     
     void VerbUsages::preform_optimiser(void) {
    -    NTI::first_word_in_match_must_have_my_NTI_bit(<meaningful-nonimperative-verb>);
    +    NTI::first_word_in_match_must_have_my_NTI_bit(<nonimperative-verb>);
         NTI::first_word_in_match_must_have_my_NTI_bit(<copular-verb>);
         NTI::first_word_in_match_must_have_my_NTI_bit(<negated-noncopular-verb-present>);
         NTI::first_word_in_match_must_have_my_NTI_bit(<universal-verb>);
    @@ -852,7 +852,9 @@ or "the verb to be able to see" use these.
     
     int VerbUsages::adaptive_person(NATURAL_LANGUAGE_WORDS_TYPE *X) {
         #ifdef ADAPTIVE_PERSON_LINGUISTICS_CALLBACK
    -    return ADAPTIVE_PERSON_LINGUISTICS_CALLBACK(X);
    +    int N = ADAPTIVE_PERSON_LINGUISTICS_CALLBACK(X);
    +    if (N >= 0) return N;
    +    return FIRST_PERSON;
         #endif
         #ifndef ADAPTIVE_PERSON_LINGUISTICS_CALLBACK
         return FIRST_PERSON;
    @@ -860,7 +862,9 @@ or "the verb to be able to see" use these.
     }
     int VerbUsages::adaptive_number(NATURAL_LANGUAGE_WORDS_TYPE *X) {
         #ifdef ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK
    -    return ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK(X);
    +    int N = ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK(X);
    +    if (N >= 0) return N;
    +    return PLURAL_NUMBER;
         #endif
         #ifndef ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK
         return PLURAL_NUMBER;
    diff --git a/docs/linguistics-module/4-vp.html b/docs/linguistics-module/4-vp.html
    index dc2f93d8b..4fe6de81a 100644
    --- a/docs/linguistics-module/4-vp.html
    +++ b/docs/linguistics-module/4-vp.html
    @@ -371,7 +371,7 @@ it read "Velma is a doer".
             if ((Lexer::word(pos) == CLOSEBRACKET_V) || (Lexer::word(pos) == CLOSEBRACE_V)) bl--;
             int i = pos - Wordings::first_wn(W);
             if (i >= VIABILITY_MAP_SIZE) break;
    -        if (NTI::test_vocabulary(Lexer::word(pos), <meaningful-nonimperative-verb>) == FALSE) {
    +        if (NTI::test_vocabulary(Lexer::word(pos), <nonimperative-verb>) == FALSE) {
                 viable[i] = 0;
             } else {
                 if (bl == 0) viable[i] = 1; else viable[i] = 2;
    @@ -863,11 +863,11 @@ little careful using this nonterminal.
     

    -<relative-clause-marker> ::=
    +<rc-marker> ::=
         which/who/that
     
     <pre-verb-rc-marker> ::=
    -    ... <relative-clause-marker>
    +    ... <rc-marker>
     

    §10. The following is used only in the reconstruction of existential sentences diff --git a/docs/linguistics-module/P-asd.html b/docs/linguistics-module/P-asd.html index 7af252222..27c320d90 100644 --- a/docs/linguistics-module/P-asd.html +++ b/docs/linguistics-module/P-asd.html @@ -74,7 +74,7 @@ nonterminal, and the trees displayed below were the result. For example:

    -linguistics-test: sentence failed to parse
    +linguistics-test: sentence has no primary verb
     (1) arfle barfle gloop
     
     SENTENCE_NT'arfle barfle gloop'
    diff --git a/docs/linguistics-test/1-dgr2.html b/docs/linguistics-test/1-dgr2.html
    index 0f5f63654..ef49d26d9 100644
    --- a/docs/linguistics-test/1-dgr2.html
    +++ b/docs/linguistics-test/1-dgr2.html
    @@ -112,12 +112,16 @@ further nodes, which we graft below the         wording W = Node::get_text(p);
             if (<sentence>(W)) {
                 parse_node *n = <<rp>>;
    -            if (Annotations::read_int(p, linguistic_error_here_ANNOT) == TwoLikelihoods_LINERROR)
    -                Errors::nowhere("sentence has two certainties");
    -            else
    -                SyntaxTree::graft(syntax_tree, n, p);
    +            switch (Annotations::read_int(p, linguistic_error_here_ANNOT)) {
    +                case TwoLikelihoods_LINERROR:
    +                    Errors::nowhere("sentence has two certainties");
    +                    break;
    +                default:
    +                    SyntaxTree::graft(syntax_tree, n, p);
    +                    break;
    +            }
             } else {
    -            Errors::nowhere("sentence failed to parse");
    +            Errors::nowhere("sentence has no primary verb");
             }
         }
     }
    diff --git a/docs/multimedia-module/2-ef.html b/docs/multimedia-module/2-ef.html
    index f02b88d85..9e3b53c00 100644
    --- a/docs/multimedia-module/2-ef.html
    +++ b/docs/multimedia-module/2-ef.html
    @@ -219,6 +219,9 @@ letters or digits, with the first being a letter.
     
     <new-file-sentence-object-unarticled> ::=
         called <np-unparsed>                                          ==> { TRUE, RP[1] }
    +
    +<nounphrase-external-file> ::=
    +    <external-file-sentence-subject>    ==> { 0, Diagrams::new_UNPARSED_NOUN(W) }
     

    §10.

    @@ -230,7 +233,6 @@ letters or digits, with the first being a letter. 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>>; diff --git a/docs/multimedia-module/2-fgr.html b/docs/multimedia-module/2-fgr.html index acb0030b4..c4ba3a1b2 100644 --- a/docs/multimedia-module/2-fgr.html +++ b/docs/multimedia-module/2-fgr.html @@ -155,6 +155,9 @@ within the application. <new-figure-sentence-object-unarticled> ::= file <np-unparsed> ==> { TRUE, RP[1] } + +<nounphrase-figure> ::= + figure ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) }

    §8.

    @@ -166,7 +169,6 @@ within the application. 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>>; diff --git a/docs/multimedia-module/2-se.html b/docs/multimedia-module/2-se.html index 8b2d35648..9b52dc466 100644 --- a/docs/multimedia-module/2-se.html +++ b/docs/multimedia-module/2-se.html @@ -146,6 +146,9 @@ within the application. <new-sound-sentence-object-unarticled> ::= file <np-unparsed> ==> { TRUE, RP[1] } + +<nounphrase-sound> ::= + sound ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) }

    §7.

    @@ -157,7 +160,6 @@ within the application. 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>>; diff --git a/docs/standard_rules/S-act.html b/docs/standard_rules/S-act.html index dd15a3e60..a7c84ad73 100644 --- a/docs/standard_rules/S-act.html +++ b/docs/standard_rules/S-act.html @@ -74,7 +74,7 @@ and we define: The standard issuing the response text rule is listed last in for issuing the response text. -The standard issuing the response text rule translates into I6 as +The standard issuing the response text rule translates into Inter as "STANDARD_RESPONSE_ISSUING_R".

    §3. Naming and listing. We start with a piece of unfinished business. The "printing the name" @@ -115,7 +115,7 @@ grouped together:

     Listing contents of something (documented at act_lc) is an activity.
     The standard contents listing rule is listed last in the for listing contents rulebook.
    -The standard contents listing rule translates into I6 as "STANDARD_CONTENTS_LISTING_R".
    +The standard contents listing rule translates into Inter as "STANDARD_CONTENTS_LISTING_R".
     Grouping together something (documented at act_gt) is an activity.
     

    §6. And such lists of names are formed up in turn into room descriptions. @@ -249,7 +249,7 @@ going after all.)

     The standard implicit taking rule is listed last in for implicitly taking.
     
    -The standard implicit taking rule translates into I6 as "STANDARD_IMPLICIT_TAKING_R" with
    +The standard implicit taking rule translates into Inter as "STANDARD_IMPLICIT_TAKING_R" with
         "(first taking [the noun])[command clarification break]" (A),
         "([the second noun] first taking [the noun])[command clarification break]" (B).
     
    @@ -269,12 +269,12 @@ several unconnected things happen in succession. The print final score rule is listed last in for printing the player's obituary. The display final status line rule is listed last in for printing the player's obituary. -The print obituary headline rule translates into I6 as "PRINT_OBITUARY_HEADLINE_R" +The print obituary headline rule translates into Inter as "PRINT_OBITUARY_HEADLINE_R" with " You have died " (A), " You have won " (B), " The End " (C). -The print final score rule translates into I6 as "PRINT_FINAL_SCORE_R". -The display final status line rule translates into I6 as "DISPLAY_FINAL_STATUS_LINE_R". +The print final score rule translates into Inter as "PRINT_FINAL_SCORE_R". +The display final status line rule translates into Inter as "DISPLAY_FINAL_STATUS_LINE_R".

    §16. There is one last question: the one which usually reads "Would you like to RESTART, RESTORE a saved game, or QUIT?", but which sometimes provides other @@ -294,10 +294,10 @@ references to them into a table.)

    -The immediately restart the VM rule translates into I6 as "IMMEDIATELY_RESTART_VM_R".
    -The immediately restore saved game rule translates into I6 as "IMMEDIATELY_RESTORE_SAVED_R".
    -The immediately quit rule translates into I6 as "IMMEDIATELY_QUIT_R".
    -The immediately undo rule translates into I6 as "IMMEDIATELY_UNDO_R" with
    +The immediately restart the VM rule translates into Inter as "IMMEDIATELY_RESTART_VM_R".
    +The immediately restore saved game rule translates into Inter as "IMMEDIATELY_RESTORE_SAVED_R".
    +The immediately quit rule translates into Inter as "IMMEDIATELY_QUIT_R".
    +The immediately undo rule translates into Inter as "IMMEDIATELY_UNDO_R" with
         "The use of 'undo' is forbidden in this story." (A),
         "You can't 'undo' what hasn't been done!" (B),
         "Your interpreter does not provide 'undo'. Sorry!" (C),
    @@ -321,7 +321,7 @@ implementation, so the latter is the last there, too.
     
     This is the print the final prompt rule: say "> [run paragraph on]" (A).
     
    -The read the final answer rule translates into I6 as "READ_FINAL_ANSWER_R".
    +The read the final answer rule translates into Inter as "READ_FINAL_ANSWER_R".
     

    §19. That clears away the underbrush and reduces us to two matching tasks: (i) to print the question, (ii) to parse the answer, given that we want to be diff --git a/docs/standard_rules/S-act2.html b/docs/standard_rules/S-act2.html index 1804e0157..494ca4c10 100644 --- a/docs/standard_rules/S-act2.html +++ b/docs/standard_rules/S-act2.html @@ -79,7 +79,7 @@ and subheadings used in the Actions page of the Index. Section 2 - Standard actions concerning the actor's possessions Taking inventory is an action applying to nothing. -The taking inventory action translates into I6 as "Inv". +The taking inventory action translates into Inter as "Inv". The specification of the taking inventory action is "Taking an inventory of one's immediate possessions: the things being carried, either directly or in @@ -126,7 +126,7 @@ since she died (at a grand old age and in mid-spring) in 2008.

     Taking is an action applying to one thing.
    -The taking action translates into I6 as "Take".
    +The taking action translates into Inter as "Take".
     
     The specification of the taking action is "The taking action is the only way
     an action in the Standard Rules can cause something to be carried by an actor.
    @@ -254,7 +254,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Removing it from is an action applying to two things.
    -The removing it from action translates into I6 as "Remove".
    +The removing it from action translates into Inter as "Remove".
     
     The specification of the removing it from action is "Removing is not really
     an action in its own right. Whereas there are many ways to put something down
    @@ -295,7 +295,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Dropping is an action applying to one thing.
    -The dropping action translates into I6 as "Drop".
    +The dropping action translates into Inter as "Drop".
     
     The specification of the dropping action is "Dropping is one of five actions
     by which an actor can get rid of something carried: the others are inserting
    @@ -386,7 +386,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Putting it on is an action applying to two things.
    -The putting it on action translates into I6 as "PutOn".
    +The putting it on action translates into Inter as "PutOn".
     
     The specification of the putting it on action is "By this action, an actor puts
     something he is holding on top of a supporter: for instance, putting an apple
    @@ -464,7 +464,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Inserting it into is an action applying to two things.
    -The inserting it into action translates into I6 as "Insert".
    +The inserting it into action translates into Inter as "Insert".
     
     The specification of the inserting it into action is "By this action, an actor puts
     something he is holding into a container: for instance, putting a coin into a
    @@ -551,7 +551,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Eating is an action applying to one thing.
    -The eating action translates into I6 as "Eat".
    +The eating action translates into Inter as "Eat".
     
     The specification of the eating action is "Eating is the only one of the
     built-in actions which can, in effect, destroy something: the carry out
    @@ -617,7 +617,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 3 - Standard actions which move the actor
     
     Going is an action applying to one visible thing.
    -The going action translates into I6 as "Go".
    +The going action translates into Inter as "Go".
     
     The specification of the going action is "This is the action which allows people
     to move from one room to another, using whatever map connections and doors are
    @@ -803,7 +803,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Entering is an action applying to one thing.
    -The entering action translates into I6 as "Enter".
    +The entering action translates into Inter as "Enter".
     
     The specification of the entering action is "Whereas the going action allows
     people to move from one location to another in the model world, the entering
    @@ -954,7 +954,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Exiting is an action applying to nothing.
    -The exiting action translates into I6 as "Exit".
    +The exiting action translates into Inter as "Exit".
     The exiting action has an object called the container exited from (matched as "from").
     
     The specification of the exiting action is "Whereas the going action allows
    @@ -1031,7 +1031,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Getting off is an action applying to one thing.
    -The getting off action translates into I6 as "GetOff".
    +The getting off action translates into Inter as "GetOff".
     
     The specification of the getting off action is "The getting off action is for
     actors who are currently on top of a supporter: perhaps standing on a platform,
    @@ -1078,7 +1078,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 4 - Standard actions concerning the actor's vision
     
     Looking is an action applying to nothing.
    -The looking action translates into I6 as "Look".
    +The looking action translates into Inter as "Look".
     
     The specification of the looking action is "The looking action describes the
     player's current room and any visible items, but is made more complicated
    @@ -1217,7 +1217,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Examining is an action applying to one visible thing and requiring light.
    -The examining action translates into I6 as "Examine".
    +The examining action translates into Inter as "Examine".
     
     The specification of the examining action is "The act of looking closely at
     something. Note that the noun could be either a direction or a thing, which
    @@ -1297,7 +1297,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Looking under is an action applying to one visible thing and requiring light.
    -The looking under action translates into I6 as "LookUnder".
    +The looking under action translates into Inter as "LookUnder".
     
     The specification of the looking under action is "The standard Inform world
     model does not have a concept of things being under other things, so this
    @@ -1333,7 +1333,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Searching is an action applying to one thing and requiring light.
    -The searching action translates into I6 as "Search".
    +The searching action translates into Inter as "Search".
     
     The specification of the searching action is "Searching looks at the contents
     of an open or transparent container, or at the items on top of a supporter.
    @@ -1397,7 +1397,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Consulting it about is an action applying to one thing and one topic.
    -The consulting it about action translates into I6 as "Consult".
    +The consulting it about action translates into Inter as "Consult".
     
     The specification of the consulting it about action is "Consulting is a very
     flexible and potentially powerful action, but only because it leaves almost
    @@ -1426,7 +1426,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 5 - Standard actions which change the state of things
     
     Locking it with is an action applying to one thing and one carried thing.
    -The locking it with action translates into I6 as "Lock".
    +The locking it with action translates into Inter as "Lock".
     
     The specification of the locking it with action is "Locking is the act of
     using an object such as a key to ensure that something such as a door or
    @@ -1512,7 +1512,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Unlocking it with is an action applying to one thing and one carried thing.
    -The unlocking it with action translates into I6 as "Unlock".
    +The unlocking it with action translates into Inter as "Unlock".
     
     The specification of the unlocking it with action is "Unlocking undoes the
     effect of locking, and renders the noun openable again provided that the
    @@ -1590,7 +1590,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Switching on is an action applying to one thing.
    -The switching on action translates into I6 as "SwitchOn".
    +The switching on action translates into Inter as "SwitchOn".
     
     The specification of the switching on action is "The switching on and switching
     off actions are for the simplest kind of machinery operation: they are for
    @@ -1636,7 +1636,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Switching off is an action applying to one thing.
    -The switching off action translates into I6 as "SwitchOff".
    +The switching off action translates into Inter as "SwitchOff".
     
     The specification of the switching off action is "The switching off and switching
     on actions are for the simplest kind of machinery operation: they are for
    @@ -1682,7 +1682,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Opening is an action applying to one thing.
    -The opening action translates into I6 as "Open".
    +The opening action translates into Inter as "Open".
     
     The specification of the opening action is "Opening makes something no longer
     a physical barrier. The action can be performed on any kind of thing which
    @@ -1768,7 +1768,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Closing is an action applying to one thing.
    -The closing action translates into I6 as "Close".
    +The closing action translates into Inter as "Close".
     
     The specification of the closing action is "Closing makes something into
     a physical barrier. The action can be performed on any kind of thing which
    @@ -1830,7 +1830,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Wearing is an action applying to one carried thing.
    -The wearing action translates into I6 as "Wear".
    +The wearing action translates into Inter as "Wear".
     
     The specification of the wearing action is "The Standard Rules give Inform
     only a simple model of clothing. A thing can be worn only if it has the
    @@ -1888,7 +1888,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Taking off is an action applying to one thing.
    -The taking off action translates into I6 as "Disrobe".
    +The taking off action translates into Inter as "Disrobe".
     
     Does the player mean taking off something worn: it is very likely.
     
    @@ -1944,7 +1944,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 6 - Standard actions concerning other people
     
     Giving it to is an action applying to one carried thing and one thing.
    -The giving it to action translates into I6 as "Give".
    +The giving it to action translates into Inter as "Give".
     
     The specification of the giving it to action is "This action is indexed by
     Inform under 'Actions concerning other people', but it could just as easily
    @@ -2027,7 +2027,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Showing it to is an action applying to one carried thing and one visible thing.
    -The showing it to action translates into I6 as "Show".
    +The showing it to action translates into Inter as "Show".
     
     The specification of the showing it to action is "Anyone can show anyone
     else something which they are carrying, but not some nearby piece of
    @@ -2069,7 +2069,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Waking is an action applying to one thing.
    -The waking action translates into I6 as "WakeOther".
    +The waking action translates into Inter as "WakeOther".
     
     The specification of the waking action is "This is the act of jostling
     a sleeping person to wake him or her up, and it finds its way into the
    @@ -2092,7 +2092,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Throwing it at is an action applying to one carried thing and one visible thing.
    -The throwing it at action translates into I6 as "ThrowAt".
    +The throwing it at action translates into Inter as "ThrowAt".
     
     The specification of the throwing it at action is "Throwing something at
     someone or something is difficult for Inform to model. So many considerations
    @@ -2143,7 +2143,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Attacking is an action applying to one thing.
    -The attacking action translates into I6 as "Attack".
    +The attacking action translates into Inter as "Attack".
     
     The specification of the attacking action is "Violence is seldom the answer,
     and attempts to attack another person are normally blocked as being unrealistic
    @@ -2166,7 +2166,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Kissing is an action applying to one thing.
    -The kissing action translates into I6 as "Kiss".
    +The kissing action translates into Inter as "Kiss".
     
     The specification of the kissing action is "Possibly because Inform was
     originally written by an Englishman, attempts at kissing another person are
    @@ -2193,7 +2193,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Answering it that is an action applying to one thing and one topic.
    -The answering it that action translates into I6 as "Answer".
    +The answering it that action translates into Inter as "Answer".
     
     The specification of the answering it that action is "The Standard Rules do
     not include any systematic way to handle conversation: instead, Inform is
    @@ -2230,7 +2230,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Telling it about is an action applying to one thing and one topic.
    -The telling it about action translates into I6 as "Tell".
    +The telling it about action translates into Inter as "Tell".
     
     The specification of the telling it about action is "The Standard Rules do
     not include any systematic way to handle conversation: instead, Inform is
    @@ -2273,7 +2273,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Asking it about is an action applying to one thing and one topic.
    -The asking it about action translates into I6 as "Ask".
    +The asking it about action translates into Inter as "Ask".
     
     The specification of the asking it about action is "The Standard Rules do
     not include any systematic way to handle conversation: instead, Inform is
    @@ -2309,7 +2309,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Asking it for is an action applying to two things.
    -The asking it for action translates into I6 as "AskFor".
    +The asking it for action translates into Inter as "AskFor".
     
     The specification of the asking it for action is "The Standard Rules do
     not include any systematic way to handle conversation, but this is
    @@ -2343,7 +2343,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 7 - Standard actions which are checked but then do nothing unless rules intervene
     
     Waiting is an action applying to nothing.
    -The waiting action translates into I6 as "Wait".
    +The waiting action translates into Inter as "Wait".
     
     The specification of the waiting action is "The inaction action: where would
     we be without waiting? Waiting does not cause time to pass by - that happens
    @@ -2371,7 +2371,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Touching is an action applying to one thing.
    -The touching action translates into I6 as "Touch".
    +The touching action translates into Inter as "Touch".
     
     The specification of the touching action is "Touching is just that, touching
     something without applying pressure: a touch-sensitive screen or a living
    @@ -2420,7 +2420,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Waving is an action applying to one thing.
    -The waving action translates into I6 as "Wave".
    +The waving action translates into Inter as "Wave".
     
     The specification of the waving action is "Waving in this sense is like
     waving a sceptre: the item to be waved must be directly held (or worn)
    @@ -2456,7 +2456,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Pulling is an action applying to one thing.
    -The Pulling action translates into I6 as "Pull".
    +The Pulling action translates into Inter as "Pull".
     
     The specification of the pulling action is "Pulling is the act of pulling
     something not grossly larger than the actor by an amount which would not
    @@ -2507,7 +2507,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Pushing is an action applying to one thing.
    -The Pushing action translates into I6 as "Push".
    +The Pushing action translates into Inter as "Push".
     
     The specification of the pushing action is "Pushing is the act of pushing
     something not grossly larger than the actor by an amount which would not
    @@ -2559,7 +2559,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Turning is an action applying to one thing.
    -The Turning action translates into I6 as "Turn".
    +The Turning action translates into Inter as "Turn".
     
     The specification of the turning action is "Turning is the act of rotating
     something - say, a dial.
    @@ -2607,7 +2607,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Pushing it to is an action applying to one thing and one visible thing.
    -The Pushing it to action translates into I6 as "PushDir".
    +The Pushing it to action translates into Inter as "PushDir".
     
     The specification of the pushing it to action is "This action covers pushing
     a large object, not being carried, so that the actor pushes it from one room
    @@ -2660,7 +2660,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Squeezing is an action applying to one thing.
    -The Squeezing action translates into I6 as "Squeeze".
    +The Squeezing action translates into Inter as "Squeeze".
     
     The specification of the squeezing action is "Squeezing is an action which
     can conveniently vary from squeezing something hand-held, like a washing-up
    @@ -2699,7 +2699,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     Section 8 - Standard actions which always do nothing unless rules intervene
     
     Saying yes is an action applying to nothing.
    -The Saying yes action translates into I6 as "Yes".
    +The Saying yes action translates into Inter as "Yes".
     
     The specification of the saying yes action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2723,7 +2723,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Saying no is an action applying to nothing.
    -The Saying no action translates into I6 as "No".
    +The Saying no action translates into Inter as "No".
     
     The specification of the saying no action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2746,7 +2746,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Burning is an action applying to one thing.
    -The Burning action translates into I6 as "Burn".
    +The Burning action translates into Inter as "Burn".
     
     The specification of the burning action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2769,7 +2769,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Waking up is an action applying to nothing.
    -The Waking up action translates into I6 as "Wake".
    +The Waking up action translates into Inter as "Wake".
     
     The specification of the waking up action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2793,7 +2793,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Thinking is an action applying to nothing.
    -The Thinking action translates into I6 as "Think".
    +The Thinking action translates into Inter as "Think".
     
     The specification of the thinking action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2816,7 +2816,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Smelling is an action applying to nothing or one thing.
    -The Smelling action translates into I6 as "Smell".
    +The Smelling action translates into Inter as "Smell".
     
     The specification of the smelling action is
     "The Standard Rules define this action in only a minimal way, replying only
    @@ -2837,7 +2837,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Listening to is an action applying to nothing or one thing and abbreviable.
    -The Listening to action translates into I6 as "Listen".
    +The Listening to action translates into Inter as "Listen".
     
     The specification of the listening to action is
     "The Standard Rules define this action in only a minimal way, replying only
    @@ -2858,7 +2858,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Tasting is an action applying to one thing.
    -The Tasting action translates into I6 as "Taste".
    +The Tasting action translates into Inter as "Taste".
     
     The specification of the tasting action is
     "The Standard Rules define this action in only a minimal way, replying only
    @@ -2879,7 +2879,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Cutting is an action applying to one thing.
    -The Cutting action translates into I6 as "Cut".
    +The Cutting action translates into Inter as "Cut".
     
     The specification of the cutting action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2902,7 +2902,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Jumping is an action applying to nothing.
    -The Jumping action translates into I6 as "Jump".
    +The Jumping action translates into Inter as "Jump".
     
     The specification of the jumping action is
     "The Standard Rules define this action in only a minimal way, simply reporting
    @@ -2923,7 +2923,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Tying it to is an action applying to two things.
    -The Tying it to action translates into I6 as "Tie".
    +The Tying it to action translates into Inter as "Tie".
     
     The specification of the tying it to action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2946,7 +2946,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Drinking is an action applying to one thing.
    -The Drinking action translates into I6 as "Drink".
    +The Drinking action translates into Inter as "Drink".
     
     The specification of the drinking action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2970,7 +2970,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Saying sorry is an action applying to nothing.
    -The Saying sorry action translates into I6 as "Sorry".
    +The Saying sorry action translates into Inter as "Sorry".
     
     The specification of the saying sorry action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -2994,7 +2994,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Swinging is an action applying to one thing.
    -The Swinging action translates into I6 as "Swing".
    +The Swinging action translates into Inter as "Swing".
     
     The specification of the swinging action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -3018,7 +3018,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Rubbing is an action applying to one thing.
    -The Rubbing action translates into I6 as "Rub".
    +The Rubbing action translates into Inter as "Rub".
     
     The specification of the rubbing action is
     "The Standard Rules define this action in only a minimal way, simply reporting
    @@ -3049,7 +3049,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Setting it to is an action applying to one thing and one topic.
    -The Setting it to action translates into I6 as "SetTo".
    +The Setting it to action translates into Inter as "SetTo".
     
     The specification of the setting it to action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -3072,7 +3072,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Waving hands is an action applying to nothing.
    -The Waving hands action translates into I6 as "WaveHands".
    +The Waving hands action translates into Inter as "WaveHands".
     
     The specification of the waving hands action is
     "The Standard Rules define this action in only a minimal way, simply reporting
    @@ -3093,7 +3093,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Buying is an action applying to one thing.
    -The Buying action translates into I6 as "Buy".
    +The Buying action translates into Inter as "Buy".
     
     The specification of the buying action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -3117,7 +3117,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Climbing is an action applying to one thing.
    -The Climbing action translates into I6 as "Climb".
    +The Climbing action translates into Inter as "Climb".
     
     The specification of the climbing action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -3140,7 +3140,7 @@ since she died (at a grand old age and in mid-spring) in 2008.
     
     
     Sleeping is an action applying to nothing.
    -The Sleeping action translates into I6 as "Sleep".
    +The Sleeping action translates into Inter as "Sleep".
     
     The specification of the sleeping action is
     "The Standard Rules define this action in only a minimal way, blocking it
    @@ -3170,60 +3170,60 @@ is the current VM: so these are close to the metal, as they say.
     Section 9 - Standard actions which happen out of world
     
     Quitting the game is an action out of world and applying to nothing.
    -The quitting the game action translates into I6 as "Quit".
    +The quitting the game action translates into Inter as "Quit".
     
     The quit the game rule is listed in the carry out quitting the game rulebook.
    -The quit the game rule translates into I6 as "QUIT_THE_GAME_R" with
    +The quit the game rule translates into Inter as "QUIT_THE_GAME_R" with
         "Are you sure you want to quit? " (A).
     
     Saving the game is an action out of world and applying to nothing.
    -The saving the game action translates into I6 as "Save".
    +The saving the game action translates into Inter as "Save".
     
     The save the game rule is listed in the carry out saving the game rulebook.
    -The save the game rule translates into I6 as "SAVE_THE_GAME_R" with
    +The save the game rule translates into Inter as "SAVE_THE_GAME_R" with
         "Save failed." (A),
         "Ok." (B).
     
     Restoring the game is an action out of world and applying to nothing.
    -The restoring the game action translates into I6 as "Restore".
    +The restoring the game action translates into Inter as "Restore".
     
     The restore the game rule is listed in the carry out restoring the game rulebook.
    -The restore the game rule translates into I6 as "RESTORE_THE_GAME_R" with
    +The restore the game rule translates into Inter as "RESTORE_THE_GAME_R" with
         "Restore failed." (A),
         "Ok." (B).
     
     Restarting the game is an action out of world and applying to nothing.
    -The restarting the game action translates into I6 as "Restart".
    +The restarting the game action translates into Inter as "Restart".
     
     The restart the game rule is listed in the carry out restarting the game rulebook.
    -The restart the game rule translates into I6 as "RESTART_THE_GAME_R" with
    +The restart the game rule translates into Inter as "RESTART_THE_GAME_R" with
         "Are you sure you want to restart? " (A),
         "Failed." (B).
     
     Verifying the story file is an action out of world and applying to nothing.
    -The verifying the story file action translates into I6 as "Verify".
    +The verifying the story file action translates into Inter as "Verify".
     
     The verify the story file rule is listed in the carry out verifying the story file rulebook.
    -The verify the story file rule translates into I6 as "VERIFY_THE_STORY_FILE_R" with
    +The verify the story file rule translates into Inter as "VERIFY_THE_STORY_FILE_R" with
         "The game file has verified as intact." (A),
         "The game file did not verify as intact, and may be corrupt." (B).
     
     Switching the story transcript on is an action out of world and applying to nothing.
    -The switching the story transcript on action translates into I6 as "ScriptOn".
    +The switching the story transcript on action translates into Inter as "ScriptOn".
     
     The switch the story transcript on rule is listed in the carry out switching the story
         transcript on rulebook.
    -The switch the story transcript on rule translates into I6 as "SWITCH_TRANSCRIPT_ON_R" with
    +The switch the story transcript on rule translates into Inter as "SWITCH_TRANSCRIPT_ON_R" with
         "Transcripting is already on." (A),
         "Start of a transcript of" (B),
         "Attempt to begin transcript failed." (C).
     
     Switching the story transcript off is an action out of world and applying to nothing.
    -The switching the story transcript off action translates into I6 as "ScriptOff".
    +The switching the story transcript off action translates into Inter as "ScriptOff".
     
     The switch the story transcript off rule is listed in the carry out switching the story
         transcript off rulebook.
    -The switch the story transcript off rule translates into I6 as "SWITCH_TRANSCRIPT_OFF_R" with
    +The switch the story transcript off rule translates into Inter as "SWITCH_TRANSCRIPT_OFF_R" with
         "Transcripting is already off." (A),
         "[line break]End of transcript." (B),
         "Attempt to end transcript failed." (C).
    @@ -3236,11 +3236,11 @@ different formats being compiled to.
     
     
     Requesting the story file version is an action out of world and applying to nothing.
    -The requesting the story file version action translates into I6 as "Version".
    +The requesting the story file version action translates into Inter as "Version".
     
     The announce the story file version rule is listed in the carry out requesting the story
         file version rulebook.
    -The announce the story file version rule translates into I6 as "ANNOUNCE_STORY_FILE_VERSION_R".
    +The announce the story file version rule translates into Inter as "ANNOUNCE_STORY_FILE_VERSION_R".
     

    §177. There's really no very good reason why we provide the out-of-world command SCORE but not (say) TIME, or any one of dozens of other traditional what's-my-status @@ -3252,10 +3252,10 @@ removal would be a gesture too far.

     Requesting the score is an action out of world and applying to nothing.
    -The requesting the score action translates into I6 as "Score".
    +The requesting the score action translates into Inter as "Score".
     
     The announce the score rule is listed in the carry out requesting the score rulebook.
    -The announce the score rule translates into I6 as "ANNOUNCE_SCORE_R" with
    +The announce the score rule translates into Inter as "ANNOUNCE_SCORE_R" with
         "[if the story has ended]In that game you scored[otherwise]You have so far scorednd if
         [score] out of a possible [maximum score], in [turn count] turn[s]" (A),
         ", earning you the rank of " (B),
    @@ -3272,46 +3272,46 @@ and does no harm.
     
     
     Preferring abbreviated room descriptions is an action out of world and applying to nothing.
    -The preferring abbreviated room descriptions action translates into I6 as "LMode3".
    +The preferring abbreviated room descriptions action translates into Inter as "LMode3".
     
     The prefer abbreviated room descriptions rule is listed in the carry out preferring
         abbreviated room descriptions rulebook.
    -The prefer abbreviated room descriptions rule translates into I6 as "PREFER_ABBREVIATED_R".
    +The prefer abbreviated room descriptions rule translates into Inter as "PREFER_ABBREVIATED_R".
     
     The standard report preferring abbreviated room descriptions rule is listed in the
         report preferring abbreviated room descriptions rulebook.
     The standard report preferring abbreviated room descriptions rule translates into
    -    I6 as "REP_PREFER_ABBREVIATED_R" with
    +    Inter as "REP_PREFER_ABBREVIATED_R" with
         " is now in its 'superbrief' mode, which always gives short descriptions
         of locations (even if you haven't been there before)." (A).
     
     Preferring unabbreviated room descriptions is an action out of world and applying to nothing.
    -The preferring unabbreviated room descriptions action translates into I6 as "LMode2".
    +The preferring unabbreviated room descriptions action translates into Inter as "LMode2".
     
     The prefer unabbreviated room descriptions rule is listed in the carry out preferring
         unabbreviated room descriptions rulebook.
    -The prefer unabbreviated room descriptions rule translates into I6 as "PREFER_UNABBREVIATED_R".
    +The prefer unabbreviated room descriptions rule translates into Inter as "PREFER_UNABBREVIATED_R".
     
     The standard report preferring unabbreviated room descriptions rule is listed in the
         report preferring unabbreviated room descriptions rulebook.
     The standard report preferring unabbreviated room descriptions rule translates into
    -    I6 as "REP_PREFER_UNABBREVIATED_R" with
    +    Inter as "REP_PREFER_UNABBREVIATED_R" with
         " is now in its 'verbose' mode, which always gives long descriptions of
         locations (even if you've been there before)." (A).
     
     Preferring sometimes abbreviated room descriptions is an action out of world and
         applying to nothing.
    -The preferring sometimes abbreviated room descriptions action translates into I6 as "LMode1".
    +The preferring sometimes abbreviated room descriptions action translates into Inter as "LMode1".
     
     The prefer sometimes abbreviated room descriptions rule is listed in the carry out
         preferring sometimes abbreviated room descriptions rulebook.
    -The prefer sometimes abbreviated room descriptions rule translates into I6 as
    +The prefer sometimes abbreviated room descriptions rule translates into Inter as
         "PREFER_SOMETIMES_ABBREVIATED_R".
     
     The standard report preferring sometimes abbreviated room descriptions rule is listed
         in the report preferring sometimes abbreviated room descriptions rulebook.
     The standard report preferring sometimes abbreviated room descriptions rule translates
    -    into I6 as "REP_PREFER_SOMETIMES_ABBR_R" with
    +    into Inter as "REP_PREFER_SOMETIMES_ABBR_R" with
         " is now in its 'brief' printing mode, which gives long descriptions
         of places never before visited and short descriptions otherwise." (A).
     
    @@ -3320,28 +3320,28 @@ and does no harm.
     Switching score notification on is an action out of world and applying to nothing.
    -The switching score notification on action translates into I6 as "NotifyOn".
    +The switching score notification on action translates into Inter as "NotifyOn".
     
     The switch score notification on rule is listed in the carry out switching score
         notification on rulebook.
    -The switch score notification on rule translates into I6 as "SWITCH_SCORE_NOTIFY_ON_R".
    +The switch score notification on rule translates into Inter as "SWITCH_SCORE_NOTIFY_ON_R".
     
     The standard report switching score notification on rule is listed in the report
         switching score notification on rulebook.
     The standard report switching score notification on rule translates into
    -    I6 as "REP_SWITCH_NOTIFY_ON_R" with "Score notification on." (A).
    +    Inter as "REP_SWITCH_NOTIFY_ON_R" with "Score notification on." (A).
     
     Switching score notification off is an action out of world and applying to nothing.
    -The switching score notification off action translates into I6 as "NotifyOff".
    +The switching score notification off action translates into Inter as "NotifyOff".
     
     The switch score notification off rule is listed in the carry out switching score
         notification off rulebook.
    -The switch score notification off rule translates into I6 as "SWITCH_SCORE_NOTIFY_OFF_R".
    +The switch score notification off rule translates into Inter as "SWITCH_SCORE_NOTIFY_OFF_R".
     
     The standard report switching score notification off rule is listed in the report
         switching score notification off rulebook.
     The standard report switching score notification off rule translates into
    -    I6 as "REP_SWITCH_NOTIFY_OFF_R" with "Score notification off." (A).
    +    Inter as "REP_SWITCH_NOTIFY_OFF_R" with "Score notification off." (A).
     

    §180. Lastly, the "pronouns" verb, which is perhaps more often used by people debugging the I6 parser than by actual players. @@ -3349,11 +3349,11 @@ debugging the I6 parser than by actual players.

     Requesting the pronoun meanings is an action out of world and applying to nothing.
    -The requesting the pronoun meanings action translates into I6 as "Pronouns".
    +The requesting the pronoun meanings action translates into Inter as "Pronouns".
     
     The announce the pronoun meanings rule is listed in the carry out requesting the
         pronoun meanings rulebook.
    -The announce the pronoun meanings rule translates into I6 as "ANNOUNCE_PRONOUN_MEANINGS_R" with
    +The announce the pronoun meanings rule translates into Inter as "ANNOUNCE_PRONOUN_MEANINGS_R" with
         "At the moment, " (A),
         "means " (B),
         "is unset" (C),
    diff --git a/docs/standard_rules/S-cg.html b/docs/standard_rules/S-cg.html
    index 4fbc48e2f..acbf9958b 100644
    --- a/docs/standard_rules/S-cg.html
    +++ b/docs/standard_rules/S-cg.html
    @@ -275,7 +275,7 @@ fact used in the default grammar above, but is available for authors.
     

    -The understand token a time period translates into I6 as "RELATIVE_TIME_TOKEN".
    +The understand token a time period translates into Inter as "RELATIVE_TIME_TOKEN".
     

    §37. Non-fundamental kinds. We have now finished defining the nine fundamental kinds which Inform requires in order for it to function. There are six more to define, but it's worth @@ -1041,31 +1041,31 @@ meanings were basically similar.

    -Section 16 - Inform 6 equivalents
    +Section 16 - Inter identifier equivalents
     
    -The wearable property translates into I6 as "clothing".
    -The undescribed property translates into I6 as "concealed".
    -The edible property translates into I6 as "edible".
    -The enterable property translates into I6 as "enterable".
    -The female property translates into I6 as "female".
    -The mentioned property translates into I6 as "mentioned".
    -The lit property translates into I6 as "light".
    -The lighted property translates into I6 as "light".
    -The lockable property translates into I6 as "lockable".
    -The locked property translates into I6 as "locked".
    -The handled property translates into I6 as "moved".
    -The neuter property translates into I6 as "neuter".
    -The switched on property translates into I6 as "on".
    -The open property translates into I6 as "open".
    -The openable property translates into I6 as "openable".
    -The privately-named property translates into I6 as "privately_named".
    -The pushable between rooms property translates into I6 as "pushable".
    -The scenery property translates into I6 as "scenery".
    -The fixed in place property translates into I6 as "static".
    -The transparent property translates into I6 as "transparent".
    -The visited property translates into I6 as "visited".
    -The marked for listing property translates into I6 as "workflag".
    -The list grouping key property translates into I6 as "list_together".
    +The wearable property translates into Inter as "clothing".
    +The undescribed property translates into Inter as "concealed".
    +The edible property translates into Inter as "edible".
    +The enterable property translates into Inter as "enterable".
    +The female property translates into Inter as "female".
    +The mentioned property translates into Inter as "mentioned".
    +The lit property translates into Inter as "light".
    +The lighted property translates into Inter as "light".
    +The lockable property translates into Inter as "lockable".
    +The locked property translates into Inter as "locked".
    +The handled property translates into Inter as "moved".
    +The neuter property translates into Inter as "neuter".
    +The switched on property translates into Inter as "on".
    +The open property translates into Inter as "open".
    +The openable property translates into Inter as "openable".
    +The privately-named property translates into Inter as "privately_named".
    +The pushable between rooms property translates into Inter as "pushable".
    +The scenery property translates into Inter as "scenery".
    +The fixed in place property translates into Inter as "static".
    +The transparent property translates into Inter as "transparent".
    +The visited property translates into Inter as "visited".
    +The marked for listing property translates into Inter as "workflag".
    +The list grouping key property translates into Inter as "list_together".
     

    §46. Second, the I7 value properties mapping onto I6 properties. Again, map_region is a new I6 property of our own, while the rest are I6 staples. @@ -1073,11 +1073,11 @@ And see also "other side", which is translated above for timing reasons.

    -The carrying capacity property translates into I6 as "capacity".
    -The description property translates into I6 as "description".
    -The initial appearance property translates into I6 as "initial".
    -The map region property translates into I6 as "map_region".
    -The matching key property translates into I6 as "with_key".
    +The carrying capacity property translates into Inter as "capacity".
    +The description property translates into Inter as "description".
    +The initial appearance property translates into Inter as "initial".
    +The map region property translates into Inter as "map_region".
    +The matching key property translates into Inter as "with_key".
     

    §3. It is arguable that "noun", "second noun" and "person asked" ought to be rulebook variables belonging to the action-processing rules, so that @@ -140,11 +140,11 @@ meanings from sentence to sentence. based rule producing nothing that varies. The item described is an object that varies. -The noun variable translates into I6 as "noun". -The second noun variable translates into I6 as "second". -The person asked variable translates into I6 as "actor". -The reason the action failed variable translates into I6 as "reason_the_action_failed". -The item described variable translates into I6 as "self". +The noun variable translates into Inter as "noun". +The second noun variable translates into Inter as "second". +The person asked variable translates into Inter as "actor". +The reason the action failed variable translates into Inter as "reason_the_action_failed". +The item described variable translates into Inter as "self".

    §4. "Person reaching" turns out to have exactly the same meaning as "person asked" — they are both the actor, in Inter terms, but are used in different @@ -159,10 +159,10 @@ situations. The supporter in question is an object that varies. The particular possession -- documented at var_particular -- is a thing that varies. -The person reaching variable translates into I6 as "actor". -The container in question variable translates into I6 as "parameter_object". -The supporter in question variable translates into I6 as "parameter_object". -The particular possession variable translates into I6 as "particular_possession". +The person reaching variable translates into Inter as "actor". +The container in question variable translates into Inter as "parameter_object". +The supporter in question variable translates into Inter as "parameter_object". +The particular possession variable translates into Inter as "particular_possession".

    §5. Parsing variables follow. The I6 parser tends to put any data read as part of a command into the variable parsed_number, but then, Inter is typeless: @@ -193,10 +193,10 @@ understood"), "the truth state understood" but no others. The truth state understood is a truth state that varies. The current item from the multiple object list is an object that varies. -The player's command variable translates into I6 as "players_command". -The matched text variable translates into I6 as "matched_text". -The topic understood variable translates into I6 as "parsed_number". -The current item from the multiple object list variable translates into I6 as +The player's command variable translates into Inter as "players_command". +The matched text variable translates into Inter as "matched_text". +The topic understood variable translates into Inter as "parsed_number". +The current item from the multiple object list variable translates into Inter as "multiple_object_item".

    §6.

    @@ -210,11 +210,11 @@ understood"), "the truth state understood" but no others. The left hand status line -- documented at var_sl -- is a text that varies. The right hand status line is a text that varies. -The left hand status line variable translates into I6 as "left_hand_status_line". -The right hand status line variable translates into I6 as "right_hand_status_line". +The left hand status line variable translates into Inter as "left_hand_status_line". +The right hand status line variable translates into Inter as "right_hand_status_line". The listing group size is a number that varies. -The listing group size variable translates into I6 as "listing_size". +The listing group size variable translates into Inter as "listing_size".

    §7. Now some linguistic variables:

    @@ -223,7 +223,7 @@ understood"), "the truth state understood" but no others. Section 6 - Language generation The prior named object is an object that varies. -The prior named object variable translates into I6 as "prior_named_noun". +The prior named object variable translates into Inter as "prior_named_noun". An object has a text called list grouping key.

    §8. ...but they are not the last global variables created by the Standard Rules. @@ -262,7 +262,7 @@ can be sure that we are first, so everything works. The story headline is usually "An Interactive Fiction". The story genre is usually "Fiction". -The story title variable translates into I6 as "Story". +The story title variable translates into Inter as "Story". Section SR2/6b - Unindexed Standard Rules variables - Unindexed (for figures language element only) @@ -312,10 +312,10 @@ run-time for what is in the end only a label.) Section 8 - Unindexed Standard Rules variables - Unindexed The I6-nothing-constant is an object that varies. -The I6-nothing-constant variable translates into I6 as "nothing". +The I6-nothing-constant variable translates into Inter as "nothing". The I6-varying-global is an object that varies. -The I6-varying-global variable translates into I6 as "nothing". +The I6-varying-global variable translates into Inter as "nothing".

    §10. The remaining secret variables are:

    @@ -334,13 +334,13 @@ preambles to rules in object-based rulebooks.
     The item-pushed-between-rooms is an object that varies.
    -The item-pushed-between-rooms variable translates into I6 as "move_pushing".
    +The item-pushed-between-rooms variable translates into Inter as "move_pushing".
     
     The actor-location is an object that varies. 
    -The actor-location variable translates into I6 as "actor_location".
    +The actor-location variable translates into Inter as "actor_location".
     
     The scene being changed is a scene that varies. 
    -The scene being changed variable translates into I6 as "parameter_value".
    +The scene being changed variable translates into Inter as "parameter_value".
     

    §11. Rulebooks. Whereas Basic Inform equips the language with only a handful of rulebooks to start out, the Standard Rules are replete with them. @@ -565,7 +565,7 @@ automatically to a safely neutral default value. It makes no decision.

     Section 2 - The Standard Rules
     
    -The little-used do nothing rule translates into I6 as "LITTLE_USED_DO_NOTHING_R".
    +The little-used do nothing rule translates into Inter as "LITTLE_USED_DO_NOTHING_R".
     

    §22. Startup. Every rulebook contains a (possibly empty) run of "first" rules, then a (possibly empty) run of miscellaneous rules, then a (possibly empty) @@ -626,11 +626,11 @@ ordinary I7 rules can be run. The virtual machine startup rule is listed first in the startup rulebook. nd. The initialise memory rule is listed first in the startup rulebook. st. -The virtual machine startup rule translates into I6 as "VIRTUAL_MACHINE_STARTUP_R". -The initialise memory rule translates into I6 as "INITIALISE_MEMORY_R". -The seed random number generator rule translates into I6 as "SEED_RANDOM_NUMBER_GENERATOR_R". -The update chronological records rule translates into I6 as "UPDATE_CHRONOLOGICAL_RECORDS_R". -The position player in model world rule translates into I6 as "POSITION_PLAYER_IN_MODEL_R". +The virtual machine startup rule translates into Inter as "VIRTUAL_MACHINE_STARTUP_R". +The initialise memory rule translates into Inter as "INITIALISE_MEMORY_R". +The seed random number generator rule translates into Inter as "SEED_RANDOM_NUMBER_GENERATOR_R". +The update chronological records rule translates into Inter as "UPDATE_CHRONOLOGICAL_RECORDS_R". +The position player in model world rule translates into Inter as "POSITION_PLAYER_IN_MODEL_R". This is the start in the correct scenes rule: follow the scene changing rules.

    @@ -782,17 +782,17 @@ I6 primitives in the template layer.

    -The adjust light rule translates into I6 as "ADJUST_LIGHT_R" with
    +The adjust light rule translates into Inter as "ADJUST_LIGHT_R" with
         "[It] [are] [if story tense is present tense]now [end if]pitch dark in
         [if story tense is present tense]here[else]there[end if]!" (A).
    -The advance time rule translates into I6 as "ADVANCE_TIME_R".
    -The generate action rule translates into I6 as "GENERATE_ACTION_R" with
    +The advance time rule translates into Inter as "ADVANCE_TIME_R".
    +The generate action rule translates into Inter as "GENERATE_ACTION_R" with
         "(considering the first sixteen objects only)[command clarification break]" (A),
         "Nothing to do!" (B).
     
    -The note object acquisitions rule translates into I6 as "NOTE_OBJECT_ACQUISITIONS_R".
    -The parse command rule translates into I6 as "PARSE_COMMAND_R".
    -The timed events rule translates into I6 as "TIMED_EVENTS_R".
    +The note object acquisitions rule translates into Inter as "NOTE_OBJECT_ACQUISITIONS_R".
    +The parse command rule translates into Inter as "PARSE_COMMAND_R".
    +The timed events rule translates into Inter as "TIMED_EVENTS_R".
     

    §29. Shutdown. Goodbye is not the hardest word to say, but it does involve a little bit of work. It might not actually be goodbye, for one thing: if this rulebook ends @@ -824,8 +824,8 @@ current execution context entirely. This is the print player's obituary rule: carry out the printing the player's obituary activity. -The resurrect player if asked rule translates into I6 as "RESURRECT_PLAYER_IF_ASKED_R". -The ask the final question rule translates into I6 as "ASK_FINAL_QUESTION_R". +The resurrect player if asked rule translates into Inter as "RESURRECT_PLAYER_IF_ASKED_R". +The ask the final question rule translates into Inter as "ASK_FINAL_QUESTION_R".

    §30. Scene changing. Scene changing is handled by a routine called DetectSceneChange which is compiled directly by Inform: this is so primitive that it can't even be handled @@ -838,7 +838,7 @@ use of this opportunity.

     The scene change machinery rule is listed last in the scene changing rulebook.
     
    -The scene change machinery rule translates into I6 as "SCENE_CHANGE_MACHINERY_R".
    +The scene change machinery rule translates into Inter as "SCENE_CHANGE_MACHINERY_R".
     

    §31. We couldn't do this earlier (because creating a scene automatically generates two rulebooks, and that would have thrown the rulebook numbering), so let's @@ -990,18 +990,18 @@ instance, "check taking" is the specific check rulebook for the the names aren't so visible).

    -The basic accessibility rule translates into I6 as "BASIC_ACCESSIBILITY_R" with
    +The basic accessibility rule translates into Inter as "BASIC_ACCESSIBILITY_R" with
         "You must name something more substantial." (A).
    -The basic visibility rule translates into I6 as "BASIC_VISIBILITY_R" with
    +The basic visibility rule translates into Inter as "BASIC_VISIBILITY_R" with
         "[It] [are] pitch dark, and [we] [can't see] a thing." (A).
    -The carrying requirements rule translates into I6 as "CARRYING_REQUIREMENTS_R".
    -The requested actions require persuasion rule translates into I6 as
    +The carrying requirements rule translates into Inter as "CARRYING_REQUIREMENTS_R".
    +The requested actions require persuasion rule translates into Inter as
         "REQUESTED_ACTIONS_REQUIRE_R" with
          "[The noun] [have] better things to do." (A).
    -The carry out requested actions rule translates into I6 as
    +The carry out requested actions rule translates into Inter as
         "CARRY_OUT_REQUESTED_ACTIONS_R" with
         "[The noun] [are] unable to do that." (A).
    -The descend to specific action-processing rule translates into I6 as
    +The descend to specific action-processing rule translates into Inter as
     "DESCEND_TO_SPECIFIC_ACTION_R".
     

    §37. Specific action-processing. And now we descend to the lower level, which is much easier to understand. @@ -1073,7 +1073,7 @@ and whether or not it is in world.

    -The work out details of specific action rule translates into I6 as
    +The work out details of specific action rule translates into Inter as
     "WORK_OUT_DETAILS_OF_SPECIFIC_R".
     

    §41. Player's action awareness. This rulebook decides whether or not an action by somebody should be routinely @@ -1115,7 +1115,7 @@ we expect most users to work with one of the two reaching rulebooks instead. The access through barriers rule is listed last in the accessibility rules. -The access through barriers rule translates into I6 as +The access through barriers rule translates into Inter as "ACCESS_THROUGH_BARRIERS_R" with "[regarding the noun][Those] [aren't] available." (A).

    @@ -1131,10 +1131,10 @@ form barriers.) The can't reach inside closed containers rule is listed last in the reaching inside rules. ast. -The can't reach inside closed containers rule translates into I6 as +The can't reach inside closed containers rule translates into Inter as "CANT_REACH_INSIDE_CLOSED_R" with "[The noun] [aren't] open." (A). -The can't reach inside rooms rule translates into I6 as +The can't reach inside rooms rule translates into Inter as "CANT_REACH_INSIDE_ROOMS_R" with "[We] [can't] reach into [the noun]." (A).
    @@ -1145,7 +1145,7 @@ reaching on both the inbound and outbound directions,
     The can't reach outside closed containers rule is listed last in the reaching outside rules.
     
    -The can't reach outside closed containers rule translates into I6 as
    +The can't reach outside closed containers rule translates into Inter as
         "CANT_REACH_OUTSIDE_CLOSED_R" with
         "[The noun] [aren't] open." (A).
     
    @@ -1236,7 +1236,7 @@ there as constants with the notation didn't understand addressee's last name error. The latest parser error is a command parser error that varies. -The latest parser error variable translates into I6 as "etype". +The latest parser error variable translates into Inter as "etype".

    §51. Internal rules. These rules do nothing in themselves, and are really just hooks on which some response texts can be hung. @@ -1245,7 +1245,7 @@ some response texts can be hung.

     Section 9 - Responses for internal rules
     
    -The list writer internal rule translates into I6 as
    +The list writer internal rule translates into Inter as
         "LIST_WRITER_INTERNAL_R" with
         " (" (A),
         ")" (B),
    @@ -1273,7 +1273,7 @@ some response texts can be hung.
         "Nothing" (X),
         "nothing" (Y).
     
    -The action processing internal rule translates into I6 as
    +The action processing internal rule translates into Inter as
         "ACTION_PROCESSING_INTERNAL_R" with
         "[bracket]That command asks to do something outside of play, so it can
         only make sense from you to me. [The noun] cannot be asked to do this.lose
    @@ -1290,7 +1290,7 @@ some response texts can be hung.
         cut short.)" (J),
         "I didn't understand that instruction." (K).
     
    -The parser error internal rule translates into I6 as
    +The parser error internal rule translates into Inter as
         "PARSER_ERROR_INTERNAL_R" with
         "I didn't understand that sentence." (A),
         "I only understood you as far as wanting to " (B),
    @@ -1319,7 +1319,7 @@ some response texts can be hung.
         "To talk to someone, try 'someone, hello' or some such." (W),
         "I beg your pardon?" (X).
     
    -The parser nothing error internal rule translates into I6 as
    +The parser nothing error internal rule translates into Inter as
         "PARSER_N_ERROR_INTERNAL_R" with
         "Nothing to do!" (A),
         "[There] [adapt the verb are from the third person plural] none at all available!" (B),
    @@ -1328,17 +1328,17 @@ some response texts can be hung.
         "[The noun] [aren't] open." (E),
         "[The noun] [are] empty." (F).
     
    -The darkness name internal rule translates into I6 as "DARKNESS_NAME_INTERNAL_R" with
    +The darkness name internal rule translates into Inter as "DARKNESS_NAME_INTERNAL_R" with
         "Darkness" (A).
     
    -The parser command internal rule translates into I6 as
    +The parser command internal rule translates into Inter as
         "PARSER_COMMAND_INTERNAL_R" with
         "Sorry, that can't be corrected." (A),
         "Think nothing of it." (B),
         "'Oops' can only correct a single word." (C),
         "You can hardly repeat that." (D).
     
    -The parser clarification internal rule translates into I6 as
    +The parser clarification internal rule translates into Inter as
         "PARSER_CLARIF_INTERNAL_R" with
         "Who do you mean, " (A),
         "Which do you mean, " (B),
    @@ -1351,11 +1351,11 @@ some response texts can be hung.
         "that" (G),
         " or " (H).
     
    -The yes or no question internal rule translates into I6 as
    +The yes or no question internal rule translates into Inter as
         "YES_OR_NO_QUESTION_INTERNAL_R" with
         "Please answer yes or no." (A).
     
    -The print protagonist internal rule translates into I6 as
    +The print protagonist internal rule translates into Inter as
         "PRINT_PROTAGONIST_INTERNAL_R" with
         "[We]" (A),
         "[ourselves]" (B),
    diff --git a/docs/supervisor-module/2-ce.html b/docs/supervisor-module/2-ce.html
    index 3e00dcc83..c7480bf88 100644
    --- a/docs/supervisor-module/2-ce.html
    +++ b/docs/supervisor-module/2-ce.html
    @@ -111,7 +111,7 @@ fields are blank.
     

    -copy_error *CopyErrors::new(int cat, int subcat) {
    +copy_error *CopyErrors::new(int cat, int subcat) {
         copy_error *CE = CREATE(copy_error);
         CE->copy = NULL;
         CE->error_category = cat;
    @@ -171,7 +171,7 @@ we also offer these functions to tack extra details on:
         CE->details_work2 = w2;
     }
     
    -void CopyErrors::supply_node(copy_error *CE, parse_node *n) {
    +void CopyErrors::supply_node(copy_error *CE, parse_node *n) {
         CE->details_node = n;
     }
     
    diff --git a/docs/supervisor-module/2-cps.html b/docs/supervisor-module/2-cps.html
    index cc917f116..8815208a3 100644
    --- a/docs/supervisor-module/2-cps.html
    +++ b/docs/supervisor-module/2-cps.html
    @@ -144,7 +144,7 @@ for later reporting. These are stored in a list.
     

    -void Copies::attach_error(inbuild_copy *C, copy_error *CE) {
    +void Copies::attach_error(inbuild_copy *C, copy_error *CE) {
         if (C == NULL) internal_error("no copy to attach to");
         CopyErrors::supply_attached_copy(CE, C);
         ADD_TO_LINKED_LIST(CE, copy_error, C->errors_reading_source_text);
    diff --git a/docs/supervisor-module/3-is2.html b/docs/supervisor-module/3-is2.html
    index 40a2aedc6..8985037e1 100644
    --- a/docs/supervisor-module/3-is2.html
    +++ b/docs/supervisor-module/3-is2.html
    @@ -130,7 +130,6 @@ folders anyway; maybe we should leave well be.)
         if (project == NULL) internal_error("no project");
         if (S->associated_copy->edition->work->genre == project_bundle_genre)
             Pathnames::create_in_file_system(Projects::materials_path(project));
    -    SourceText::bulk_of_source_loaded();
         #ifdef CORE_MODULE
         return Task::carry_out(S);
         #endif
    diff --git a/docs/supervisor-module/4-em.html b/docs/supervisor-module/4-em.html
    index a5f8a51ca..6b876df6c 100644
    --- a/docs/supervisor-module/4-em.html
    +++ b/docs/supervisor-module/4-em.html
    @@ -113,7 +113,7 @@ which stores data about extensions used by the Inform compiler.
     

    -inform_extension *ExtensionManager::from_copy(inbuild_copy *C) {
    +inform_extension *ExtensionManager::from_copy(inbuild_copy *C) {
         if ((C) && (C->edition->work->genre == extension_genre)) {
             return RETRIEVE_POINTER_inform_extension(C->metadata);
         }
    diff --git a/docs/supervisor-module/5-ls.html b/docs/supervisor-module/5-ls.html
    index c6a0afdfd..6ec578447 100644
    --- a/docs/supervisor-module/5-ls.html
    +++ b/docs/supervisor-module/5-ls.html
    @@ -21,6 +21,7 @@ function togglePopup(material_id) {
     
     
     
    +
     		
     	
     	
    @@ -243,6 +244,23 @@ include the Materials folder for any relevant project.
         return NULL;
     }
     
    +

    §11. Finally, the following Preform nonterminal matches the English-language +name of a language: for example, "French". Unlike the above functions, it +looks only at languages already loaded, and doesn't scan nests for more. +

    + +
    +<natural-language> internal {
    +    inform_language *L;
    +    LOOP_OVER(L, inform_language)
    +        if (Wordings::match(W, Wordings::first_word(L->instance_name))) {
    +            ==> { -, L };
    +            return TRUE;
    +        }
    +    ==> { fail };
    +}
    +
    + diff --git a/docs/supervisor-module/6-hdn.html b/docs/supervisor-module/6-hdn.html index 5fe55e8b5..2852464aa 100644 --- a/docs/supervisor-module/6-hdn.html +++ b/docs/supervisor-module/6-hdn.html @@ -309,7 +309,6 @@ different way in. (These are never skipped.)
     void Headings::place_implied_level_0(parse_node_tree *T, parse_node *pn) {
         Headings::attach(T, pn);
    -    Annotations::write_int(pn, sentence_unparsed_ANNOT, FALSE);
         Annotations::write_int(pn, heading_level_ANNOT, 0);
         Annotations::write_int(pn, implied_heading_ANNOT, TRUE);
     }
    diff --git a/docs/supervisor-module/6-inc.html b/docs/supervisor-module/6-inc.html
    index cfb9a38ec..8a503b014 100644
    --- a/docs/supervisor-module/6-inc.html
    +++ b/docs/supervisor-module/6-inc.html
    @@ -415,7 +415,7 @@ use an extension which is marked as not working on the current VM.
     

    §9.

    -void Inclusions::check_begins_here(parse_node *PN, inform_extension *E) {
    +void Inclusions::check_begins_here(parse_node *PN, inform_extension *E) {
         inbuild_copy *S = inclusions_errors_to;
         inclusions_errors_to = E->as_copy;
         <begins-here-sentence-subject>(Node::get_text(PN));
    @@ -431,7 +431,7 @@ the "begins here".
     <the-prefix-for-extensions> ::=
         the ...
     
    -void Inclusions::check_ends_here(parse_node *PN, inform_extension *E) {
    +void Inclusions::check_ends_here(parse_node *PN, inform_extension *E) {
         inbuild_copy *S = inclusions_errors_to;
         inclusions_errors_to = E->as_copy;
         wording W = Node::get_text(PN);
    diff --git a/docs/supervisor-module/6-st.html b/docs/supervisor-module/6-st.html
    index 87e89fa11..273b0f104 100644
    --- a/docs/supervisor-module/6-st.html
    +++ b/docs/supervisor-module/6-st.html
    @@ -227,44 +227,7 @@ add to those generated in enum ExtInadequateVM_SYNERROR
     enum ExtMisidentifiedEnds_SYNERROR
     
    -

    §8. The inform7 compiler will eventually make a much more detailed syntax -tree, extending the one we make here: but we will basically just break the -text into sentences, arrange those under headings, and take action on just a -few so-called "structural sentences" which have to be dealt with early on. -

    - -

    syntax allows us to create a callback function which will be called -whenever a new sentence is made. What we use it for reflects that fact that -the vast bulk of the source text is read by supervisor early in a run of -inform7, with just a few sentences ("inventions") added later. The bulk -part is parsed collectively, but the later inventions have to be marked as -needing to be parsed one by one. So, when supervisor has definitely -finished loading the bulk in, it calls: -

    - -
    -int bulk_of_source_loaded = FALSE;
    -void SourceText::bulk_of_source_loaded(void) {
    -    bulk_of_source_loaded = TRUE;
    -}
    -
    -

    §9. And here is the callback function. It's only ever needed for inform7, -not for inbuild, which isn't in the inventions business. -

    - -
    define NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK SourceText::annotate_new_sentence
    -
    -
    -void SourceText::annotate_new_sentence(parse_node *new) {
    -    if (bulk_of_source_loaded) {
    -        Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE);
    -        #ifdef CORE_MODULE
    -        Sentences::VPs::seek(new);
    -        #endif
    -    }
    -}
    -
    -

    §10. The next tweak to syntax is to give it some node metadata. syntax +

    §8. The next tweak to syntax is to give it some node metadata. syntax itself places nodes of a small number of basic types into the syntax tree; we want to expand on those. (And the core module will expand on them still further, so this still isn't everything: see Parse Tree Usage (in core).) @@ -275,7 +238,7 @@ look for below. (The asterisk notation for define NODE_METADATA_SETUP_SYNTAX_CALLBACK SourceText::node_metadata +

    define NODE_METADATA_SETUP_SYNTAX_CALLBACK SourceText::node_metadata
     enum BIBLIOGRAPHIC_NT     For the initial title sentence
     enum RULE_NT           "Instead of taking something, ..."
     enum INFORM6CODE_NT       "Include (- ... -)
    @@ -297,7 +260,7 @@ Inform users: it increases output to the debugging log.)
         NodeType::new(INVOCATION_LIST_NT, I"INVOCATION_LIST_NT", 0, INFTY, L4_NCAT, 0);
     }
     
    -

    §11. Sentences in the source text are of five categories: dividing sentences, +

    §9. Sentences in the source text are of five categories: dividing sentences, which divide up the source into segments; structural sentences, which split the source into different forms (standard text, tables, equations, I6 matter, and so on); nonstructural sentences, which make grammatical definitions and @@ -346,15 +309,15 @@ and here goes: section ... ==> { 5, - } <extension-end-marker-sentence> ::= - ... begin/begins here | ==> { -1, - }; Check we can begin an extension here11.1; - ... end/ends here ==> { -2, - }; Check we can end an extension here11.2; + ... begin/begins here | ==> { -1, - }; Check we can begin an extension here9.1; + ... end/ends here ==> { -2, - }; Check we can end an extension here9.2;

    -

    §11.1. Note that the extension end markers are only read in extensions, so they can +

    §9.1. Note that the extension end markers are only read in extensions, so they can never accidentally match in the main source text.

    -

    Check we can begin an extension here11.1 = +

    Check we can begin an extension here9.1 =

    @@ -364,8 +327,8 @@ never accidentally match in the main source text.
             case 3: PROBLEM_SYNTAX_CALLBACK(ExtBeginsAfterEndsHere_SYNERROR, W, sfsm->ref, 0); break;
         }
     
    -
    • This code is used in §11.
    -

    §11.2. Check we can end an extension here11.2 = +

    • This code is used in §9.
    +

    §9.2. Check we can end an extension here9.2 =

    @@ -375,8 +338,8 @@ never accidentally match in the main source text.
             case 3: PROBLEM_SYNTAX_CALLBACK(ExtMultipleEndsHere_SYNERROR, W, sfsm->ref, 0); break;
         }
     
    -
    • This code is used in §11.
    -

    §12. syntax also requires this definition: +

    • This code is used in §9.
    +

    §10. syntax also requires this definition:

    @@ -393,7 +356,7 @@ never accidentally match in the main source text.
         include (- ...                                 ==> { 0, - }; sfsm->nt = INFORM6CODE_NT;
     
    -

    §13. Rules are ordinarily detected by their colon, which divides the header from the +

    §11. Rules are ordinarily detected by their colon, which divides the header from the rest: colons are not otherwise legal in Inform. But there's an exception. If the sentence consists of text matching the following grammar, followed by comma, followed by more text, then the comma is read as if it's a colon and the @@ -413,7 +376,7 @@ sentence becomes a rule. For example: when ...

    -

    §14. Properly speaking, despite the definition above, language modifying sentences +

    §12. Properly speaking, despite the definition above, language modifying sentences are nonstructural. So what are they doing here? The answer is that we need to read them early on, because they affect the way that they parse all other sentences. Whereas other nonstructural sentences can wait, these can't. @@ -425,12 +388,12 @@ sentences. Whereas other nonstructural sentences can wait, these can't. use ... language element/elements ==> { -1, - }

    -

    §15. The following callback function is called by syntax when it breaks a +

    §13. The following callback function is called by syntax when it breaks a sentence of type BEGINHERE_NT or ENDHERE_NT — i.e., the beginning or end of an extension.

    -
    define BEGIN_OR_END_HERE_SYNTAX_CALLBACK SourceText::new_beginend
    +
    define BEGIN_OR_END_HERE_SYNTAX_CALLBACK SourceText::new_beginend
     
     void SourceText::new_beginend(parse_node *pn, inbuild_copy *C) {
    @@ -439,7 +402,7 @@ of an extension.
         if (Node::get_type(pn) == ENDHERE_NT) Inclusions::check_ends_here(pn, E);
     }
     
    -

    §16. Lastly, this callback is called by syntax when it hits a sentence like: +

    §14. Lastly, this callback is called by syntax when it hits a sentence like:

    @@ -450,7 +413,7 @@ of an extension. stack into the new world of kits), so we issue a syntax error.

    -
    define LANGUAGE_ELEMENT_SYNTAX_CALLBACK SourceText::new_language
    +
    define LANGUAGE_ELEMENT_SYNTAX_CALLBACK SourceText::new_language
     
     void SourceText::new_language(wording W) {
    diff --git a/docs/syntax-module/2-na.html b/docs/syntax-module/2-na.html
    index 8d16686fc..483fa5b53 100644
    --- a/docs/syntax-module/2-na.html
    +++ b/docs/syntax-module/2-na.html
    @@ -154,7 +154,7 @@ one (on the same node) overwrites it, but this is not an error.
     

    -void Annotations::write_int(parse_node *PN, int id, int v) {
    +void Annotations::write_int(parse_node *PN, int id, int v) {
         parse_node_annotation *newpna, *pna, *final = NULL;
         if (PN == NULL) internal_error("annotated null PN");
         for (pna=PN->annotations; pna; pna=pna->next_annotation) {
    @@ -244,7 +244,6 @@ wants to.
     
     
    enum heading_level_ANNOT from 1  int: for HEADING nodes, a hierarchical level, 0 (highest) to 9 (lowest)
     enum language_element_ANNOT  int: this node is not really a sentence, but a language definition Use
    -enum sentence_unparsed_ANNOT  int: set if verbs haven't been sought yet here
     enum suppress_heading_dependencies_ANNOT  int: ignore extension dependencies on this heading node
     enum implied_heading_ANNOT  int: set only for the heading of implied inclusions
     define MAX_ANNOT_NUMBER (NO_DEFINED_ANNOT_VALUES+1)
    @@ -259,8 +258,6 @@ node will throw an internal error — it must mean a bug in Inform.
     void Annotations::make_annotation_allowed_table(void) {
         Annotations::allow(HEADING_NT, heading_level_ANNOT);
         Annotations::allow(SENTENCE_NT, language_element_ANNOT);
    -    Annotations::allow_for_category(L1_NCAT, sentence_unparsed_ANNOT);
    -    Annotations::allow_for_category(L2_NCAT, sentence_unparsed_ANNOT);
         #ifdef ANNOTATION_PERMISSIONS_SYNTAX_CALLBACK
         ANNOTATION_PERMISSIONS_SYNTAX_CALLBACK();
         #endif
    @@ -282,7 +279,7 @@ expected also to call the following:
     void Annotations::allow(node_type_t t, int annot) {
         annotation_allowed[t - ENUMERATED_NT_BASE][annot] = TRUE;
     }
    -void Annotations::allow_for_category(int cat, int annot) {
    +void Annotations::allow_for_category(int cat, int annot) {
         LOOP_OVER_ENUMERATED_NTS(t)
             if (NodeType::category(t) == cat)
                 Annotations::allow(t, annot);
    @@ -293,7 +290,7 @@ types (i.e., those of an unenumerated node type) cannot be annotated.
     

    -int Annotations::is_allowed(node_type_t t, int annot) {
    +int Annotations::is_allowed(node_type_t t, int annot) {
         if ((annot <= 0) || (annot > MAX_ANNOT_NUMBER))
             internal_error("annotation number out of range");
         if (NodeType::is_enumerated(t))
    @@ -306,7 +303,7 @@ is rarely used by Inform, but is needed when a node changes its type.
     

    -void Annotations::clear_invalid(parse_node *pn) {
    +void Annotations::clear_invalid(parse_node *pn) {
         node_type_t nt = Node::get_type(pn);
         while ((pn->annotations) &&
             (!(Annotations::is_allowed(nt, pn->annotations->annotation_id))))
    diff --git a/docs/syntax-module/3-snt.html b/docs/syntax-module/3-snt.html
    index 8a8980c6d..26ad18a6c 100644
    --- a/docs/syntax-module/3-snt.html
    +++ b/docs/syntax-module/3-snt.html
    @@ -496,7 +496,6 @@ is declared as if it were a super-heading in the text.
         if (Lexer::file_of_origin(Wordings::first_wn(W)) != sfsm->sf) {
             parse_node *implicit_heading = Node::new(HEADING_NT);
             Node::set_text(implicit_heading, W);
    -        Annotations::write_int(implicit_heading, sentence_unparsed_ANNOT, FALSE);
             Annotations::write_int(implicit_heading, heading_level_ANNOT, 0);
             SyntaxTree::graft_sentence(T, implicit_heading);
             #ifdef NEW_HEADING_SYNTAX_CALLBACK
    @@ -589,7 +588,6 @@ in Headings to determine whether we should include the material.
     
         new = Node::new(HEADING_NT);
         Node::set_text(new, W);
    -    Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE);
         Annotations::write_int(new, heading_level_ANNOT, heading_level);
         SyntaxTree::graft_sentence(T, new);
         #ifdef NEW_HEADING_SYNTAX_CALLBACK
    @@ -698,7 +696,6 @@ sentences and options-file sentences may have been read already.)
         Convert a begins here or ends here sentence to a BEGINHERE or ENDHERE node and return6.9.6;
     
          none of that happened, so we have a SENTENCE node for certain
    -    Annotations::write_int(new, sentence_unparsed_ANNOT, TRUE);
         #ifdef NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK
         NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK(new);
         #endif
    @@ -779,7 +776,6 @@ commonest outcome is a SENTENCE node, so that's what we shall assume for now.
     
         new = Node::new(SENTENCE_NT);
         Node::set_text(new, W);
    -    Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE);
         SyntaxTree::graft_sentence(T, new);
     
    • This code is used in §6.9.
    @@ -904,7 +900,6 @@ it would be too late. LANGUAGE_ELEMENT_SYNTAX_CALLBACK(GET_RW(<language-modifying-sentence>, 1)); #endif Annotations::write_int(new, language_element_ANNOT, TRUE); - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE);
    • This code is used in §6.9.

    §6.9.8. And for similar reasons: @@ -920,7 +915,6 @@ it would be too late. WRITE_TO(wd, "%+W", Wordings::one_word(Wordings::first_wn(W))); LoadPreform::parse_text(wd); DISCARD_TEXT(wd) - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE);

    • This code is used in §6.9.

    §7. Some tools using this module will want to push simple error messages out to diff --git a/inbuild/supervisor-module/Chapter 3/Inform7 Skill.w b/inbuild/supervisor-module/Chapter 3/Inform7 Skill.w index 284ef4f93..fd8bf76d3 100644 --- a/inbuild/supervisor-module/Chapter 3/Inform7 Skill.w +++ b/inbuild/supervisor-module/Chapter 3/Inform7 Skill.w @@ -64,7 +64,6 @@ int Inform7Skill::inform7_internally(build_skill *skill, build_step *S, if (project == NULL) internal_error("no project"); if (S->associated_copy->edition->work->genre == project_bundle_genre) Pathnames::create_in_file_system(Projects::materials_path(project)); - SourceText::bulk_of_source_loaded(); #ifdef CORE_MODULE return Task::carry_out(S); #endif diff --git a/inbuild/supervisor-module/Chapter 5/Language Services.w b/inbuild/supervisor-module/Chapter 5/Language Services.w index dc1b0576c..30ef77848 100644 --- a/inbuild/supervisor-module/Chapter 5/Language Services.w +++ b/inbuild/supervisor-module/Chapter 5/Language Services.w @@ -163,3 +163,18 @@ inform_language *Languages::find_for(text_stream *name, linked_list *search) { if (R) return LanguageManager::from_copy(R->copy); return NULL; } + +@ Finally, the following Preform nonterminal matches the English-language +name of a language: for example, "French". Unlike the above functions, it +looks only at languages already loaded, and doesn't scan nests for more. + += + internal { + inform_language *L; + LOOP_OVER(L, inform_language) + if (Wordings::match(W, Wordings::first_word(L->instance_name))) { + ==> { -, L }; + return TRUE; + } + ==> { fail }; +} diff --git a/inbuild/supervisor-module/Chapter 6/Headings.w b/inbuild/supervisor-module/Chapter 6/Headings.w index 0950e70df..8faec69af 100644 --- a/inbuild/supervisor-module/Chapter 6/Headings.w +++ b/inbuild/supervisor-module/Chapter 6/Headings.w @@ -207,7 +207,6 @@ different way in. (These are never skipped.) = void Headings::place_implied_level_0(parse_node_tree *T, parse_node *pn) { Headings::attach(T, pn); - Annotations::write_int(pn, sentence_unparsed_ANNOT, FALSE); Annotations::write_int(pn, heading_level_ANNOT, 0); Annotations::write_int(pn, implied_heading_ANNOT, TRUE); } diff --git a/inbuild/supervisor-module/Chapter 6/Source Text.w b/inbuild/supervisor-module/Chapter 6/Source Text.w index 573e7420c..d47524518 100644 --- a/inbuild/supervisor-module/Chapter 6/Source Text.w +++ b/inbuild/supervisor-module/Chapter 6/Source Text.w @@ -148,40 +148,6 @@ add to those generated in //syntax//. @e ExtInadequateVM_SYNERROR @e ExtMisidentifiedEnds_SYNERROR -@ The //inform7// compiler will eventually make a much more detailed syntax -tree, extending the one we make here: but we will basically just break the -text into sentences, arrange those under headings, and take action on just a -few so-called "structural sentences" which have to be dealt with early on. - -//syntax// allows us to create a callback function which will be called -whenever a new sentence is made. What we use it for reflects that fact that -the vast bulk of the source text is read by //supervisor// early in a run of -//inform7//, with just a few sentences ("inventions") added later. The bulk -part is parsed collectively, but the later inventions have to be marked as -needing to be parsed one by one. So, when //supervisor// has definitely -finished loading the bulk in, it calls: - -= -int bulk_of_source_loaded = FALSE; -void SourceText::bulk_of_source_loaded(void) { - bulk_of_source_loaded = TRUE; -} - -@ And here is the callback function. It's only ever needed for //inform7//, -not for //inbuild//, which isn't in the inventions business. - -@d NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK SourceText::annotate_new_sentence - -= -void SourceText::annotate_new_sentence(parse_node *new) { - if (bulk_of_source_loaded) { - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE); - #ifdef CORE_MODULE - Sentences::VPs::seek(new); - #endif - } -} - @ The next tweak to //syntax// is to give it some node metadata. //syntax// itself places nodes of a small number of basic types into the syntax tree; we want to expand on those. (And the //core// module will expand on them still diff --git a/inform7/Downloads/preform-diagnostics.txt b/inform7/Downloads/preform-diagnostics.txt index 56a9bbfe5..94a5bb52a 100644 --- a/inform7/Downloads/preform-diagnostics.txt +++ b/inform7/Downloads/preform-diagnostics.txt @@ -1,6 +1,6 @@ internal nti 17 constraint (none) extremes [1, 1] - internal hits 1177/6302 nti 18 constraint (none) extremes [0, 0] + internal hits 1213/7972 nti 18 constraint (none) extremes [0, 0] internal hits 3865/7942 nti 19 constraint (none) extremes [0, 0] @@ -12,7 +12,7 @@ hits 6/28 nti 15 constraint DS = {15} extremes [3, infinity) English: {......} , {......} - (hits 6/14) (matched long text) constraint DS = {15} extremes [3, infinity) + (hits 6/10) (matched long text) constraint DS = {15} extremes [3, infinity) internal nti 21 constraint (none) extremes [1, 1] @@ -29,9 +29,9 @@ hits 0/18 nti 16 constraint DS = {16} extremes [3, infinity) English: {......} , _or {......} - (hits 0/9) constraint DS = {16} extremes [4, infinity) + (hits 0/7) constraint DS = {16} extremes [4, infinity) {......} _or {......} - (hits 0/9) constraint DS = {16} extremes [3, infinity) + (hits 0/7) constraint DS = {16} extremes [3, infinity) nti 17 constraint DS = {17} extremes [3, infinity) English: @@ -4728,7 +4728,7 @@ twelfth constraint CS = {27} extremes [1, 1] - internal hits 200/24400 nti r0 constraint CS = {r0} extremes [1, 1] + internal hits 200/22582 nti r0 constraint CS = {r0} extremes [1, 1] internal nti r1 constraint CS = {r1} extremes [1, 1] @@ -4766,7 +4766,7 @@ internal hits 21557/254136 nti r2 constraint (none) extremes [1, 1] - internal hits 2137/40804 nti r2 constraint (none) extremes [1, 1] + internal hits 2364/40774 nti r2 constraint (none) extremes [1, 1] nti r2 constraint CS = {r2} extremes [6, 6] English: @@ -4830,21 +4830,21 @@ hits 16/21706 nti 29 constraint DS = {29} extremes [2, infinity) English: not {...} - (hits 16/2752) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 16/2372) (matched long text) constraint DS = {29} extremes [2, infinity) hits 79/158 nti 30 constraint (none) extremes [1, infinity) English: of the {...} - (hits 0/16) constraint DS = {30} extremes [3, infinity) + (hits 0/8) constraint DS = {30} extremes [3, infinity) of {...} - (hits 0/20) constraint DS = {30} extremes [2, infinity) + (hits 0/8) constraint DS = {30} extremes [2, infinity) {...} (hits 79/79) (matched: 'dvd carried by the person asked') constraint (none) extremes [1, infinity) hits 0/21422 nti 31 constraint DS = {31} extremes [2, infinity) English: no one {***} - (hits 0/5948) constraint DS = {31} extremes [2, infinity) + (hits 0/2608) constraint DS = {31} extremes [2, infinity) internal hits 92/1190 nti 16 constraint (none) extremes [1, 1] @@ -4911,13 +4911,13 @@ here here here here here here constraint CS = {12} extremes [6, 6] - internal hits 4128/9516 nti 6 constraint FS = {6} extremes [1, infinity) + internal hits 4136/9352 nti 6 constraint FS = {6} extremes [1, infinity) internal hits 16/128 nti 7 constraint FS = {7} extremes [1, infinity) - internal hits 1/8072 nti 8 constraint FS = {8} extremes [1, infinity) + internal hits 1/6424 nti 8 constraint FS = {8} extremes [1, infinity) - internal hits 0/1854 nti 9 constraint FS = {9} extremes [1, infinity) + internal hits 0/2306 nti 9 constraint FS = {9} extremes [1, infinity) internal nti 10 constraint FS = {10} extremes [1, infinity) @@ -4935,27 +4935,27 @@ internal nti 12 constraint DS = {12} extremes [1, infinity) - internal hits 635/18334 nti 13 constraint DS = {13} extremes [1, infinity) + internal hits 635/19850 nti 13 constraint DS = {13} extremes [1, infinity) - internal hits 254/8076 nti 14 constraint DS = {14} extremes [1, infinity) + internal hits 254/7990 nti 14 constraint DS = {14} extremes [1, infinity) - hits 67/4258 nti 13 constraint CS = {13} extremes [1, 1] + hits 67/4156 nti 13 constraint CS = {13} extremes [1, 1] English: always/certainly - (hits 10/817) (matched: 'always') constraint CS = {13} extremes [1, 1] + (hits 10/1085) (matched: 'always') constraint CS = {13} extremes [1, 1] usually/normally - (hits 53/807) (matched: 'usually') constraint CS = {13} extremes [1, 1] + (hits 53/1075) (matched: 'usually') constraint CS = {13} extremes [1, 1] rarely/seldom - (hits 0/754) constraint CS = {13} extremes [1, 1] + (hits 0/1022) constraint CS = {13} extremes [1, 1] never - (hits 4/754) (matched: 'never') constraint CS = {13} extremes [1, 1] + (hits 4/1022) (matched: 'never') constraint CS = {13} extremes [1, 1] initially - (hits 0/750) constraint CS = {13} extremes [1, 1] + (hits 0/1018) constraint CS = {13} extremes [1, 1] hits 0/4304 nti 14 constraint DS = {14} extremes [1, infinity) English: {***} once/twice/thrice/turn/turns/time/times - (hits 0/1776) constraint DS = {14} extremes [1, infinity) + (hits 0/1791) constraint DS = {14} extremes [1, infinity) nti 18 constraint DW = {15, 16, 17, 18} extremes [1, 9] English: @@ -5031,10 +5031,10 @@ (hits 60/60) (matched: 'fixed in place') constraint (none) extremes [1, infinity) - hits 33/112846 nti 19 constraint CS = {19} extremes [1, 1] + hits 33/112688 nti 19 constraint CS = {19} extremes [1, 1] English: there - (hits 33/657) (matched: 'there') constraint CS = {19} extremes [1, 1] + (hits 33/713) (matched: 'there') constraint CS = {19} extremes [1, 1] hits 2077/4154 nti 7 constraint (none) extremes [1, infinity) English: @@ -5059,16 +5059,16 @@ {...} (hits 99/279) (matched long text) constraint (none) extremes [1, infinity) - (hits 99/142) (matched long text) constraint DS = {20} extremes [2, infinity) + (hits 99/151) (matched long text) constraint DS = {20} extremes [2, infinity) (hits 81/81) (matched long text) constraint (none) extremes [1, infinity) - hits 198/1224 nti 20 constraint DS = {20} extremes [2, infinity) + hits 198/1288 nti 20 constraint DS = {20} extremes [2, infinity) English: , _{and} - (hits 0/530) constraint DS = {20} extremes [3, infinity) + (hits 0/538) constraint DS = {20} extremes [3, infinity) _{,/and} - (hits 198/569) (matched long text) constraint DS = {20} extremes [2, infinity) + (hits 198/588) (matched long text) constraint DS = {20} extremes [2, infinity) hits 103/206 nti 10 constraint (none) extremes [1, infinity) English: @@ -5089,7 +5089,7 @@ hits 460/920 nti 11 constraint (none) extremes [1, infinity) English: - (hits 0/4) constraint CS = {19} extremes [1, 1] + constraint CS = {19} extremes [1, 1] (hits 0/460) constraint (none) extremes [1, infinity) @@ -5105,56 +5105,56 @@ hits 0/920 nti 13 constraint (none) extremes [1, infinity) English: - constraint CS = {22} extremes [1, 2] + (hits 0/1) constraint CS = {22} extremes [1, 2] {***} (hits 0/453) constraint (none) extremes [1, infinity) - (hits 0/270) constraint DS = {14} extremes [2, infinity) + (hits 0/269) constraint DS = {14} extremes [2, infinity) hits 0/1962 nti 14 constraint (none) extremes [1, infinity) English: - constraint CS = {22} extremes [1, 2] + (hits 0/3) constraint CS = {22} extremes [1, 2] (hits 0/981) constraint (none) extremes [1, infinity) hits 61/898 nti 29 constraint CS = {29} extremes [1, 1] English: thing/something - (hits 61/63) (matched: 'thing') constraint CS = {29} extremes [1, 1] + (hits 61/61) (matched: 'thing') constraint CS = {29} extremes [1, 1] internal hits 388/16706 nti 15 constraint (none) extremes [1, 1] - nti 22 constraint CS = {22} extremes [1, 2] + hits 0/8 nti 22 constraint CS = {22} extremes [1, 2] English: worn - constraint CS = {22} extremes [1, 1] + (hits 0/4) constraint CS = {22} extremes [1, 1] carried - constraint CS = {22} extremes [1, 1] + (hits 0/4) constraint CS = {22} extremes [1, 1] initially carried constraint CS = {22} extremes [2, 2] - hits 0/2502 nti 28 constraint DS = {14} extremes [2, infinity) + hits 0/2500 nti 28 constraint DS = {14} extremes [2, infinity) English: _,/and {...} - (hits 0/402) constraint DS = {14, 28} extremes [3, infinity) + (hits 0/392) constraint DS = {14, 28} extremes [3, infinity) _,/and - (hits 0/415) constraint DS = {14, 28} extremes [2, infinity) + (hits 0/413) constraint DS = {14, 28} extremes [2, infinity) - (hits 0/739) constraint DS = {14} extremes [2, infinity) + (hits 0/716) constraint DS = {14} extremes [2, infinity) hits 1467/2934 nti 27 constraint (none) extremes [1, infinity) English: {...} (hits 174/1467) (matched long text) constraint (none) extremes [1, infinity) {called} - (hits 57/577) (matched long text) constraint DS = {27} extremes [1, infinity) + (hits 57/679) (matched long text) constraint DS = {27} extremes [1, infinity) - (hits 0/697) constraint DS = {24} extremes [2, infinity) + (hits 0/760) constraint DS = {24} extremes [2, infinity) - (hits 87/478) (matched long text) constraint DS = {25} extremes [1, infinity) + (hits 87/547) (matched long text) constraint DS = {25} extremes [1, infinity) - (hits 30/415) (matched: 'a kind of supporter that is portable') constraint DS = {26} extremes [1, infinity) + (hits 30/296) (matched: 'a kind of supporter that is portable') constraint DS = {26} extremes [1, infinity) (hits 4/349) (matched: 'it') constraint (none) extremes [1, 1] @@ -5171,16 +5171,16 @@ (hits 431/431) (matched long text) constraint (none) extremes [1, infinity) - hits 0/10738 nti 24 constraint DS = {24} extremes [2, infinity) + hits 0/10904 nti 24 constraint DS = {24} extremes [2, infinity) English: it with action {***} - (hits 0/3840) constraint DS = {24} extremes [3, infinity) + (hits 0/3860) constraint DS = {24} extremes [3, infinity) {with/having} (/) {***} - (hits 0/4030) constraint DS = {24} extremes [2, infinity) + (hits 0/4083) constraint DS = {24} extremes [2, infinity) {with/having} {...} ( ) - (hits 0/3488) constraint DS = {24} extremes [5, infinity) + (hits 0/3402) constraint DS = {24} extremes [5, infinity) {with/having} - (hits 0/4030) constraint DS = {24} extremes [2, infinity) + (hits 0/4083) constraint DS = {24} extremes [2, infinity) nti 17 constraint (none) extremes [1, infinity) English: @@ -5203,50 +5203,50 @@ {...} constraint (none) extremes [1, infinity) - hits 174/3464 nti 25 constraint DS = {25} extremes [1, infinity) + hits 174/3774 nti 25 constraint DS = {25} extremes [1, infinity) English: , _{and} - (hits 8/919) (matched: ', and didn't understand addressee's last name error') constraint DS = {25} extremes [2, infinity) + (hits 8/1185) (matched: ', and didn't understand addressee's last name error') constraint DS = {25} extremes [2, infinity) _{,/and} - (hits 166/1012) (matched long text) constraint DS = {25} extremes [1, infinity) + (hits 166/1320) (matched long text) constraint DS = {25} extremes [1, infinity) - hits 30/830 nti 19 constraint DS = {26} extremes [1, infinity) + hits 30/592 nti 19 constraint DS = {26} extremes [1, infinity) English: - (hits 30/415) (matched: 'a kind of supporter that is portable') constraint DS = {26} extremes [2, infinity) + (hits 30/296) (matched: 'a kind of supporter that is portable') constraint DS = {26} extremes [2, infinity) - (hits 0/385) constraint DS = {26} extremes [1, infinity) + (hits 0/266) constraint DS = {26} extremes [1, infinity) - hits 30/966 nti 26 constraint DS = {26} extremes [1, infinity) + hits 30/748 nti 26 constraint DS = {26} extremes [1, infinity) English: kind/kinds - (hits 4/6) (matched: 'kind') constraint CS = {26} extremes [1, 1] + (hits 4/59) (matched: 'kind') constraint CS = {26} extremes [1, 1] kind/kinds of - (hits 26/426) (matched: 'kind of supporter that is portable') constraint DS = {26} extremes [2, infinity) + (hits 26/315) (matched: 'kind of supporter that is portable') constraint DS = {26} extremes [2, infinity) internal nti 20 constraint (none) extremes [1, infinity) - internal hits 1353/2734 nti 21 constraint (none) extremes [1, infinity) + internal hits 1353/2706 nti 21 constraint (none) extremes [1, infinity) hits 0/2756 nti 22 constraint DS = {13} extremes [2, infinity) English: {...} - (hits 0/972) constraint DS = {13} extremes [2, infinity) + (hits 0/911) constraint DS = {13} extremes [2, infinity) hits 67/2756 nti 23 constraint DS = {13} extremes [2, infinity) English: {...} - (hits 67/1157) (matched: 'usually table of general chitchat') constraint DS = {13} extremes [2, infinity) + (hits 67/1167) (matched: 'usually table of general chitchat') constraint DS = {13} extremes [2, infinity) - hits 771/25028 nti 30 constraint CS = {30} extremes [1, 1] + hits 771/25668 nti 30 constraint CS = {30} extremes [1, 1] English: which/who/that - (hits 771/5945) (matched: 'which') constraint CS = {30} extremes [1, 1] + (hits 771/5506) (matched: 'which') constraint CS = {30} extremes [1, 1] hits 2/2734 nti 24 constraint DS = {30} extremes [2, infinity) English: - {...} - (hits 2/808) (matched: 'answering it that') constraint DS = {30} extremes [2, infinity) + {...} + (hits 2/923) (matched: 'answering it that') constraint DS = {30} extremes [2, infinity) nti 31 constraint DS = {31} extremes [3, infinity) English: @@ -5465,32 +5465,34 @@ {...} (hits 1/1) (matched long text) constraint (none) extremes [1, infinity) - hits 199/10180 nti 29 constraint DW = {10, 11} extremes [2, infinity) + internal nti 29 constraint (none) extremes [1, infinity) + + hits 199/10180 nti 30 constraint DW = {10, 11} extremes [2, infinity) English: - (hits 191/3137) (matched long text) constraint DS = {10} extremes [2, infinity) + (hits 191/3972) (matched long text) constraint DS = {10} extremes [2, infinity) - (hits 8/2618) (matched long text) constraint DS = {11} extremes [3, infinity) + (hits 8/3630) (matched long text) constraint DS = {11} extremes [3, infinity) - hits 191/2326 nti 10 constraint DS = {10} extremes [2, infinity) + hits 191/2398 nti 10 constraint DS = {10} extremes [2, infinity) English: volume {...} - (hits 6/1163) (matched long text) constraint DS = {10} extremes [2, infinity) + (hits 6/1199) (matched long text) constraint DS = {10} extremes [2, infinity) book {...} - (hits 0/1157) constraint DS = {10} extremes [2, infinity) + (hits 0/1193) constraint DS = {10} extremes [2, infinity) part {...} - (hits 14/1157) (matched: 'part two - the physical world model') constraint DS = {10} extremes [2, infinity) + (hits 14/1193) (matched: 'part two - the physical world model') constraint DS = {10} extremes [2, infinity) chapter {...} - (hits 20/1143) (matched long text) constraint DS = {10} extremes [2, infinity) + (hits 20/1179) (matched long text) constraint DS = {10} extremes [2, infinity) section {...} - (hits 151/1123) (matched long text) constraint DS = {10} extremes [2, infinity) + (hits 151/1159) (matched long text) constraint DS = {10} extremes [2, infinity) - hits 8/5236 nti 11 constraint DS = {11} extremes [3, infinity) + hits 8/7260 nti 11 constraint DS = {11} extremes [3, infinity) English: {...} begin/begins here - (hits 4/2618) (matched long text) constraint DS = {11} extremes [3, infinity) + (hits 4/3630) (matched long text) constraint DS = {11} extremes [3, infinity) {...} end/ends here - (hits 4/2614) (matched: 'the standard rules end here') constraint DS = {11} extremes [3, infinity) + (hits 4/3626) (matched: 'the standard rules end here') constraint DS = {11} extremes [3, infinity) hits 32/12950 nti 13 constraint (none) extremes [1, infinity) English: @@ -5499,52 +5501,52 @@ {...} (hits 0/6455) constraint (none) extremes [2, infinity) - (hits 0/6261) constraint DS = {12} extremes [4, infinity) + (hits 0/6421) constraint DS = {12} extremes [4, infinity) * constraint CS = {13} extremes [1, 1] * constraint DS = {13} extremes [2, 2] table {...} - (hits 14/6283) (matched long text) constraint DS = {13} extremes [2, infinity) + (hits 14/6222) (matched long text) constraint DS = {13} extremes [2, infinity) equation {...} - (hits 0/6269) constraint DS = {13} extremes [2, infinity) + (hits 0/6208) constraint DS = {13} extremes [2, infinity) include the {...} by {...} - (hits 0/6250) constraint DS = {13} extremes [5, infinity) + (hits 0/6186) constraint DS = {13} extremes [5, infinity) include {...} by {...} - (hits 18/6269) (matched long text) constraint DS = {13} extremes [4, infinity) + (hits 18/6208) (matched long text) constraint DS = {13} extremes [4, infinity) include (- {...} - (hits 0/6251) constraint DS = {13} extremes [3, infinity) + (hits 0/6190) constraint DS = {13} extremes [3, infinity) hits 9/2780 nti 14 constraint DS = {14} extremes [2, infinity) English: instead of {...} - (hits 0/1004) constraint DS = {14} extremes [3, infinity) + (hits 0/991) constraint DS = {14} extremes [3, infinity) every turn {***} - (hits 1/1004) (matched: 'every turn rules is a rulebook') constraint DS = {14} extremes [2, infinity) + (hits 1/991) (matched: 'every turn rules is a rulebook') constraint DS = {14} extremes [2, infinity) before {...} - (hits 2/1003) (matched long text) constraint DS = {14} extremes [2, infinity) + (hits 2/990) (matched long text) constraint DS = {14} extremes [2, infinity) after {...} - (hits 2/1001) (matched long text) constraint DS = {14} extremes [2, infinity) + (hits 2/988) (matched long text) constraint DS = {14} extremes [2, infinity) when {...} - (hits 4/999) (matched: 'when scene begins is a scene based rulebook') constraint DS = {14} extremes [2, infinity) + (hits 4/986) (matched: 'when scene begins is a scene based rulebook') constraint DS = {14} extremes [2, infinity) - hits 0/12522 nti 12 constraint DS = {12} extremes [4, infinity) + hits 0/12842 nti 12 constraint DS = {12} extremes [4, infinity) English: include (- {###} in the preform grammar - (hits 0/129) constraint DS = {12} extremes [7, 7] + (hits 0/132) constraint DS = {12} extremes [7, 7] use {...} language element/elements - (hits 0/6261) constraint DS = {12} extremes [4, infinity) + (hits 0/6421) constraint DS = {12} extremes [4, infinity) hits 30/442 nti 21 constraint DS = {21} extremes [2, infinity) English: {...} ( ) - (hits 13/221) (matched long text) constraint DS = {21} extremes [4, infinity) + (hits 13/146) (matched long text) constraint DS = {21} extremes [4, infinity) {...} not for release - (hits 1/208) (matched long text) constraint DS = {21} extremes [4, infinity) + (hits 1/133) (matched long text) constraint DS = {21} extremes [4, infinity) {...} for release only - (hits 0/207) constraint DS = {21} extremes [4, infinity) + (hits 0/132) constraint DS = {21} extremes [4, infinity) {...} unindexed - (hits 16/207) (matched long text) constraint DS = {21} extremes [2, infinity) + (hits 16/132) (matched long text) constraint DS = {21} extremes [2, infinity) hits 13/26 nti 20 constraint DW = {17, 19, 20} extremes [1, infinity) English: @@ -5595,7 +5597,7 @@ {......} by {......} constraint DS = {18} extremes [3, infinity) - internal hits 7/14 nti 30 constraint (none) extremes [1, infinity) + internal hits 7/14 nti 31 constraint (none) extremes [1, infinity) nti 23 constraint (none) extremes [1, infinity) English: @@ -5634,14 +5636,14 @@ (hits 10/10) (matched: 'basic inform') constraint (none) extremes [1, infinity) - hits 10/20 nti 31 constraint (none) extremes [1, infinity) + hits 10/20 nti 6 constraint (none) extremes [1, infinity) English: {***} (hits 0/10) constraint (none) extremes [1, infinity) {...} (hits 10/10) (matched: 'basic inform') constraint (none) extremes [1, infinity) - internal hits 6/12 nti 6 constraint (none) extremes [1, 1] + internal hits 6/12 nti 7 constraint (none) extremes [1, 1] hits 4/8 nti 27 constraint (none) extremes [1, infinity) English: @@ -5658,41 +5660,41 @@ hits 2873/18796 nti 29 constraint DS = {29} extremes [1, infinity) English: if {...} is begin - (hits 0/4361) constraint DS = {29} extremes [4, infinity) + (hits 0/4322) constraint DS = {29} extremes [4, infinity) if {...} is - (hits 0/4404) constraint DS = {29} extremes [3, infinity) + (hits 0/4893) constraint DS = {29} extremes [3, infinity) if/unless {...} - (hits 2123/4413) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 2123/4893) (matched long text) constraint DS = {29} extremes [2, infinity) repeat {...} - (hits 101/2290) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 101/2770) (matched long text) constraint DS = {29} extremes [2, infinity) while {...} - (hits 31/2189) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 31/2669) (matched long text) constraint DS = {29} extremes [2, infinity) else/otherwise (hits 330/330) (matched: 'otherwise') constraint CS = {29} extremes [1, 1] else/otherwise if/unless {...} - (hits 231/2149) (matched long text) constraint DS = {29} extremes [3, infinity) + (hits 231/2638) (matched long text) constraint DS = {29} extremes [3, infinity) else/otherwise {...} - (hits 57/1927) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 57/2407) (matched long text) constraint DS = {29} extremes [2, infinity) -- otherwise constraint CS = {29} extremes [2, 2] -- {...} - (hits 0/1870) constraint DS = {29} extremes [2, infinity) + (hits 0/2350) constraint DS = {29} extremes [2, infinity) hits 0/12004 nti 30 constraint CS = {30} extremes [2, 2] English: end if/unless - (hits 0/6) constraint CS = {30} extremes [2, 2] + constraint CS = {30} extremes [2, 2] end while - (hits 0/6) constraint CS = {30} extremes [2, 2] + constraint CS = {30} extremes [2, 2] end repeat - (hits 0/6) constraint CS = {30} extremes [2, 2] + constraint CS = {30} extremes [2, 2] hits 756/14584 nti 31 constraint DS = {31} extremes [2, infinity) English: say {...} - (hits 584/3095) (matched: 'say run paragraph on with special look spacing') constraint DS = {31} extremes [2, infinity) + (hits 584/1624) (matched: 'say run paragraph on with special look spacing') constraint DS = {31} extremes [2, infinity) now {...} - (hits 172/2511) (matched long text) constraint DS = {31} extremes [2, infinity) + (hits 172/1040) (matched long text) constraint DS = {31} extremes [2, infinity) hits 2306/7528 nti 6 constraint DS = {6} extremes [3, infinity) English: @@ -5702,841 +5704,809 @@ hits 30/9858 nti 7 constraint DS = {7} extremes [2, infinity) English: instead {...} - (hits 0/2025) constraint DS = {7} extremes [2, infinity) + (hits 0/2150) constraint DS = {7} extremes [2, infinity) {...} instead - (hits 30/2025) (matched long text) constraint DS = {7} extremes [2, infinity) + (hits 30/2150) (matched long text) constraint DS = {7} extremes [2, infinity) hits 0/880 nti 8 constraint DS = {8} extremes [2, infinity) English: {...} begin - (hits 0/432) constraint DS = {8} extremes [2, infinity) + (hits 0/430) constraint DS = {8} extremes [2, infinity) - internal nti 7 constraint (none) extremes [1, 1] + internal nti 8 constraint (none) extremes [1, 1] - internal hits 7/14 nti 8 constraint (none) extremes [1, infinity) + internal hits 7/14 nti 9 constraint (none) extremes [1, infinity) - internal nti 9 constraint (none) extremes [1, infinity) - - hits 4/1112 nti 9 constraint DS = {9} extremes [3, infinity) + nti 9 constraint (none) extremes [1, infinity) English: -

    plural of - (hits 4/193) (matched: 'the plural of person') constraint DS = {9} extremes [4, infinity) - plural of - (hits 0/240) constraint DS = {9} extremes [3, infinity) - - internal hits 0/4684 nti 10 constraint (none) extremes [1, infinity) - - nti 12 constraint (none) extremes [1, infinity) - English: - {...} ( {} ) - constraint DS = {12} extremes [4, infinity) - times - constraint DS = {12} extremes [3, infinity) - times - constraint DS = {12} extremes [3, infinity) - {...} - constraint (none) extremes [1, infinity) - - nti 11 constraint (none) extremes [1, infinity) - English: - - constraint DS = {11} extremes [3, infinity) - - constraint (none) extremes [1, infinity) - - nti 11 constraint DS = {11} extremes [2, infinity) - English: - , and - constraint DS = {11} extremes [3, infinity) - ,/and - constraint DS = {11} extremes [2, infinity) - - nti 10 constraint (none) extremes [1, infinity) - English: - singular - constraint CS = {10} extremes [1, 1] - plural - constraint CS = {10} extremes [1, 1] - - constraint (none) extremes [1, infinity) - in {......} - constraint DS = {10} extremes [2, infinity) - {......} - constraint (none) extremes [1, infinity) - - nti 12 constraint (none) extremes [1, infinity) - English: - - constraint DW = {18, 26} extremes [3, infinity) - - constraint (none) extremes [1, infinity) - - nti 13 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, infinity) - {...} - constraint (none) extremes [1, infinity) - - nti 26 constraint DW = {18, 26} extremes [2, infinity) - English: - with parts - constraint DS = {26} extremes [2, infinity) - - constraint DS = {18} extremes [3, infinity) - offset by - constraint DS = {18, 26} extremes [6, infinity) - offset by - constraint DS = {26} extremes [3, infinity) - equivalent to - constraint DS = {26} extremes [3, infinity) - - nti 18 constraint DS = {18} extremes [3, infinity) - English: - scaled up by - constraint DS = {18} extremes [4, 4] - scaled up by - constraint DS = {18} extremes [4, infinity) - scaled down by - constraint DS = {18} extremes [4, 4] - scaled down by - constraint DS = {18} extremes [4, infinity) - scaled at - constraint DS = {18} extremes [3, 3] - scaled at - constraint DS = {18} extremes [3, infinity) - - nti 16 constraint (none) extremes [0, infinity) - English: - , and - constraint DS = {16} extremes [3, infinity) - , - constraint DS = {16} extremes [2, infinity) - and - constraint DS = {16} extremes [2, infinity) - - constraint (none) extremes [0, infinity) - - nti 15 constraint (none) extremes [0, infinity) - English: - ( ) - constraint DS = {15} extremes [3, infinity) - - constraint (none) extremes [0, infinity) - - nti 14 constraint (none) extremes [1, infinity) - English: - - constraint DS = {14} extremes [3, infinity) - - constraint (none) extremes [1, infinity) - - nti 14 constraint DS = {14} extremes [2, infinity) - English: - , and - constraint DS = {14} extremes [3, infinity) - ,/and - constraint DS = {14} extremes [2, infinity) - - nti 13 constraint (none) extremes [1, infinity) - English: - optional - constraint CS = {13} extremes [1, 1] - preamble optional - constraint CS = {13} extremes [2, 2] - without leading zeros - constraint CS = {13} extremes [3, 3] - {......} - constraint (none) extremes [1, infinity) - - internal nti 15 constraint (none) extremes [1, infinity) - - hits 0/6936 nti 24 constraint DW = {22, 23, 24} extremes [2, 5] - English: - minus - (hits 0/1158) constraint DS = {22, 24} extremes [3, 5] - - (hits 0/2387) constraint DS = {22} extremes [2, 4] - - (hits 0/1304) constraint DS = {23} extremes [2, 2] - - hits 0/4774 nti 22 constraint DS = {22} extremes [2, 4] - English: - hour/hours - (hits 0/1320) constraint DS = {22} extremes [2, 2] - minute/minutes - (hits 0/1320) constraint DS = {22} extremes [2, 2] - hour/hours minute/minutes - (hits 0/522) constraint DS = {22} extremes [4, 4] - - hits 0/2608 nti 16 constraint DS = {23} extremes [2, 2] - English: - - (hits 0/1304) constraint DS = {23} extremes [2, 2] - - (hits 0/1304) constraint DS = {23} extremes [2, 2] - - nti 23 constraint CS = {23} extremes [1, 1] - English: - am - constraint CS = {23} extremes [1, 1] - pm - constraint CS = {23} extremes [1, 1] - - internal hits 0/2608 nti 17 constraint (none) extremes [1, 1] - - internal nti 18 constraint (none) extremes [1, 1] - - hits 0/3304 nti 27 constraint DS = {27} extremes [2, infinity) - English: - at - (hits 0/76) constraint DS = {23, 27} extremes [3, 3] - at the time when {...} - (hits 0/1558) constraint DS = {27} extremes [5, infinity) - at the time that {...} - (hits 0/1558) constraint DS = {27} extremes [5, infinity) - at {...} - (hits 0/1652) constraint DS = {27} extremes [2, infinity) - - nti 19 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, infinity) - {...} - constraint (none) extremes [1, infinity) - - nti 20 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, 1] - {...} - constraint (none) extremes [1, infinity) - - nti 21 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, 1] - - constraint (none) extremes [1, infinity) - - internal nti 22 constraint (none) extremes [1, infinity) - - nti 23 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, infinity) - - constraint (none) extremes [1, infinity) - - internal nti 24 constraint (none) extremes [1, infinity) - - internal hits 4/252 nti 25 constraint (none) extremes [1, infinity) - - internal nti 26 constraint (none) extremes [1, infinity) - - hits 4/186 nti 28 constraint CS = {28} extremes [1, 2] - English: - i6-varying-global - (hits 1/4) (matched: 'i6-varying-global') constraint CS = {28} extremes [1, 1] - i6-nothing-constant - (hits 1/3) (matched: 'i6-nothing-constant') constraint CS = {28} extremes [1, 1] - command prompt - (hits 1/1) (matched: 'command prompt') constraint CS = {28} extremes [2, 2] - parameter-object - (hits 1/2) (matched: 'parameter-object') constraint CS = {28} extremes [1, 1] - - nti 29 constraint DS = {29} extremes [2, infinity) - English: - understood - constraint DS = {29} extremes [2, infinity) - - internal hits 43/96 nti 27 constraint (none) extremes [1, infinity) - - nti 30 constraint CS = {30} extremes [1, 1] - English: - equality - constraint CS = {30} extremes [1, 1] - universal - constraint CS = {30} extremes [1, 1] - meaning - constraint CS = {30} extremes [1, 1] - provision - constraint CS = {30} extremes [1, 1] - numerically-greater-than-or-equal-to - constraint CS = {30} extremes [1, 1] - numerically-greater-than - constraint CS = {30} extremes [1, 1] - numerically-less-than-or-equal-to - constraint CS = {30} extremes [1, 1] - numerically-less-than - constraint CS = {30} extremes [1, 1] - adjacency - constraint CS = {30} extremes [1, 1] - regional-containment - constraint CS = {30} extremes [1, 1] - containment - constraint CS = {30} extremes [1, 1] - support - constraint CS = {30} extremes [1, 1] - incorporation - constraint CS = {30} extremes [1, 1] - carrying - constraint CS = {30} extremes [1, 1] - holding - constraint CS = {30} extremes [1, 1] - wearing - constraint CS = {30} extremes [1, 1] - possession - constraint CS = {30} extremes [1, 1] - visibility - constraint CS = {30} extremes [1, 1] - touchability - constraint CS = {30} extremes [1, 1] - concealment - constraint CS = {30} extremes [1, 1] - enclosure - constraint CS = {30} extremes [1, 1] - room-containment - constraint CS = {30} extremes [1, 1] - - hits 5/12 nti 31 constraint DS = {31} extremes [3, infinity) - English: - to - (hits 5/6) (matched long text) constraint DS = {31} extremes [3, infinity) - - hits 5/10 nti 28 constraint (none) extremes [1, infinity) - English: - - (hits 0/5) constraint (none) extremes [1, infinity) - {...} - (hits 5/5) (matched: 'leading-through') constraint (none) extremes [1, infinity) - - hits 5/10 nti 7 constraint (none) extremes [1, infinity) - English: - ( called {...} ) - (hits 3/3) (matched: 'one room ( called the other side )') constraint DS = {7} extremes [5, infinity) - - (hits 2/2) (matched: 'one person') constraint (none) extremes [1, infinity) - - hits 5/10 nti 10 constraint (none) extremes [1, infinity) - English: - with fast route-finding - (hits 0/1) constraint DS = {10} extremes [4, infinity) - when {...} - (hits 1/1) (matched long text) constraint DS = {10} extremes [3, infinity) - - (hits 4/4) (matched: 'various doors') constraint (none) extremes [1, infinity) - - hits 5/10 nti 9 constraint (none) extremes [1, infinity) - English: - ( called {...} ) - (hits 1/1) (matched: 'a room ( called y )') constraint DS = {9} extremes [5, infinity) - - (hits 4/4) (matched: 'various doors') constraint (none) extremes [1, infinity) - - hits 5/10 nti 8 constraint (none) extremes [1, infinity) - English: - {another} - constraint CS = {8} extremes [1, 1] - {each other} - constraint CS = {8} extremes [2, 2] - {each other in groups} - constraint CS = {8} extremes [4, 4] - - (hits 5/5) (matched: 'various doors') constraint (none) extremes [1, infinity) - - hits 10/20 nti 6 constraint (none) extremes [1, infinity) - English: - one {...} - (hits 4/10) (matched: 'one room') constraint DS = {6} extremes [2, infinity) - various {...} - (hits 4/6) (matched: 'various doors') constraint DS = {6} extremes [2, infinity) - {...} - (hits 2/2) (matched: 'a door') constraint (none) extremes [1, infinity) - - nti 11 constraint DS = {11} extremes [3, infinity) - English: - {...} relation storage - constraint DS = {11} extremes [3, infinity) - - nti 12 constraint CS = {12} extremes [1, 1] - English: - < - constraint CS = {12} extremes [1, 1] - > - constraint CS = {12} extremes [1, 1] - <= - constraint CS = {12} extremes [1, 1] - >= - constraint CS = {12} extremes [1, 1] - - hits 152/304 nti 15 constraint (none) extremes [1, infinity) - English: - in - (hits 0/45) constraint DS = {15} extremes [3, infinity) - - (hits 152/152) (matched long text) constraint (none) extremes [1, infinity) - - hits 152/304 nti 14 constraint (none) extremes [1, infinity) - English: - to ( {...} ) - (hits 1/9) (matched long text) constraint DS = {14} extremes [5, infinity) - to - (hits 151/151) (matched: 'to be able to be') constraint DS = {14} extremes [2, infinity) - ( {...} ) - constraint DS = {14} extremes [4, infinity) - - constraint (none) extremes [1, infinity) - - hits 152/304 nti 13 constraint (none) extremes [1, infinity) - English: - {be able to ...} - (hits 3/7) (matched: 'be able to be') constraint DS = {13} extremes [4, infinity) - {be able to} - (hits 1/6) (matched: 'be able to') constraint CS = {13} extremes [3, 3] - {...} - (hits 148/148) (matched: 'translate into + as') constraint (none) extremes [1, infinity) - - hits 5/10 nti 16 constraint (none) extremes [2, infinity) - English: - is/are {...} - (hits 2/2) (matched: 'it is concealed') constraint DS = {16} extremes [3, infinity) - {...} - (hits 3/3) (matched: 'he conceals') constraint (none) extremes [2, infinity) - - hits 1/4 nti 29 constraint (none) extremes [1, infinity) - English: - {***} - (hits 1/2) (matched: 'concealing') constraint (none) extremes [1, infinity) - {***} - (hits 0/1) constraint (none) extremes [1, infinity) - - hits 78/156 nti 17 constraint (none) extremes [1, infinity) - English: - reversed relation - (hits 18/53) (matched: 'reversed mapping up relation') constraint DS = {17} extremes [3, infinity) - relation - (hits 25/60) (matched: 'equality relation') constraint DS = {17} extremes [2, infinity) - to - (hits 0/35) constraint DS = {17} extremes [2, infinity) - {...} property - (hits 0/35) constraint DS = {17} extremes [2, infinity) - built-in {...} meaning - (hits 35/35) (matched: 'built-in new-verb meaning') constraint DS = {17} extremes [3, infinity) - {...} relation - constraint DS = {17} extremes [2, infinity) - {relation} - constraint CS = {17} extremes [1, 1] - {...} - constraint (none) extremes [1, infinity) - - hits 74/1260 nti 30 constraint DS = {18} extremes [1, infinity) - English: - - (hits 74/317) (matched: 'a verb') constraint DS = {18} extremes [2, infinity) - - (hits 0/252) constraint DS = {18} extremes [1, infinity) - - hits 74/928 nti 18 constraint DS = {18} extremes [1, infinity) - English: - verb - (hits 74/83) (matched: 'verb') constraint CS = {18} extremes [1, 1] - verb implying/meaning nounphrase-unparsed> - (hits 0/57) constraint DS = {18} extremes [4, 4] - verb implying/meaning - (hits 0/379) constraint DS = {18} extremes [3, infinity) - - hits 78/160 nti 31 constraint DS = {19} extremes [2, infinity) - English: - - (hits 78/80) (matched long text) constraint DS = {19} extremes [3, infinity) - - (hits 0/2) constraint DS = {19} extremes [2, infinity) - - hits 78/164 nti 19 constraint DS = {19} extremes [2, infinity) - English: - verb to - constraint CS = {19} extremes [2, 2] - verb in the imperative - (hits 7/34) (matched: 'verb to include + in in the imperative') constraint DS = {19} extremes [5, infinity) - verb - (hits 71/73) (matched long text) constraint DS = {19} extremes [2, infinity) - - nti 20 constraint CS = {20} extremes [1, 1] - English: - be - constraint CS = {20} extremes [1, 1] - mean - constraint CS = {20} extremes [1, 1] - imply - constraint CS = {20} extremes [1, 1] - - hits 0/856 nti 6 constraint DS = {21} extremes [1, infinity) - English: - - (hits 0/142) constraint DS = {21} extremes [2, infinity) - - (hits 0/144) constraint DS = {21} extremes [1, infinity) - - hits 0/354 nti 21 constraint DS = {21} extremes [1, infinity) - English: - adjective - (hits 0/2) constraint CS = {21} extremes [1, 1] - adjective implying/meaning - (hits 0/134) constraint DS = {21} extremes [4, infinity) - adjective implying/meaning - (hits 0/169) constraint DS = {21} extremes [3, infinity) - - nti 22 constraint (none) extremes [1, infinity) - English: - in {...} - constraint DS = {22} extremes [3, infinity) - {...} - constraint (none) extremes [1, infinity) - - nti 23 constraint CS = {23} extremes [3, 3] - English: - the debugging log - constraint CS = {23} extremes [3, 3] - - nti 25 constraint (none) extremes [1, infinity) - English: - only - constraint DS = {25} extremes [2, infinity) - - constraint (none) extremes [1, infinity) - - nti 24 constraint (none) extremes [1, infinity) - English: - everything - constraint CS = {24} extremes [1, 1] - nothing - constraint CS = {24} extremes [1, 1] - - constraint (none) extremes [1, 1] - {...} - constraint (none) extremes [1, infinity) - - hits 1353/2734 nti 7 constraint (none) extremes [1, infinity) - English: - - (hits 1353/1367) (matched long text) constraint (none) extremes [1, infinity) - - hits 2/690 nti 26 constraint DS = {26} extremes [2, infinity) - English: - figure {...} - (hits 2/225) (matched: 'figure of cover') constraint DS = {26} extremes [2, infinity) - - hits 1/688 nti 27 constraint DS = {27} extremes [2, infinity) - English: - sound {...} - (hits 1/226) (matched: 'sound name understood') constraint DS = {27} extremes [2, infinity) - - hits 0/688 nti 8 constraint (none) extremes [2, infinity) - English: - - (hits 0/330) constraint (none) extremes [2, infinity) - - hits 90/182 nti 9 constraint (none) extremes [0, infinity) - English: - ^ - (hits 90/91) (matched long text) constraint (none) extremes [0, infinity) - - hits 1/182 nti 31 constraint DS = {31} extremes [1, infinity) - English: - {***} that/which vary/varies - (hits 1/91) (matched: 'name based rule producing nothing that varies') constraint DS = {31} extremes [2, infinity) - {***} variable - (hits 0/90) constraint DS = {31} extremes [1, infinity) - - hits 0/444 nti 6 constraint CS = {6} extremes [1, 1] - English: - unicode - constraint CS = {6} extremes [1, 1] - - hits 220/442 nti 7 constraint CS = {7} extremes [1, 2] - English: - i6 - (hits 220/220) (matched: 'i6') constraint CS = {7} extremes [1, 1] - inform 6 - constraint CS = {7} extremes [2, 2] - - nti 10 constraint (none) extremes [1, infinity) - English: - - constraint (none) extremes [1, infinity) - - hits 0/28 nti 11 constraint (none) extremes [3, infinity) - English: - {...} + {...} constraint (none) extremes [3, infinity) + before/every/after/when/instead/check/carry/report {...} + constraint DS = {9} extremes [2, infinity) + if {...} + constraint DS = {9} extremes [2, infinity) + {...} , {...} + constraint DS = {9} extremes [3, infinity) + {...} + constraint (none) extremes [1, infinity) - nti 12 constraint (none) extremes [2, infinity) + nti 10 constraint (none) extremes [2, infinity) English: - {...} + {...} constraint DS = {13, 30} extremes [4, infinity) - {...} + {...} constraint DS = {30} extremes [3, infinity) {...} constraint FS = {11} extremes [2, infinity) {...} constraint FS = {10} extremes [2, infinity) - hits 235/950 nti 13 constraint DW = {8, 9, 10} extremes [2, infinity) + nti 10 constraint CS = {10} extremes [3, 3] + English: + the debugging log + constraint CS = {10} extremes [3, 3] + + nti 12 constraint (none) extremes [1, infinity) + English: + only + constraint DS = {12} extremes [2, infinity) + + constraint (none) extremes [1, infinity) + + nti 11 constraint (none) extremes [1, infinity) + English: + everything + constraint CS = {11} extremes [1, 1] + nothing + constraint CS = {11} extremes [1, 1] + + constraint (none) extremes [1, 1] + {...} + constraint (none) extremes [1, infinity) + + hits 4/1112 nti 13 constraint DS = {13} extremes [3, infinity) + English: +
    plural of + (hits 4/278) (matched: 'the plural of person') constraint DS = {13} extremes [4, infinity) + plural of + (hits 0/365) constraint DS = {13} extremes [3, infinity) + + nti 11 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, infinity) + + nti 12 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, infinity) + + constraint (none) extremes [1, infinity) + + hits 0/444 nti 14 constraint CS = {14} extremes [1, 1] + English: + unicode + (hits 0/2) constraint CS = {14} extremes [1, 1] + + hits 220/442 nti 15 constraint CS = {15} extremes [1, 2] + English: + inter + (hits 218/220) (matched: 'inter') constraint CS = {15} extremes [1, 1] + i6 + (hits 2/2) (matched: 'i6') constraint CS = {15} extremes [1, 1] + inform 6 + constraint CS = {15} extremes [2, 2] + + internal hits 0/4684 nti 13 constraint (none) extremes [1, infinity) + + nti 18 constraint (none) extremes [1, infinity) + English: + {...} ( {} ) + constraint DS = {18} extremes [4, infinity) + times + constraint DS = {18} extremes [3, infinity) + times + constraint DS = {18} extremes [3, infinity) + {...} + constraint (none) extremes [1, infinity) + + nti 14 constraint (none) extremes [1, infinity) + English: + + constraint DS = {17} extremes [3, infinity) + + constraint (none) extremes [1, infinity) + + nti 17 constraint DS = {17} extremes [2, infinity) + English: + , and + constraint DS = {17} extremes [3, infinity) + ,/and + constraint DS = {17} extremes [2, infinity) + + nti 16 constraint (none) extremes [1, infinity) + English: + singular + constraint CS = {16} extremes [1, 1] + plural + constraint CS = {16} extremes [1, 1] + + constraint (none) extremes [1, infinity) + in {......} + constraint DS = {16} extremes [2, infinity) + {......} + constraint (none) extremes [1, infinity) + + nti 15 constraint (none) extremes [1, infinity) + English: + + constraint DW = {6, 24} extremes [3, infinity) + + constraint (none) extremes [1, infinity) + + nti 16 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, infinity) + {...} + constraint (none) extremes [1, infinity) + + nti 6 constraint DW = {6, 24} extremes [2, infinity) + English: + with parts + constraint DS = {6} extremes [2, infinity) + + constraint DS = {24} extremes [3, infinity) + offset by + constraint DS = {6, 24} extremes [6, infinity) + offset by + constraint DS = {6} extremes [3, infinity) + equivalent to + constraint DS = {6} extremes [3, infinity) + + nti 24 constraint DS = {24} extremes [3, infinity) + English: + scaled up by + constraint DS = {24} extremes [4, 4] + scaled up by + constraint DS = {24} extremes [4, infinity) + scaled down by + constraint DS = {24} extremes [4, 4] + scaled down by + constraint DS = {24} extremes [4, infinity) + scaled at + constraint DS = {24} extremes [3, 3] + scaled at + constraint DS = {24} extremes [3, infinity) + + nti 22 constraint (none) extremes [0, infinity) + English: + , and + constraint DS = {22} extremes [3, infinity) + , + constraint DS = {22} extremes [2, infinity) + and + constraint DS = {22} extremes [2, infinity) + + constraint (none) extremes [0, infinity) + + nti 21 constraint (none) extremes [0, infinity) + English: + ( ) + constraint DS = {21} extremes [3, infinity) + + constraint (none) extremes [0, infinity) + + nti 17 constraint (none) extremes [1, infinity) + English: + + constraint DS = {20} extremes [3, infinity) + + constraint (none) extremes [1, infinity) + + nti 20 constraint DS = {20} extremes [2, infinity) + English: + , and + constraint DS = {20} extremes [3, infinity) + ,/and + constraint DS = {20} extremes [2, infinity) + + nti 19 constraint (none) extremes [1, infinity) + English: + optional + constraint CS = {19} extremes [1, 1] + preamble optional + constraint CS = {19} extremes [2, 2] + without leading zeros + constraint CS = {19} extremes [3, 3] + {......} + constraint (none) extremes [1, infinity) + + internal nti 18 constraint (none) extremes [1, infinity) + + hits 0/6108 nti 30 constraint DW = {28, 29, 30} extremes [2, 5] + English: + minus + (hits 0/1052) constraint DS = {28, 30} extremes [3, 5] + + (hits 0/1947) constraint DS = {28} extremes [2, 4] + + (hits 0/395) constraint DS = {29} extremes [2, 2] + + hits 0/3894 nti 28 constraint DS = {28} extremes [2, 4] + English: + hour/hours + (hits 0/1122) constraint DS = {28} extremes [2, 2] + minute/minutes + (hits 0/1122) constraint DS = {28} extremes [2, 2] + hour/hours minute/minutes + (hits 0/427) constraint DS = {28} extremes [4, 4] + + hits 0/790 nti 19 constraint DS = {29} extremes [2, 2] + English: + + (hits 0/395) constraint DS = {29} extremes [2, 2] + + (hits 0/395) constraint DS = {29} extremes [2, 2] + + nti 29 constraint CS = {29} extremes [1, 1] + English: + am + constraint CS = {29} extremes [1, 1] + pm + constraint CS = {29} extremes [1, 1] + + internal hits 0/790 nti 20 constraint (none) extremes [1, 1] + + internal nti 21 constraint (none) extremes [1, 1] + + hits 0/3384 nti 7 constraint DS = {7} extremes [2, infinity) + English: + at + (hits 0/8) constraint DS = {7, 29} extremes [3, 3] + at the time when {...} + (hits 0/1572) constraint DS = {7} extremes [5, infinity) + at the time that {...} + (hits 0/1572) constraint DS = {7} extremes [5, infinity) + at {...} + (hits 0/1692) constraint DS = {7} extremes [2, infinity) + + nti 22 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, infinity) + {...} + constraint (none) extremes [1, infinity) + + nti 23 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, 1] + {...} + constraint (none) extremes [1, infinity) + + nti 24 constraint (none) extremes [1, infinity) + English: + + constraint (none) extremes [1, 1] + + constraint (none) extremes [1, infinity) + + internal nti 25 constraint (none) extremes [1, infinity) + + internal nti 26 constraint (none) extremes [1, infinity) + + internal hits 4/252 nti 27 constraint (none) extremes [1, infinity) + + internal nti 28 constraint (none) extremes [1, infinity) + + hits 4/186 nti 8 constraint CS = {8} extremes [1, 2] + English: + i6-varying-global + (hits 1/3) (matched: 'i6-varying-global') constraint CS = {8} extremes [1, 1] + i6-nothing-constant + (hits 1/2) (matched: 'i6-nothing-constant') constraint CS = {8} extremes [1, 1] + command prompt + (hits 1/1) (matched: 'command prompt') constraint CS = {8} extremes [2, 2] + parameter-object + (hits 1/1) (matched: 'parameter-object') constraint CS = {8} extremes [1, 1] + + nti 9 constraint DS = {9} extremes [2, infinity) + English: + understood + constraint DS = {9} extremes [2, infinity) + + internal hits 43/96 nti 29 constraint (none) extremes [1, infinity) + + nti 10 constraint CS = {10} extremes [1, 1] + English: + equality + constraint CS = {10} extremes [1, 1] + universal + constraint CS = {10} extremes [1, 1] + meaning + constraint CS = {10} extremes [1, 1] + provision + constraint CS = {10} extremes [1, 1] + numerically-greater-than-or-equal-to + constraint CS = {10} extremes [1, 1] + numerically-greater-than + constraint CS = {10} extremes [1, 1] + numerically-less-than-or-equal-to + constraint CS = {10} extremes [1, 1] + numerically-less-than + constraint CS = {10} extremes [1, 1] + adjacency + constraint CS = {10} extremes [1, 1] + regional-containment + constraint CS = {10} extremes [1, 1] + containment + constraint CS = {10} extremes [1, 1] + support + constraint CS = {10} extremes [1, 1] + incorporation + constraint CS = {10} extremes [1, 1] + carrying + constraint CS = {10} extremes [1, 1] + holding + constraint CS = {10} extremes [1, 1] + wearing + constraint CS = {10} extremes [1, 1] + possession + constraint CS = {10} extremes [1, 1] + visibility + constraint CS = {10} extremes [1, 1] + touchability + constraint CS = {10} extremes [1, 1] + concealment + constraint CS = {10} extremes [1, 1] + enclosure + constraint CS = {10} extremes [1, 1] + room-containment + constraint CS = {10} extremes [1, 1] + + hits 5/12 nti 11 constraint DS = {11} extremes [3, infinity) + English: + to + (hits 5/6) (matched long text) constraint DS = {11} extremes [3, infinity) + + hits 5/10 nti 30 constraint (none) extremes [1, infinity) + English: + + (hits 0/5) constraint (none) extremes [1, infinity) + {...} + (hits 5/5) (matched: 'leading-through') constraint (none) extremes [1, infinity) + + hits 5/10 nti 13 constraint (none) extremes [1, infinity) + English: + ( called {...} ) + (hits 3/3) (matched: 'one room ( called the other side )') constraint DS = {13} extremes [5, infinity) + + (hits 2/2) (matched: 'one person') constraint (none) extremes [1, infinity) + + hits 5/10 nti 16 constraint (none) extremes [1, infinity) + English: + with fast route-finding + (hits 0/1) constraint DS = {16} extremes [4, infinity) + when {...} + (hits 1/1) (matched long text) constraint DS = {16} extremes [3, infinity) + + (hits 4/4) (matched: 'various doors') constraint (none) extremes [1, infinity) + + hits 5/10 nti 15 constraint (none) extremes [1, infinity) + English: + ( called {...} ) + (hits 1/1) (matched: 'a room ( called y )') constraint DS = {15} extremes [5, infinity) + + (hits 4/4) (matched: 'various doors') constraint (none) extremes [1, infinity) + + hits 5/10 nti 14 constraint (none) extremes [1, infinity) + English: + {another} + constraint CS = {14} extremes [1, 1] + {each other} + constraint CS = {14} extremes [2, 2] + {each other in groups} + constraint CS = {14} extremes [4, 4] + + (hits 5/5) (matched: 'various doors') constraint (none) extremes [1, infinity) + + hits 10/20 nti 12 constraint (none) extremes [1, infinity) + English: + one {...} + (hits 4/10) (matched: 'one room') constraint DS = {12} extremes [2, infinity) + various {...} + (hits 4/6) (matched: 'various doors') constraint DS = {12} extremes [2, infinity) + {...} + (hits 2/2) (matched: 'a door') constraint (none) extremes [1, infinity) + + nti 17 constraint DS = {17} extremes [3, infinity) + English: + {...} relation storage + constraint DS = {17} extremes [3, infinity) + + nti 18 constraint CS = {18} extremes [1, 1] + English: + < + constraint CS = {18} extremes [1, 1] + > + constraint CS = {18} extremes [1, 1] + <= + constraint CS = {18} extremes [1, 1] + >= + constraint CS = {18} extremes [1, 1] + + hits 152/304 nti 21 constraint (none) extremes [1, infinity) + English: + in + (hits 0/45) constraint DS = {21} extremes [3, infinity) + + (hits 152/152) (matched long text) constraint (none) extremes [1, infinity) + + hits 152/304 nti 20 constraint (none) extremes [1, infinity) + English: + to ( {...} ) + (hits 1/9) (matched long text) constraint DS = {20} extremes [5, infinity) + to + (hits 151/151) (matched: 'to be able to be') constraint DS = {20} extremes [2, infinity) + ( {...} ) + constraint DS = {20} extremes [4, infinity) + + constraint (none) extremes [1, infinity) + + hits 152/304 nti 19 constraint (none) extremes [1, infinity) + English: + {be able to ...} + (hits 3/5) (matched: 'be able to be') constraint DS = {19} extremes [4, infinity) + {be able to} + (hits 1/1) (matched: 'be able to') constraint CS = {19} extremes [3, 3] + {...} + (hits 148/148) (matched: 'translate into + as') constraint (none) extremes [1, infinity) + + hits 5/10 nti 22 constraint (none) extremes [2, infinity) + English: + is/are {...} + (hits 2/2) (matched: 'it is concealed') constraint DS = {22} extremes [3, infinity) + {...} + (hits 3/3) (matched: 'he conceals') constraint (none) extremes [2, infinity) + + hits 1/4 nti 31 constraint (none) extremes [1, infinity) + English: + {***} + (hits 1/2) (matched: 'concealing') constraint (none) extremes [1, infinity) + {***} + (hits 0/1) constraint (none) extremes [1, infinity) + + hits 78/156 nti 23 constraint (none) extremes [1, infinity) + English: + reversed relation + (hits 18/53) (matched: 'reversed mapping up relation') constraint DS = {23} extremes [3, infinity) + relation + (hits 25/60) (matched: 'equality relation') constraint DS = {23} extremes [2, infinity) + to + (hits 0/35) constraint DS = {23} extremes [2, infinity) + {...} property + (hits 0/35) constraint DS = {23} extremes [2, infinity) + built-in {...} meaning + (hits 35/35) (matched: 'built-in new-verb meaning') constraint DS = {23} extremes [3, infinity) + {...} relation + constraint DS = {23} extremes [2, infinity) + {relation} + constraint CS = {23} extremes [1, 1] + {...} + constraint (none) extremes [1, infinity) + + hits 74/1260 nti 6 constraint DS = {24} extremes [1, infinity) + English: + + (hits 74/422) (matched: 'a verb') constraint DS = {24} extremes [2, infinity) + + (hits 0/348) constraint DS = {24} extremes [1, infinity) + + hits 74/1330 nti 24 constraint DS = {24} extremes [1, infinity) + English: + verb + (hits 74/102) (matched: 'verb') constraint CS = {24} extremes [1, 1] + verb implying/meaning nounphrase-unparsed> + (hits 0/92) constraint DS = {24} extremes [4, 4] + verb implying/meaning + (hits 0/444) constraint DS = {24} extremes [3, infinity) + + hits 78/160 nti 7 constraint DS = {25} extremes [2, infinity) + English: + + (hits 78/80) (matched long text) constraint DS = {25} extremes [3, infinity) + + (hits 0/2) constraint DS = {25} extremes [2, infinity) + + hits 78/164 nti 25 constraint DS = {25} extremes [2, infinity) + English: + verb to + constraint CS = {25} extremes [2, 2] + verb in the imperative + (hits 7/34) (matched: 'verb to include + in in the imperative') constraint DS = {25} extremes [5, infinity) + verb + (hits 71/73) (matched long text) constraint DS = {25} extremes [2, infinity) + + nti 26 constraint CS = {26} extremes [1, 1] + English: + be + constraint CS = {26} extremes [1, 1] + mean + constraint CS = {26} extremes [1, 1] + imply + constraint CS = {26} extremes [1, 1] + + hits 0/856 nti 8 constraint DS = {27} extremes [1, infinity) + English: + + (hits 0/214) constraint DS = {27} extremes [2, infinity) + + (hits 0/217) constraint DS = {27} extremes [1, infinity) + + hits 0/742 nti 27 constraint DS = {27} extremes [1, infinity) + English: + adjective + (hits 0/7) constraint CS = {27} extremes [1, 1] + adjective implying/meaning + (hits 0/149) constraint DS = {27} extremes [4, infinity) + adjective implying/meaning + (hits 0/204) constraint DS = {27} extremes [3, infinity) + + nti 28 constraint (none) extremes [1, infinity) + English: + in {...} + constraint DS = {28} extremes [3, infinity) + {...} + constraint (none) extremes [1, infinity) + + hits 235/950 nti 9 constraint DW = {29, 30, 31} extremes [2, infinity) English: - (hits 158/158) (matched: 'unlocking keylessly action') constraint DS = {8} extremes [2, infinity) + (hits 158/158) (matched: 'unlocking keylessly action') constraint DS = {29} extremes [2, infinity) - constraint DS = {9} extremes [2, infinity) + constraint DS = {30} extremes [2, infinity) - (hits 77/77) (matched: 'specific action-processing rulebook') constraint DS = {10} extremes [2, infinity) + (hits 77/77) (matched: 'specific action-processing rulebook') constraint DS = {31} extremes [2, infinity) - hits 158/316 nti 8 constraint DS = {8} extremes [2, infinity) + hits 158/316 nti 29 constraint DS = {29} extremes [2, infinity) English: {...} action - (hits 158/158) (matched: 'unlocking keylessly action') constraint DS = {8} extremes [2, infinity) + (hits 158/158) (matched: 'unlocking keylessly action') constraint DS = {29} extremes [2, infinity) - nti 9 constraint DS = {9} extremes [2, infinity) + nti 30 constraint DS = {30} extremes [2, infinity) English: {...} activity - constraint DS = {9} extremes [2, infinity) + constraint DS = {30} extremes [2, infinity) - nti 11 constraint DS = {11} extremes [2, infinity) + nti 6 constraint DS = {6} extremes [2, infinity) English: {...} relation - constraint DS = {11} extremes [2, infinity) + constraint DS = {6} extremes [2, infinity) - hits 1191/2382 nti 12 constraint DS = {12} extremes [2, infinity) + hits 1191/2382 nti 7 constraint DS = {7} extremes [2, infinity) English: {...} rule - (hits 1191/1191) (matched long text) constraint DS = {12} extremes [2, infinity) + (hits 1191/1191) (matched long text) constraint DS = {7} extremes [2, infinity) - hits 84/168 nti 10 constraint DS = {10} extremes [2, infinity) + hits 84/168 nti 31 constraint DS = {31} extremes [2, infinity) English: {...} rulebook - (hits 84/84) (matched: 'specific action-processing rulebook') constraint DS = {10} extremes [2, infinity) + (hits 84/84) (matched: 'specific action-processing rulebook') constraint DS = {31} extremes [2, infinity) - hits 216/432 nti 14 constraint (none) extremes [1, infinity) + hits 216/432 nti 10 constraint (none) extremes [1, infinity) English: - constraint DS = {14} extremes [3, infinity) + constraint DS = {9} extremes [3, infinity) (hits 216/216) (matched: 'variable initial value') constraint (none) extremes [1, infinity) - nti 14 constraint DS = {14} extremes [2, infinity) + nti 9 constraint DS = {9} extremes [2, infinity) English: , _{and} - constraint DS = {14} extremes [3, infinity) + constraint DS = {9} extremes [3, infinity) _{,/and} - constraint DS = {14} extremes [2, infinity) + constraint DS = {9} extremes [2, infinity) - hits 216/432 nti 15 constraint (none) extremes [1, infinity) + hits 216/432 nti 11 constraint (none) extremes [1, infinity) English: (hits 0/216) constraint (none) extremes [1, infinity) {...} (hits 216/216) (matched: 'variable initial value') constraint (none) extremes [1, infinity) - hits 0/432 nti 13 constraint (none) extremes [1, infinity) + hits 0/432 nti 8 constraint (none) extremes [1, infinity) English:
    (hits 0/69) constraint (none) extremes [1, 1] presence - constraint CS = {13} extremes [1, 1] + constraint CS = {8} extremes [1, 1] {***} , {***} - (hits 0/40) constraint DS = {13} extremes [1, infinity) + (hits 0/10) constraint DS = {8} extremes [1, infinity) {***} {***} (hits 0/216) constraint (none) extremes [1, infinity) - hits 0/10908 nti 16 constraint (none) extremes [1, infinity) + hits 0/10908 nti 12 constraint (none) extremes [1, infinity) English: {***} {***} (hits 0/5454) constraint (none) extremes [1, infinity) - hits 438/876 nti 15 constraint (none) extremes [1, infinity) + hits 438/876 nti 10 constraint (none) extremes [1, infinity) English: {***} . {***} - (hits 0/438) constraint DS = {15} extremes [1, infinity) + (hits 0/438) constraint DS = {10} extremes [1, infinity) , {***} - (hits 0/438) constraint DS = {15} extremes [1, infinity) + (hits 0/438) constraint DS = {10} extremes [1, infinity) {***} , - (hits 0/438) constraint DS = {15} extremes [1, infinity) + (hits 0/438) constraint DS = {10} extremes [1, infinity) {***} , , {***} - (hits 0/438) constraint DS = {15} extremes [2, infinity) + (hits 0/438) constraint DS = {10} extremes [2, infinity) {...} (hits 438/438) (matched long text) constraint (none) extremes [1, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 13 constraint (none) extremes [0, 0] English: - before/every/after/when/instead/check/carry/report {...} - constraint DS = {16} extremes [2, infinity) - if {...} - constraint DS = {16} extremes [2, infinity) - {...} , {...} - constraint DS = {16} extremes [3, infinity) - {...} - constraint (none) extremes [1, infinity) - hits 104/2400 nti 17 constraint DS = {17} extremes [2, infinity) + hits 104/2400 nti 11 constraint DS = {11} extremes [2, infinity) English: in the presence of {...} - (hits 0/124) constraint DS = {17} extremes [5, infinity) + (hits 0/116) constraint DS = {11} extremes [5, infinity) {...} that varies - (hits 0/237) constraint DS = {17} extremes [3, infinity) + (hits 0/241) constraint DS = {11} extremes [3, infinity) {...} variable - (hits 0/278) constraint DS = {17} extremes [2, infinity) + (hits 0/295) constraint DS = {11} extremes [2, infinity) {} of {...} - (hits 104/237) (matched: 'adaptive text viewpoint of the english language') constraint DS = {17} extremes [3, infinity) + (hits 104/241) (matched: 'adaptive text viewpoint of the english language') constraint DS = {11} extremes [3, infinity) - hits 734/1956 nti 18 constraint (none) extremes [1, infinity) + hits 734/1956 nti 12 constraint (none) extremes [1, infinity) English: variable - (hits 0/15) constraint CS = {18} extremes [1, 1] + (hits 0/56) constraint CS = {12} extremes [1, 1] action of - (hits 0/136) constraint DS = {18} extremes [3, infinity) + (hits 0/146) constraint DS = {12} extremes [3, infinity) (hits 728/978) (matched: 'action name based rule producing nothing that varies') constraint (none) extremes [1, infinity) (hits 6/250) (matched: 'language of play') constraint (none) extremes [1, infinity) - hits 0/514 nti 20 constraint DS = {19, 20} extremes [4, infinity) + hits 0/514 nti 14 constraint DS = {13, 14} extremes [4, infinity) English: {...} ( ) - (hits 0/12) constraint DS = {19, 20} extremes [4, infinity) + (hits 0/31) constraint DS = {13, 14} extremes [4, infinity) - nti 19 constraint CS = {19} extremes [1, 1] + nti 13 constraint CS = {13} extremes [1, 1] English: n - constraint CS = {19} extremes [1, 1] + constraint CS = {13} extremes [1, 1] m - constraint CS = {19} extremes [1, 1] + constraint CS = {13} extremes [1, 1] f - constraint CS = {19} extremes [1, 1] + constraint CS = {13} extremes [1, 1] - hits 0/546 nti 21 constraint (none) extremes [1, infinity) + hits 0/546 nti 15 constraint (none) extremes [1, infinity) English:
    (hits 0/73) constraint (none) extremes [1, 1] (/)/(- {***} - (hits 0/31) constraint DS = {21} extremes [1, infinity) + (hits 0/47) constraint DS = {15} extremes [1, infinity) {***} (/)/(- - (hits 0/31) constraint DS = {21} extremes [1, infinity) + (hits 0/47) constraint DS = {15} extremes [1, infinity) {...} (/)/(- {...} - (hits 0/29) constraint DS = {21} extremes [3, infinity) + (hits 0/44) constraint DS = {15} extremes [3, infinity) ni--crash--1 - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] ni--crash--10 - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] ni--crash--11 - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] , {...} - (hits 0/31) constraint DS = {21} extremes [2, infinity) + (hits 0/46) constraint DS = {15} extremes [2, infinity) {...} , - (hits 0/31) constraint DS = {21} extremes [2, infinity) + (hits 0/46) constraint DS = {15} extremes [2, infinity) {...} when/while {...} - (hits 0/29) constraint DS = {21} extremes [3, infinity) + (hits 0/44) constraint DS = {15} extremes [3, infinity) {***} {***} (hits 0/273) constraint (none) extremes [1, infinity) condition - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] conditions - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] storage - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] storages - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] variable - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] variables - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] property-value - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] property-values - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] table-reference - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] table-references - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] list-entry - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] list-entries - constraint CS = {21} extremes [1, 1] + (hits 0/1) constraint CS = {15} extremes [1, 1] - hits 0/18 nti 22 constraint DS = {22} extremes [5, infinity) + hits 0/18 nti 16 constraint DS = {16} extremes [5, infinity) English: {...} ( called the {...} ) - constraint DS = {22} extremes [6, infinity) + constraint DS = {16} extremes [6, infinity) {...} ( called {...} ) - constraint DS = {22} extremes [5, infinity) + constraint DS = {16} extremes [5, infinity) - hits 19/2150 nti 23 constraint DS = {23} extremes [5, infinity) + hits 19/2150 nti 17 constraint DS = {17} extremes [5, infinity) English: {...} ( called {...} ) {***} - (hits 19/607) (matched long text) constraint DS = {23} extremes [5, infinity) + (hits 19/586) (matched long text) constraint DS = {17} extremes [5, infinity) - hits 0/1474 nti 24 constraint (none) extremes [1, infinity) + hits 0/1474 nti 18 constraint (none) extremes [1, infinity) English:
    (hits 0/156) constraint (none) extremes [1, 1] {***} (/)/{/}/,/./(- {***} - (hits 0/206) constraint DS = {24} extremes [1, infinity) + (hits 0/196) constraint DS = {18} extremes [1, infinity) {***} {***} (hits 0/667) constraint (none) extremes [1, infinity) - hits 0/1612 nti 25 constraint (none) extremes [1, infinity) + hits 0/1612 nti 19 constraint (none) extremes [1, infinity) English: (hits 0/661) constraint (none) extremes [1, 1] {***} (/)/{/}/,/. {***} - (hits 0/171) constraint DS = {25} extremes [1, infinity) + (hits 0/20) constraint DS = {19} extremes [1, infinity) {***} {***} (hits 0/806) constraint (none) extremes [1, infinity) - hits 0/50 nti 26 constraint (none) extremes [1, infinity) + hits 0/50 nti 20 constraint (none) extremes [1, infinity) English: {...} with/having/and/or {...} - (hits 0/8) constraint DS = {26} extremes [3, infinity) + (hits 0/7) constraint DS = {20} extremes [3, infinity) (hits 0/25) constraint (none) extremes [1, infinity) - nti 27 constraint DS = {27} extremes [1, infinity) + nti 21 constraint DS = {21} extremes [1, infinity) English: {***} something {***} - constraint DS = {27} extremes [1, infinity) + constraint DS = {21} extremes [1, infinity) - hits 0/856 nti 28 constraint DS = {28} extremes [2, infinity) + hits 0/856 nti 22 constraint DS = {22} extremes [2, infinity) English: either - (hits 0/161) constraint DS = {28} extremes [2, infinity) + (hits 0/88) constraint DS = {22} extremes [2, infinity) - hits 0/86 nti 29 constraint (none) extremes [1, 2] + hits 0/86 nti 23 constraint (none) extremes [1, 2] English:
    kind - (hits 0/11) constraint DS = {29} extremes [2, 2] + (hits 0/42) constraint DS = {23} extremes [2, 2] kind - constraint CS = {29} extremes [1, 1] + constraint CS = {23} extremes [1, 1] constraint (none) extremes [1, 1] - hits 43/86 nti 6 constraint (none) extremes [1, infinity) + hits 43/86 nti 26 constraint (none) extremes [1, infinity) English: either ( ) - (hits 0/4) constraint DS = {6} extremes [5, infinity) + (hits 0/4) constraint DS = {26} extremes [5, infinity) ( ) - (hits 0/4) constraint DS = {6} extremes [4, infinity) + (hits 0/4) constraint DS = {26} extremes [4, infinity) either - (hits 0/30) constraint DS = {6} extremes [2, infinity) + (hits 0/30) constraint DS = {26} extremes [2, infinity) (hits 43/43) (matched: 'marked for listing or unmarked for listing') constraint (none) extremes [1, infinity) - nti 31 constraint (none) extremes [1, infinity) + nti 25 constraint (none) extremes [1, infinity) English: this is - constraint DS = {31} extremes [3, infinity) + constraint DS = {25} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 17 constraint (none) extremes [1, infinity) + nti 14 constraint (none) extremes [1, infinity) English:
    constraint (none) extremes [2, infinity) @@ -6545,48 +6515,48 @@ constraint (none) extremes [1, infinity) - nti 30 constraint (none) extremes [1, infinity) + nti 24 constraint (none) extremes [1, infinity) English: property - constraint DS = {30} extremes [2, infinity) + constraint DS = {24} extremes [2, infinity) constraint (none) extremes [1, infinity) - internal hits 4/8 nti 18 constraint (none) extremes [1, infinity) + internal hits 4/8 nti 15 constraint (none) extremes [1, infinity) - internal hits 4/16 nti 19 constraint (none) extremes [1, infinity) + internal hits 4/16 nti 16 constraint (none) extremes [1, infinity) - internal hits 3198/8146 nti 20 constraint (none) extremes [1, infinity) + internal hits 3198/8146 nti 17 constraint (none) extremes [1, infinity) - internal hits 1093/2190 nti 21 constraint (none) extremes [1, infinity) + internal hits 1093/2190 nti 18 constraint (none) extremes [1, infinity) - internal hits 4/8 nti 22 constraint (none) extremes [1, infinity) + internal hits 4/8 nti 19 constraint (none) extremes [1, infinity) - internal hits 1945/5100 nti 23 constraint (none) extremes [1, infinity) + internal hits 1945/5100 nti 20 constraint (none) extremes [1, infinity) - internal hits 1272/3058 nti 24 constraint (none) extremes [1, infinity) + internal hits 1272/3058 nti 21 constraint (none) extremes [1, infinity) - internal hits 529/1072 nti 25 constraint (none) extremes [1, infinity) + internal hits 529/1072 nti 22 constraint (none) extremes [1, infinity) - hits 217/1600 nti 26 constraint (none) extremes [1, infinity) + hits 217/1600 nti 23 constraint (none) extremes [1, infinity) English: (hits 172/730) (matched long text) constraint (none) extremes [1, infinity) (hits 45/558) (matched long text) constraint (none) extremes [1, infinity) - internal hits 0/244 nti 27 constraint (none) extremes [1, infinity) + internal hits 0/244 nti 24 constraint (none) extremes [1, infinity) - internal hits 0/244 nti 28 constraint (none) extremes [1, infinity) + internal hits 0/244 nti 25 constraint (none) extremes [1, infinity) - hits 2097/23834 nti 25 constraint (none) extremes [1, infinity) + hits 2097/23834 nti 31 constraint (none) extremes [1, infinity) English: (hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1] minus - (hits 0/1279) constraint DS = {25} extremes [2, 2] + (hits 0/46) constraint DS = {31} extremes [2, 2] ( ) - (hits 273/698) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {25} extremes [4, 4] + (hits 273/583) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {31} extremes [4, 4] (hits 1564/5548) (matched: 'Represents geographical locations, both indoor and outdoor, which are not necessarily areas in a building. A player in one @@ -6595,151 +6565,151 @@ (hits 11/9909) (matched: 'plus infinity') constraint (none) extremes [1, infinity) - (hits 78/228) (matched: 'false') constraint CS = {19} extremes [1, 1] + (hits 78/809) (matched: 'false') constraint CS = {25} extremes [1, 1] - (hits 0/3243) constraint DS = {21} extremes [2, infinity) + (hits 0/2306) constraint DS = {27} extremes [2, infinity) unicode - (hits 0/2910) constraint DS = {25} extremes [2, infinity) + (hits 0/1236) constraint DS = {31} extremes [2, infinity) - (hits 0/3468) constraint DW = {22, 23, 24} extremes [2, 5] + (hits 0/3054) constraint DW = {28, 29, 30} extremes [2, 5] (hits 0/9820) constraint (none) extremes [1, infinity) - internal hits 0/19640 nti 29 constraint (none) extremes [1, infinity) + internal hits 0/19640 nti 26 constraint (none) extremes [1, infinity) - internal hits 680/1360 nti 30 constraint (none) extremes [1, 1] + internal hits 680/1360 nti 27 constraint (none) extremes [1, 1] - hits 78/456 nti 19 constraint CS = {19} extremes [1, 1] + hits 78/1618 nti 25 constraint CS = {25} extremes [1, 1] English: false - (hits 29/228) (matched: 'false') constraint CS = {19} extremes [1, 1] + (hits 29/809) (matched: 'false') constraint CS = {25} extremes [1, 1] true - (hits 49/199) (matched: 'true') constraint CS = {19} extremes [1, 1] + (hits 49/780) (matched: 'true') constraint CS = {25} extremes [1, 1] - hits 11/19818 nti 17 constraint (none) extremes [1, infinity) + hits 11/19818 nti 23 constraint (none) extremes [1, infinity) English: _pi - (hits 1/102) (matched: 'pi') constraint CS = {17} extremes [1, 1] + (hits 1/120) (matched: 'pi') constraint CS = {23} extremes [1, 1] _e - (hits 1/101) (matched: 'e') constraint CS = {17} extremes [1, 1] + (hits 1/119) (matched: 'e') constraint CS = {23} extremes [1, 1] plus infinity - (hits 4/33) (matched: 'plus infinity') constraint CS = {17} extremes [2, 2] + (hits 4/8) (matched: 'plus infinity') constraint CS = {23} extremes [2, 2] minus infinity - (hits 4/29) (matched: 'minus infinity') constraint CS = {17} extremes [2, 2] + (hits 4/4) (matched: 'minus infinity') constraint CS = {23} extremes [2, 2] (hits 1/9899) (matched: '0.5') constraint (none) extremes [1, infinity) - internal hits 1/19798 nti 31 constraint (none) extremes [1, infinity) + internal hits 1/19798 nti 28 constraint (none) extremes [1, infinity) - hits 2367/20792 nti 7 constraint (none) extremes [1, infinity) + hits 2367/20792 nti 27 constraint (none) extremes [1, infinity) English: (hits 1797/10396) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint (none) extremes [1, infinity) nothing - (hits 97/373) (matched: 'nothing') constraint CS = {7} extremes [1, 1] + (hits 97/341) (matched: 'nothing') constraint CS = {27} extremes [1, 1] (hits 446/8502) (matched: 'printing the name of a dark room') constraint (none) extremes [1, infinity) outcome - (hits 0/1250) constraint DS = {7} extremes [2, infinity) + (hits 0/1744) constraint DS = {27} extremes [2, infinity) option - (hits 26/1250) (matched: 'serial comma option') constraint DS = {7} extremes [2, infinity) + (hits 26/1744) (matched: 'serial comma option') constraint DS = {27} extremes [2, infinity) verb - (hits 1/1224) (matched: 'verb are') constraint DS = {7} extremes [2, infinity) + (hits 1/1718) (matched: 'verb are') constraint DS = {27} extremes [2, infinity) response ( ) - (hits 0/690) constraint DS = {7} extremes [5, infinity) + (hits 0/641) constraint DS = {27} extremes [5, infinity) - internal hits 446/17004 nti 6 constraint (none) extremes [1, infinity) + internal hits 446/17004 nti 29 constraint (none) extremes [1, infinity) - internal hits 0/244 nti 7 constraint (none) extremes [1, infinity) + internal hits 0/244 nti 30 constraint (none) extremes [1, infinity) - internal nti 8 constraint (none) extremes [1, infinity) + internal nti 31 constraint (none) extremes [1, infinity) - internal hits 26/52 nti 9 constraint (none) extremes [1, infinity) + internal hits 26/52 nti 6 constraint (none) extremes [1, infinity) - internal nti 10 constraint (none) extremes [1, infinity) + internal nti 7 constraint (none) extremes [1, infinity) - internal hits 165/18530 nti 11 constraint (none) extremes [1, infinity) + internal hits 165/18530 nti 8 constraint (none) extremes [1, infinity) - hits 34/1592 nti 12 constraint DS = {8} extremes [2, infinity) + hits 34/1592 nti 9 constraint DS = {28} extremes [2, infinity) English: - (hits 34/90) (matched: 'the property initial appearance') constraint DS = {8} extremes [3, infinity) + (hits 34/90) (matched: 'the property initial appearance') constraint DS = {28} extremes [3, infinity) - (hits 0/97) constraint DS = {8} extremes [2, infinity) + (hits 0/91) constraint DS = {28} extremes [2, infinity) - internal hits 796/21352 nti 13 constraint (none) extremes [1, infinity) + internal hits 796/21352 nti 10 constraint (none) extremes [1, infinity) - hits 651/21822 nti 14 constraint (none) extremes [1, infinity) + hits 651/21822 nti 11 constraint (none) extremes [1, infinity) English: (hits 651/10911) (matched: 'unmarked for listing') constraint (none) extremes [1, infinity) - hits 1442/27388 nti 10 constraint (none) extremes [1, infinity) + hits 1442/27388 nti 30 constraint (none) extremes [1, infinity) English: not - (hits 0/2358) constraint DS = {10} extremes [3, infinity) + (hits 0/2845) constraint DS = {30} extremes [3, infinity) (hits 0/6875) constraint (none) extremes [2, infinity) (hits 1442/13694) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) - hits 1513/29618 nti 9 constraint (none) extremes [1, infinity) + hits 1513/29618 nti 29 constraint (none) extremes [1, infinity) English: not - (hits 12/3254) (matched: 'not lockable') constraint DS = {9} extremes [2, infinity) + (hits 12/1784) (matched: 'not lockable') constraint DS = {29} extremes [2, infinity) (hits 1430/2225) (matched: 'unmarked for listing') constraint CS = {r3} extremes [1, infinity) not - (hits 0/2655) constraint DS = {9} extremes [3, infinity) + (hits 0/1368) constraint DS = {29} extremes [3, infinity) (hits 71/7202) (matched: 'marked for listing other') constraint (none) extremes [2, infinity) internal hits 2217/18908 nti r3 constraint CS = {r3} extremes [1, infinity) - hits 3590/89706 nti 15 constraint (none) extremes [1, infinity) + hits 3590/89706 nti 12 constraint (none) extremes [1, infinity) English: (hits 2593/44853) (matched: 'value of kind k') constraint (none) extremes [1, infinity) (hits 997/1932) (matched: 'the alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) - hits 4/408 nti 16 constraint (none) extremes [1, infinity) + hits 4/408 nti 13 constraint (none) extremes [1, infinity) English: (hits 4/204) (matched: 'person') constraint (none) extremes [1, infinity) - hits 105/7588 nti 17 constraint CW = {r2, r4} extremes [1, infinity) + hits 105/7588 nti 14 constraint CW = {r2, r4} extremes [1, infinity) English: (hits 105/304) (matched: 'alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) internal hits 1102/4472 nti r4 constraint CW = {r2, r4} extremes [1, infinity) - hits 768/5022 nti 18 constraint (none) extremes [1, infinity) + hits 768/5022 nti 15 constraint (none) extremes [1, infinity) English: (hits 768/2511) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) - hits 1652/38642 nti 19 constraint (none) extremes [1, infinity) + hits 1652/38642 nti 16 constraint (none) extremes [1, infinity) English: (hits 1392/19321) (matched long text) constraint (none) extremes [1, infinity) (hits 260/4814) (matched long text) constraint (none) extremes [3, infinity) - hits 257/2044 nti 20 constraint (none) extremes [1, infinity) + hits 257/2044 nti 17 constraint (none) extremes [1, infinity) English: (hits 257/1022) (matched: 'thing ( called the item being printed )') constraint (none) extremes [1, infinity) - hits 1649/40686 nti 11 constraint (none) extremes [1, infinity) + hits 1649/40686 nti 31 constraint (none) extremes [1, infinity) English: ( called ) - (hits 118/1558) (matched long text) constraint DS = {11} extremes [5, infinity) + (hits 118/1184) (matched long text) constraint DS = {31} extremes [5, infinity) (hits 1531/20225) (matched: 'the alfred cralle pool hall') constraint (none) extremes [1, infinity) - hits 1649/40686 nti 21 constraint (none) extremes [1, infinity) + hits 1649/40686 nti 18 constraint (none) extremes [1, infinity) English: (hits 51/10558) (matched: 'at least two stamped envelopes') constraint (none) extremes [2, infinity) @@ -6758,46 +6728,46 @@ (hits 745/19439) (matched: 'marked for listing other people') constraint (none) extremes [1, infinity) - hits 1413/40652 nti 22 constraint (none) extremes [1, infinity) + hits 1413/40652 nti 19 constraint (none) extremes [1, infinity) English: (hits 1029/20326) (matched: 'nancy johnson memorial square') constraint (none) extremes [1, infinity) (hits 384/10129) (matched: 'marked for listing other people') constraint (none) extremes [2, infinity) - hits 2/148 nti 23 constraint (none) extremes [1, infinity) + hits 2/148 nti 20 constraint (none) extremes [1, infinity) English: (hits 2/74) (matched: 'person') constraint (none) extremes [1, infinity) (hits 0/67) constraint (none) extremes [2, infinity) - hits 56/7042 nti 24 constraint (none) extremes [1, infinity) + hits 56/7042 nti 21 constraint (none) extremes [1, infinity) English: (hits 56/129) (matched: 'alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) (hits 0/1386) constraint (none) extremes [2, infinity) - internal hits 1086/31390 nti 25 constraint (none) extremes [0, 0] + internal hits 1086/31390 nti 22 constraint (none) extremes [0, 0] - internal hits 4743/9700 nti 26 constraint (none) extremes [0, 0] + internal hits 4743/9700 nti 23 constraint (none) extremes [0, 0] - hits 102/544 nti 27 constraint (none) extremes [1, infinity) + hits 102/544 nti 24 constraint (none) extremes [1, infinity) English: (hits 102/272) (matched: 'the dark') constraint (none) extremes [1, infinity) (hits 0/170) constraint (none) extremes [1, infinity) - hits 102/544 nti 12 constraint (none) extremes [1, infinity) + hits 102/544 nti 6 constraint (none) extremes [1, infinity) English: ( called ) - (hits 0/66) constraint DS = {12} extremes [5, infinity) + (hits 0/66) constraint DS = {6} extremes [5, infinity) (hits 102/272) (matched: 'the dark') constraint (none) extremes [1, infinity) - hits 102/544 nti 28 constraint (none) extremes [1, infinity) + hits 102/544 nti 25 constraint (none) extremes [1, infinity) English: (hits 8/153) (matched: 'every dvd') constraint (none) extremes [2, infinity) @@ -6816,7 +6786,7 @@ (hits 94/264) (matched: 'the dark') constraint (none) extremes [1, infinity) - hits 102/566 nti 29 constraint (none) extremes [1, infinity) + hits 102/566 nti 26 constraint (none) extremes [1, infinity) English: (hits 101/283) (matched: 'cold comfort') constraint (none) extremes [1, infinity) @@ -6825,30 +6795,30 @@ (hits 1/182) (matched: 'the dark') constraint (none) extremes [1, infinity) - hits 118/236 nti 30 constraint (none) extremes [1, infinity) + hits 118/236 nti 27 constraint (none) extremes [1, infinity) English:
    {...} (hits 83/95) (matched: 'the item being printed') constraint (none) extremes [2, infinity) {...} (hits 35/35) (matched: 'random bystander') constraint (none) extremes [1, infinity) - internal hits 79/21422 nti 31 constraint (none) extremes [1, infinity) + internal hits 79/21422 nti 28 constraint (none) extremes [1, infinity) - internal hits 336/62416 nti 6 constraint (none) extremes [1, infinity) + internal hits 336/62416 nti 29 constraint (none) extremes [1, infinity) - hits 1940/4790 nti 7 constraint (none) extremes [1, infinity) + hits 1940/4790 nti 30 constraint (none) extremes [1, infinity) English:
    (hits 109/385) (matched long text) constraint (none) extremes [2, infinity) (hits 1831/2286) (matched long text) constraint (none) extremes [1, infinity) - hits 3118/7704 nti 19 constraint (none) extremes [1, infinity) + hits 3118/7704 nti 13 constraint (none) extremes [1, infinity) English: variable/variables - (hits 2/491) (matched: 'text variables') constraint DS = {19} extremes [2, infinity) + (hits 2/621) (matched: 'text variables') constraint DS = {13} extremes [2, infinity) that/which vary/varies - (hits 59/390) (matched: 'action name based rule producing nothing that varies') constraint DS = {19} extremes [3, infinity) + (hits 59/435) (matched: 'action name based rule producing nothing that varies') constraint DS = {13} extremes [3, infinity) (hits 2436/3791) (matched long text) constraint (none) extremes [1, infinity) @@ -6865,30 +6835,30 @@ (hits 27/761) (matched long text) constraint (none) extremes [1, infinity) - hits 1252/3018 nti 8 constraint (none) extremes [1, infinity) + hits 1252/3018 nti 31 constraint (none) extremes [1, infinity) English:
    (hits 162/790) (matched: 'an ice cream cone') constraint (none) extremes [2, infinity) (hits 1090/1347) (matched long text) constraint (none) extremes [1, infinity) - hits 1252/3018 nti 9 constraint (none) extremes [1, infinity) + hits 1252/3018 nti 6 constraint (none) extremes [1, infinity) English: (hits 74/1509) (matched: 'unmarked for listing') constraint (none) extremes [1, infinity) (hits 1178/1435) (matched long text) constraint (none) extremes [1, infinity) - hits 61/124 nti 18 constraint (none) extremes [1, infinity) + hits 61/124 nti 12 constraint (none) extremes [1, infinity) English: global - (hits 0/4) constraint CS = {18} extremes [1, 1] + (hits 0/4) constraint CS = {12} extremes [1, 1] global - (hits 0/7) constraint DS = {18} extremes [2, infinity) + (hits 0/10) constraint DS = {12} extremes [2, infinity) (hits 61/62) (matched: 'action name based rule producing nothing') constraint (none) extremes [1, infinity) - hits 61/124 nti 10 constraint (none) extremes [1, infinity) + hits 61/124 nti 7 constraint (none) extremes [1, infinity) English: (hits 61/62) (matched: 'action name based rule producing nothing') constraint (none) extremes [1, infinity) @@ -6901,18 +6871,18 @@ (hits 0/1) constraint (none) extremes [1, infinity) - internal hits 8/18384 nti 11 constraint (none) extremes [0, 0] + internal hits 8/18384 nti 8 constraint (none) extremes [0, 0] - internal hits 0/9340 nti 12 constraint (none) extremes [0, 0] + internal hits 0/9340 nti 9 constraint (none) extremes [0, 0] - internal hits 9/18492 nti 13 constraint (none) extremes [0, 0] + internal hits 9/18492 nti 10 constraint (none) extremes [0, 0] - internal hits 0/18492 nti 14 constraint (none) extremes [0, 0] + internal hits 0/18492 nti 11 constraint (none) extremes [0, 0] - hits 8448/18780 nti 15 constraint (none) extremes [1, infinity) + hits 8448/18780 nti 9 constraint (none) extremes [1, infinity) English: ( ) - (hits 0/1930) constraint DS = {15} extremes [3, infinity) + (hits 0/1588) constraint DS = {9} extremes [3, infinity) (hits 144/9390) (matched: 'the person reaching') constraint (none) extremes [1, infinity) @@ -6934,17 +6904,17 @@ (hits 116/9145) (matched: 'a supporter ( called the chaise )') constraint (none) extremes [1, infinity) - (hits 0/3574) constraint DS = {14} extremes [2, infinity) + (hits 0/1532) constraint DS = {8} extremes [2, infinity) member/members of - (hits 0/1858) constraint DS = {15} extremes [3, infinity) + (hits 0/1554) constraint DS = {9} extremes [3, infinity) member/members of - (hits 0/1858) constraint DS = {15} extremes [3, infinity) + (hits 0/1554) constraint DS = {9} extremes [3, infinity) of - (hits 2/1858) (matched: 'the destination of the player') constraint DS = {15} extremes [3, infinity) + (hits 2/1554) (matched: 'the destination of the player') constraint DS = {9} extremes [3, infinity) (hits 0/4670) constraint (none) extremes [2, infinity) entry of/in/from - (hits 0/1411) constraint DS = {15} extremes [4, infinity) + (hits 0/1281) constraint DS = {9} extremes [4, infinity) (hits 0/9027) constraint (none) extremes [1, infinity) @@ -6952,16 +6922,16 @@ (hits 0/9027) constraint (none) extremes [1, infinity) - hits 4/18384 nti 13 constraint (none) extremes [1, infinity) + hits 4/18384 nti 7 constraint (none) extremes [1, infinity) English: where - (hits 4/2135) (matched long text) constraint DS = {13} extremes [3, infinity) + (hits 4/1834) (matched long text) constraint DS = {7} extremes [3, infinity) where - (hits 0/2131) constraint DS = {13} extremes [3, infinity) + (hits 0/1830) constraint DS = {7} extremes [3, infinity) (hits 0/9188) constraint (none) extremes [1, infinity) - hits 5811/24026 nti 15 constraint (none) extremes [1, infinity) + hits 5811/24026 nti 12 constraint (none) extremes [1, infinity) English: (hits 1637/6124) (matched: 'the room back the other way') constraint (none) extremes [2, infinity) @@ -6972,104 +6942,104 @@ (hits 2211/8413) (matched: 'current item from the multiple object list') constraint (none) extremes [1, infinity) - nti 20 constraint (none) extremes [1, infinity) + nti 14 constraint (none) extremes [1, infinity) English: ( ) - constraint DS = {20} extremes [3, infinity) + constraint DS = {14} extremes [3, infinity) constraint (none) extremes [1, infinity) constraint (none) extremes [1, infinity) - hits 173/1124 nti 16 constraint (none) extremes [1, infinity) + hits 173/1124 nti 13 constraint (none) extremes [1, infinity) English: (hits 173/562) (matched: 'the second noun') constraint (none) extremes [1, infinity) - internal hits 1137/27150 nti 17 constraint (none) extremes [1, infinity) + internal hits 1137/27150 nti 14 constraint (none) extremes [1, infinity) - internal hits 897/18620 nti 18 constraint (none) extremes [1, infinity) + internal hits 897/18620 nti 15 constraint (none) extremes [1, infinity) - internal hits 2296/19440 nti 19 constraint (none) extremes [1, infinity) + internal hits 2296/19440 nti 16 constraint (none) extremes [1, infinity) - hits 105/18348 nti 21 constraint DS = {21} extremes [3, infinity) + hits 105/18348 nti 15 constraint DS = {15} extremes [3, infinity) English: of {...} - (hits 105/1389) (matched long text) constraint DS = {21} extremes [3, infinity) + (hits 105/1242) (matched long text) constraint DS = {15} extremes [3, infinity) - internal hits 490/18348 nti 20 constraint (none) extremes [1, infinity) + internal hits 490/18348 nti 17 constraint (none) extremes [1, infinity) - internal hits 474/18054 nti 21 constraint (none) extremes [1, infinity) + internal hits 474/18054 nti 18 constraint (none) extremes [1, infinity) - hits 139/7148 nti 14 constraint DS = {14} extremes [2, infinity) + hits 139/3064 nti 8 constraint DS = {8} extremes [2, infinity) English: entry - (hits 135/3574) (matched: 'a final response rule entry') constraint DS = {14} extremes [2, infinity) + (hits 135/1532) (matched: 'a final response rule entry') constraint DS = {8} extremes [2, infinity) in row of - (hits 0/426) constraint DS = {14} extremes [6, infinity) + (hits 0/422) constraint DS = {8} extremes [6, infinity) listed in - (hits 2/1419) (matched: 'a topic listed in source') constraint DS = {14} extremes [4, infinity) + (hits 2/1190) (matched: 'a topic listed in source') constraint DS = {8} extremes [4, infinity) corresponding to of in - (hits 0/194) constraint DS = {14} extremes [8, infinity) + (hits 0/194) constraint DS = {8} extremes [8, infinity) of in - (hits 2/689) (matched long text) constraint DS = {14} extremes [5, infinity) + (hits 2/652) (matched long text) constraint DS = {8} extremes [5, infinity) - internal hits 3/19876 nti 22 constraint (none) extremes [1, infinity) + internal hits 3/19876 nti 19 constraint (none) extremes [1, infinity) - hits 1074/2238 nti 23 constraint (none) extremes [3, infinity) + hits 1074/2238 nti 20 constraint (none) extremes [3, infinity) English: - (hits 0/928) constraint DS = {19} extremes [3, infinity) + (hits 0/853) constraint DS = {19} extremes [3, infinity) (hits 1074/1108) (matched long text) constraint (none) extremes [3, infinity) - hits 11/22 nti 24 constraint FS = {7} extremes [2, infinity) + hits 11/22 nti 21 constraint FS = {7} extremes [2, infinity) English: (hits 11/11) (matched long text) constraint FS = {7} extremes [2, infinity) - hits 2149/6658 nti 25 constraint (none) extremes [2, infinity) + hits 2149/6658 nti 22 constraint (none) extremes [2, infinity) English: - (hits 0/748) constraint DS = {17} & FS = {9} extremes [4, infinity) - - (hits 220/1901) (matched long text) constraint DS = {14} & FS = {6} extremes [3, infinity) - - (hits 1929/2267) (matched long text) constraint FS = {6} extremes [2, infinity) + (hits 0/974) constraint DS = {11} & FS = {9} extremes [4, infinity) + + (hits 220/1864) (matched long text) constraint DS = {14} & FS = {6} extremes [3, infinity) + + (hits 1929/2222) (matched long text) constraint FS = {6} extremes [2, infinity) - nti 17 constraint DS = {17} extremes [3, infinity) + nti 11 constraint DS = {11} extremes [3, infinity) English: to - constraint DS = {17} extremes [3, infinity) + constraint DS = {11} extremes [3, infinity) - hits 260/9968 nti 26 constraint (none) extremes [3, infinity) + hits 260/9968 nti 23 constraint (none) extremes [3, infinity) English: - (hits 169/4190) (matched long text) constraint DS = {13} extremes [3, infinity) + (hits 169/4546) (matched long text) constraint DS = {13} extremes [3, infinity) - (hits 91/2249) (matched long text) constraint DS = {30} extremes [4, infinity) + (hits 91/2815) (matched long text) constraint DS = {30} extremes [4, infinity) - hits 448/30710 nti 16 constraint DS = {13} extremes [2, infinity) + hits 448/32204 nti 10 constraint DS = {13} extremes [2, infinity) English: - (hits 447/9141) (matched long text) constraint DS = {13} extremes [2, infinity) + (hits 447/9899) (matched long text) constraint DS = {13} extremes [2, infinity) not - (hits 1/6136) (matched: 'not carried by the person asked') constraint DS = {13, 16} extremes [3, infinity) + (hits 1/6229) (matched: 'not carried by the person asked') constraint DS = {10, 13} extremes [3, infinity) - hits 183/20594 nti 27 constraint DS = {30} extremes [3, infinity) + hits 183/23984 nti 24 constraint DS = {30} extremes [3, infinity) English: - - (hits 0/2471) constraint DS = {17, 30} extremes [5, infinity) - - (hits 32/3669) (matched long text) constraint DS = {14, 30} extremes [4, infinity) - - (hits 151/5566) (matched: 'which provide the property initial appearance') constraint DS = {30} extremes [3, infinity) + + (hits 0/2512) constraint DS = {11, 30} extremes [5, infinity) + + (hits 32/3642) (matched long text) constraint DS = {14, 30} extremes [4, infinity) + + (hits 151/5757) (matched: 'which provide the property initial appearance') constraint DS = {30} extremes [3, infinity) - internal hits 791/18290 nti 28 constraint (none) extremes [1, infinity) + internal hits 791/18290 nti 25 constraint (none) extremes [1, infinity) - internal hits 1208/34552 nti 29 constraint (none) extremes [0, 0] + internal hits 1208/34552 nti 26 constraint (none) extremes [0, 0] - hits 4662/9648 nti 30 constraint (none) extremes [1, infinity) + hits 4662/9648 nti 27 constraint (none) extremes [1, infinity) English: (hits 30/4824) (matched: 'the person asked') constraint (none) extremes [1, infinity) @@ -7078,7 +7048,7 @@ ^ (hits 4602/4764) (matched long text) constraint (none) extremes [1, infinity) - hits 797/2188 nti 31 constraint (none) extremes [1, infinity) + hits 797/2188 nti 28 constraint (none) extremes [1, infinity) English: (hits 143/1094) (matched: 'the second noun') constraint (none) extremes [1, infinity) @@ -7087,10 +7057,10 @@ ^ (hits 552/849) (matched long text) constraint (none) extremes [1, infinity) - hits 2/496 nti 22 constraint (none) extremes [1, infinity) + hits 2/496 nti 16 constraint (none) extremes [1, infinity) English: ( ) - (hits 0/30) constraint DS = {22} extremes [3, infinity) + (hits 0/30) constraint DS = {16} extremes [3, infinity) constraint CS = {r0} extremes [1, 1] @@ -7098,287 +7068,287 @@ (hits 2/248) (matched: 'switched off') constraint (none) extremes [1, infinity) - hits 1071/2634 nti 6 constraint (none) extremes [0, infinity) + hits 1071/2634 nti 29 constraint (none) extremes [0, infinity) English: (hits 1069/1317) (matched long text) constraint (none) extremes [0, infinity) (hits 2/248) (matched: 'switched off') constraint (none) extremes [1, infinity) - hits 1325/3170 nti 31 constraint (none) extremes [0, infinity) + hits 1325/3170 nti 25 constraint (none) extremes [0, infinity) English: ( ) - (hits 0/1297) constraint DS = {31} extremes [3, infinity) + (hits 0/1304) constraint DS = {25} extremes [3, infinity) , and - (hits 0/1193) constraint DS = {31} extremes [4, infinity) + (hits 0/1195) constraint DS = {25} extremes [4, infinity) and - (hits 97/1297) (matched long text) constraint DS = {31} extremes [3, infinity) + (hits 97/1304) (matched long text) constraint DS = {25} extremes [3, infinity) , or - (hits 0/1096) constraint DS = {31} extremes [4, infinity) + (hits 0/1098) constraint DS = {25} extremes [4, infinity) or - (hits 31/1200) (matched long text) constraint DS = {31} extremes [3, infinity) + (hits 31/1207) (matched long text) constraint DS = {25} extremes [3, infinity) (hits 0/1457) constraint (none) extremes [1, infinity) (hits 1197/1457) (matched long text) constraint (none) extremes [0, infinity) - internal hits 0/2914 nti 7 constraint (none) extremes [1, infinity) + internal hits 0/2914 nti 30 constraint (none) extremes [1, infinity) - hits 1197/2914 nti 30 constraint (none) extremes [0, infinity) + hits 1197/2914 nti 24 constraint (none) extremes [0, infinity) English: (hits 1/1457) (matched: 'continuing') constraint (none) extremes [1, infinity) not - (hits 0/1183) constraint DS = {30} extremes [2, infinity) + (hits 0/967) constraint DS = {24} extremes [2, infinity) (hits 83/1456) (matched long text) constraint (none) extremes [1, infinity) - (hits 0/746) constraint DS = {25} extremes [3, infinity) + (hits 0/868) constraint DS = {19} extremes [3, infinity) - (hits 0/752) constraint DS = {26} extremes [4, infinity) + (hits 0/731) constraint DS = {20} extremes [4, infinity) (hits 28/1373) (matched long text) constraint (none) extremes [1, infinity) - (hits 0/762) constraint DS = {28} extremes [2, infinity) + (hits 0/1068) constraint DS = {22} extremes [2, infinity) (hits 1074/1119) (matched long text) constraint (none) extremes [3, infinity) (hits 11/271) (matched long text) constraint (none) extremes [0, infinity) - hits 83/2912 nti 24 constraint (none) extremes [1, infinity) + hits 83/2912 nti 18 constraint (none) extremes [1, infinity) English: - (hits 0/957) constraint DS = {19, 23} extremes [3, infinity) + (hits 0/877) constraint DS = {17, 19} extremes [3, infinity) (hits 83/1445) (matched long text) constraint (none) extremes [1, infinity) not - (hits 0/1082) constraint DS = {24} extremes [2, infinity) + (hits 0/1093) constraint DS = {18} extremes [2, infinity) - hits 11/542 nti 29 constraint (none) extremes [0, infinity) + hits 11/542 nti 23 constraint (none) extremes [0, infinity) English: ^ (hits 0/11) constraint (none) extremes [0, infinity) (hits 11/11) (matched long text) constraint (none) extremes [1, infinity) not - constraint DS = {29} extremes [2, infinity) + constraint DS = {23} extremes [2, infinity) - hits 22/2478 nti 23 constraint DS = {19, 23} extremes [3, infinity) + hits 22/2318 nti 17 constraint DS = {17, 19} extremes [3, infinity) English: is/are {...} - (hits 22/985) (matched long text) constraint DS = {19, 23} extremes [3, infinity) + (hits 22/900) (matched long text) constraint DS = {17, 19} extremes [3, infinity) - internal hits 94/2912 nti 8 constraint (none) extremes [1, infinity) + internal hits 94/2912 nti 31 constraint (none) extremes [1, infinity) - internal hits 1/2914 nti 9 constraint (none) extremes [1, infinity) + internal hits 1/2914 nti 6 constraint (none) extremes [1, infinity) - hits 28/2746 nti 10 constraint (none) extremes [1, infinity) + hits 28/2746 nti 7 constraint (none) extremes [1, infinity) English: (hits 28/1373) (matched long text) constraint (none) extremes [1, infinity) - hits 0/1524 nti 11 constraint DS = {28} extremes [2, infinity) + hits 0/2136 nti 8 constraint DS = {22} extremes [2, infinity) English: - (hits 0/762) constraint DS = {28} extremes [2, infinity) + (hits 0/1068) constraint DS = {22} extremes [2, infinity) - hits 0/1492 nti 12 constraint DS = {25} extremes [3, infinity) + hits 0/1736 nti 9 constraint DS = {19} extremes [3, infinity) English: - (hits 0/746) constraint DS = {25} extremes [3, infinity) + (hits 0/868) constraint DS = {19} extremes [3, infinity) - hits 0/1504 nti 13 constraint DS = {26} extremes [4, infinity) + hits 0/1462 nti 10 constraint DS = {20} extremes [4, infinity) English: - (hits 0/752) constraint DS = {26} extremes [4, infinity) + (hits 0/731) constraint DS = {20} extremes [4, infinity) - hits 1374/2748 nti 6 constraint (none) extremes [1, infinity) + hits 1374/2748 nti 26 constraint (none) extremes [1, infinity) English: ( ) - (hits 0/1209) constraint DS = {6} extremes [3, infinity) + (hits 0/729) constraint DS = {26} extremes [3, infinity) (hits 1374/1374) (matched long text) constraint (none) extremes [1, infinity) - hits 2627/5254 nti 8 constraint (none) extremes [1, infinity) + hits 2627/5254 nti 28 constraint (none) extremes [1, infinity) English: ( ) - (hits 0/510) constraint DS = {8} extremes [3, infinity) + (hits 0/497) constraint DS = {28} extremes [3, infinity) (hits 239/2627) (matched: 'might not appreciate') constraint (none) extremes [1, infinity) (hits 2388/2388) (matched long text) constraint (none) extremes [1, infinity) - hits 239/5254 nti 7 constraint (none) extremes [1, infinity) + hits 239/5254 nti 27 constraint (none) extremes [1, infinity) English: (hits 0/2581) constraint (none) extremes [1, infinity) verb - (hits 0/481) constraint DS = {7} extremes [2, infinity) + (hits 0/388) constraint DS = {27} extremes [2, infinity) adjective - (hits 0/481) constraint DS = {7} extremes [2, infinity) + (hits 0/388) constraint DS = {27} extremes [2, infinity) (hits 210/2581) (matched: 'do not fit') constraint (none) extremes [1, infinity) verb - (hits 0/392) constraint DS = {7} extremes [3, infinity) + (hits 0/369) constraint DS = {27} extremes [3, infinity) (hits 29/855) (matched: 'might not appreciate') constraint (none) extremes [2, infinity) (hits 0/2342) constraint (none) extremes [1, infinity) - internal hits 1374/2748 nti 14 constraint (none) extremes [1, infinity) + internal hits 1374/2748 nti 11 constraint (none) extremes [1, infinity) - internal hits 2388/4776 nti 15 constraint (none) extremes [1, infinity) + internal hits 2388/4776 nti 12 constraint (none) extremes [1, infinity) - nti 9 constraint CS = {9} extremes [1, 1] + nti 29 constraint CS = {29} extremes [1, 1] English: continue - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] - nti 10 constraint (none) extremes [1, infinity) + nti 30 constraint (none) extremes [1, infinity) English: a list of {...} - constraint DS = {10} extremes [4, infinity) + constraint DS = {30} extremes [4, infinity) {...} constraint (none) extremes [1, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 13 constraint (none) extremes [1, infinity) English: - constraint DS = {12} extremes [3, infinity) + constraint DS = {6} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 12 constraint DS = {12} extremes [2, infinity) + nti 6 constraint DS = {6} extremes [2, infinity) English: , and/or - constraint DS = {12} extremes [3, infinity) + constraint DS = {6} extremes [3, infinity) ,/and/or - constraint DS = {12} extremes [2, infinity) + constraint DS = {6} extremes [2, infinity) - nti 11 constraint (none) extremes [1, infinity) + nti 31 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) constraint (none) extremes [1, infinity) {...} begins/ends - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) when/while {***} - constraint DS = {11} extremes [1, infinity) + constraint DS = {31} extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 13 constraint (none) extremes [1, infinity) + nti 7 constraint (none) extremes [1, infinity) English: say {...} - constraint DS = {13} extremes [2, infinity) + constraint DS = {7} extremes [2, infinity) {...} and/or {...} - constraint DS = {13} extremes [3, infinity) + constraint DS = {7} extremes [3, infinity) {...} constraint (none) extremes [1, infinity) - nti 14 constraint (none) extremes [1, infinity) + nti 8 constraint (none) extremes [1, infinity) English: , {...} - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) unicode {...} - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) {...} condition - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) otherwise/else {***} - constraint DS = {14} extremes [1, infinity) + constraint DS = {8} extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 15 constraint (none) extremes [1, infinity) + nti 9 constraint (none) extremes [1, infinity) English: turns - constraint CS = {15} extremes [1, 1] + constraint CS = {9} extremes [1, 1] {...} is/are out of play - constraint DS = {15} extremes [5, infinity) + constraint DS = {9} extremes [5, infinity) unicode {...} - constraint DS = {15} extremes [2, infinity) + constraint DS = {9} extremes [2, infinity) {...} condition - constraint DS = {15} extremes [2, infinity) + constraint DS = {9} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - nti 17 constraint (none) extremes [1, infinity) + nti 14 constraint (none) extremes [1, infinity) English: {...} ^option constraint (none) extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 10 constraint (none) extremes [1, infinity) English: {...} of - constraint DS = {16} extremes [2, infinity) + constraint DS = {10} extremes [2, infinity) {...} for - constraint DS = {16} extremes [2, infinity) + constraint DS = {10} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - hits 4/292 nti 17 constraint CS = {17} extremes [1, 3] + hits 4/292 nti 11 constraint CS = {11} extremes [1, 3] English: description - (hits 1/2) (matched: 'description') constraint CS = {17} extremes [1, 1] + (hits 1/6) (matched: 'description') constraint CS = {11} extremes [1, 1] specification - (hits 1/1) (matched: 'specification') constraint CS = {17} extremes [1, 1] + (hits 1/5) (matched: 'specification') constraint CS = {11} extremes [1, 1] indefinite appearance text - (hits 1/2) (matched: 'indefinite appearance text') constraint CS = {17} extremes [3, 3] + (hits 1/2) (matched: 'indefinite appearance text') constraint CS = {11} extremes [3, 3] variable initial value - (hits 1/1) (matched: 'variable initial value') constraint CS = {17} extremes [3, 3] + (hits 1/1) (matched: 'variable initial value') constraint CS = {11} extremes [3, 3] - hits 34/354 nti 8 constraint DS = {8} extremes [2, infinity) + hits 34/342 nti 28 constraint DS = {28} extremes [2, infinity) English: property {...} - (hits 34/135) (matched: 'property initial appearance') constraint DS = {8} extremes [2, infinity) + (hits 34/129) (matched: 'property initial appearance') constraint DS = {28} extremes [2, infinity) - internal hits 69/340 nti 18 constraint (none) extremes [1, infinity) + internal hits 69/340 nti 15 constraint (none) extremes [1, infinity) - internal hits 0/44 nti 19 constraint (none) extremes [1, infinity) + internal hits 0/44 nti 16 constraint (none) extremes [1, infinity) - internal hits 127/2212 nti 20 constraint (none) extremes [1, infinity) + internal hits 127/2212 nti 17 constraint (none) extremes [1, infinity) - internal hits 104/228 nti 21 constraint (none) extremes [1, infinity) + internal hits 104/228 nti 18 constraint (none) extremes [1, infinity) - hits 0/292 nti 18 constraint DS = {18} extremes [1, infinity) + hits 0/292 nti 12 constraint DS = {12} extremes [1, infinity) English: {***} of {***} - (hits 0/18) constraint DS = {18} extremes [1, infinity) + (hits 0/24) constraint DS = {12} extremes [1, infinity) - internal hits 0/82192 nti 22 constraint (none) extremes [1, infinity) + internal hits 0/82192 nti 19 constraint (none) extremes [1, infinity) - hits 0/82 nti 20 constraint DS = {20} extremes [4, infinity) + hits 0/82 nti 14 constraint DS = {14} extremes [4, infinity) English: {...} is/are not {...} - (hits 0/34) constraint DS = {20} extremes [5, infinity) + (hits 0/37) constraint DS = {14} extremes [5, infinity) {} is/are - (hits 0/34) constraint DS = {20} extremes [4, infinity) + (hits 0/38) constraint DS = {14} extremes [4, infinity) {...} is/are - (hits 0/34) constraint DS = {20} extremes [4, infinity) + (hits 0/38) constraint DS = {14} extremes [4, infinity) - nti 19 constraint (none) extremes [1, infinity) + nti 13 constraint (none) extremes [1, infinity) English: {...} or more - constraint DS = {19} extremes [3, infinity) + constraint DS = {13} extremes [3, infinity) {...} or less - constraint DS = {19} extremes [3, infinity) + constraint DS = {13} extremes [3, infinity) {...} constraint (none) extremes [1, infinity) - nti 21 constraint DS = {21} extremes [2, infinity) + nti 15 constraint DS = {15} extremes [2, infinity) English: {...} than - constraint DS = {21} extremes [2, infinity) + constraint DS = {15} extremes [2, infinity) - nti 22 constraint DS = {22} extremes [4, infinity) + nti 16 constraint DS = {16} extremes [4, infinity) English: the same {...} as - constraint DS = {22} extremes [4, infinity) + constraint DS = {16} extremes [4, infinity) - hits 22/44 nti 23 constraint (none) extremes [1, infinity) + hits 22/44 nti 20 constraint (none) extremes [1, infinity) English: (hits 0/22) constraint (none) extremes [1, infinity) @@ -7387,46 +7357,46 @@ {...} constraint (none) extremes [1, infinity) - hits 0/6486 nti 21 constraint DS = {21} extremes [2, infinity) + hits 0/4612 nti 27 constraint DS = {27} extremes [2, infinity) English: { } - (hits 0/4) constraint CS = {21} extremes [2, 2] + constraint CS = {27} extremes [2, 2] { } - (hits 0/1918) constraint DS = {21} extremes [3, infinity) + (hits 0/1817) constraint DS = {27} extremes [3, infinity) - nti 20 constraint (none) extremes [1, infinity) + nti 26 constraint (none) extremes [1, infinity) English: , - constraint DS = {20} extremes [3, infinity) + constraint DS = {26} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 24 constraint (none) extremes [1, infinity) + nti 21 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {......} constraint (none) extremes [1, infinity) - hits 28/56 nti 24 constraint (none) extremes [1, infinity) + hits 28/56 nti 18 constraint (none) extremes [1, infinity) English: ( {***} ) - (hits 0/2) constraint DS = {24} extremes [2, infinity) + (hits 0/2) constraint DS = {18} extremes [2, infinity) ( {...} ) - (hits 0/2) constraint DS = {24} extremes [4, infinity) + (hits 0/2) constraint DS = {18} extremes [4, infinity) ( {...} ) - (hits 2/2) (matched: 'locale description priority ( a number )') constraint DS = {24} extremes [4, infinity) + (hits 2/2) (matched: 'locale description priority ( a number )') constraint DS = {18} extremes [4, infinity) (hits 12/26) (matched: 'turn stamp') constraint (none) extremes [1, infinity) (hits 14/14) (matched: 'final question wording') constraint (none) extremes [1, infinity) - hits 16/32 nti 23 constraint (none) extremes [1, infinity) + hits 16/32 nti 17 constraint (none) extremes [1, infinity) English:
    (hits 0/9) constraint (none) extremes [1, 1] {topic} - (hits 1/1) (matched: 'topic') constraint CS = {23} extremes [1, 1] + (hits 1/1) (matched: 'topic') constraint CS = {17} extremes [1, 1] {} (hits 0/15) constraint (none) extremes [1, infinity) {} @@ -7434,53 +7404,53 @@ {...} (hits 15/15) (matched: 'final question wording') constraint (none) extremes [1, infinity) - nti 25 constraint DS = {25} extremes [2, infinity) + nti 19 constraint DS = {19} extremes [2, infinity) English: {...} column - constraint DS = {25} extremes [2, infinity) + constraint DS = {19} extremes [2, infinity) - hits 7/14 nti 27 constraint DS = {26} extremes [2, infinity) + hits 7/14 nti 21 constraint DS = {20} extremes [2, infinity) English: ( continued ) - constraint DS = {26, 27} extremes [5, infinity) + constraint DS = {20, 21} extremes [5, infinity) ( amended ) - constraint DS = {26, 27} extremes [5, infinity) + constraint DS = {20, 21} extremes [5, infinity) ( replaced ) - constraint DS = {26, 27} extremes [5, infinity) + constraint DS = {20, 21} extremes [5, infinity) - (hits 7/7) (matched: 'table of final question options') constraint DS = {26} extremes [2, infinity) + (hits 7/7) (matched: 'table of final question options') constraint DS = {20} extremes [2, infinity) - hits 7/14 nti 26 constraint DS = {26} extremes [2, infinity) + hits 7/14 nti 20 constraint DS = {20} extremes [2, infinity) English: table {...} - {...} - (hits 0/7) constraint DS = {26} extremes [4, infinity) + (hits 0/7) constraint DS = {20} extremes [4, infinity) table {###} - constraint DS = {26} extremes [2, 2] + constraint DS = {20} extremes [2, 2] table of {...} - (hits 7/7) (matched: 'table of final question options') constraint DS = {26} extremes [3, infinity) + (hits 7/7) (matched: 'table of final question options') constraint DS = {20} extremes [3, infinity) table {...} - constraint DS = {26} extremes [2, infinity) + constraint DS = {20} extremes [2, infinity) - nti 28 constraint DS = {28} extremes [2, infinity) + nti 22 constraint DS = {22} extremes [2, infinity) English: table {...} - constraint DS = {28} extremes [2, infinity) + constraint DS = {22} extremes [2, infinity) table of {...} - constraint DS = {28} extremes [3, infinity) + constraint DS = {22} extremes [3, infinity) - hits 3/14 nti 29 constraint DS = {29} extremes [4, infinity) + hits 3/14 nti 23 constraint DS = {23} extremes [4, infinity) English: {***} with blank row/rows - (hits 2/7) (matched long text) constraint DS = {29} extremes [4, infinity) + (hits 2/7) (matched long text) constraint DS = {23} extremes [4, infinity) {***} with {...} blank row/rows - (hits 0/5) constraint DS = {29} extremes [4, infinity) + (hits 0/5) constraint DS = {23} extremes [4, infinity) {***} with blank row/rows for each/every {...} - (hits 1/5) (matched long text) constraint DS = {29} extremes [6, infinity) + (hits 1/5) (matched long text) constraint DS = {23} extremes [6, infinity) - hits 164/328 nti 25 constraint (none) extremes [1, infinity) + hits 164/328 nti 22 constraint (none) extremes [1, infinity) English: - (hits 14/14) (matched: '--') constraint CS = {30} extremes [1, 1] + (hits 14/14) (matched: '--') constraint CS = {24} extremes [1, 1] (hits 28/150) (matched: 'a number') constraint (none) extremes [1, infinity) @@ -7494,19 +7464,19 @@ {...} constraint (none) extremes [1, infinity) - hits 14/28 nti 30 constraint CS = {30} extremes [1, 1] + hits 14/28 nti 24 constraint CS = {24} extremes [1, 1] English: -- - (hits 14/14) (matched: '--') constraint CS = {30} extremes [1, 1] + (hits 14/14) (matched: '--') constraint CS = {24} extremes [1, 1] - hits 116/244 nti 31 constraint (none) extremes [1, infinity) + hits 116/244 nti 25 constraint (none) extremes [1, infinity) English: the action of - (hits 0/2) constraint DS = {31} extremes [4, infinity) + (hits 0/2) constraint DS = {25} extremes [4, infinity) (hits 0/122) constraint (none) extremes [1, infinity) the action of - (hits 0/2) constraint DS = {31} extremes [4, infinity) + (hits 0/2) constraint DS = {25} extremes [4, infinity) (hits 0/122) constraint (none) extremes [1, infinity) @@ -7514,108 +7484,108 @@ (hits 116/122) (matched: 'immediately restart the vm rule') constraint (none) extremes [1, infinity) - hits 12/24 nti 6 constraint (none) extremes [1, infinity) + hits 12/24 nti 26 constraint (none) extremes [1, infinity) English: or - (hits 6/6) (matched: '"forecast/weatherman" or "weather forecast/man"') constraint DS = {6} extremes [3, infinity) + (hits 6/6) (matched: '"forecast/weatherman" or "weather forecast/man"') constraint DS = {26} extremes [3, infinity) (hits 6/6) (matched: '"weather forecast/man"') constraint (none) extremes [1, 1] - nti 7 constraint (none) extremes [1, infinity) + nti 27 constraint (none) extremes [1, infinity) English: kind/kinds of - constraint DS = {7} extremes [3, infinity) + constraint DS = {27} extremes [3, infinity) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 26 constraint (none) extremes [1, infinity) + nti 23 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 0/856 nti 8 constraint DS = {8} extremes [3, infinity) + hits 0/856 nti 28 constraint DS = {28} extremes [3, infinity) English: defined by - (hits 0/160) constraint DS = {8} extremes [3, infinity) + (hits 0/134) constraint DS = {28} extremes [3, infinity) - nti 9 constraint CS = {9} extremes [1, 1] + nti 29 constraint CS = {29} extremes [1, 1] English: location - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] - nti 10 constraint DS = {10} extremes [1, infinity) + nti 30 constraint DS = {30} extremes [1, infinity) English: equation {} - {...} - constraint DS = {10} extremes [4, infinity) + constraint DS = {30} extremes [4, infinity) equation {} - constraint DS = {10} extremes [2, 2] + constraint DS = {30} extremes [2, 2] equation - {...} - constraint DS = {10} extremes [3, infinity) + constraint DS = {30} extremes [3, infinity) equation {***} - constraint DS = {10} extremes [1, infinity) + constraint DS = {30} extremes [1, infinity) - hits 0/8 nti 11 constraint DS = {11} extremes [2, infinity) + hits 0/8 nti 31 constraint DS = {31} extremes [2, infinity) English: {...} , - (hits 0/3) constraint DS = {11} extremes [2, infinity) + (hits 0/3) constraint DS = {31} extremes [2, infinity) - nti 12 constraint DS = {12} extremes [2, infinity) + nti 6 constraint DS = {6} extremes [2, infinity) English: equation {...} - constraint DS = {12} extremes [2, infinity) + constraint DS = {6} extremes [2, infinity) {...} equation - constraint DS = {12} extremes [2, infinity) + constraint DS = {6} extremes [2, infinity) - nti 13 constraint DS = {13} extremes [3, infinity) + nti 7 constraint DS = {7} extremes [3, infinity) English: {...} where {...} - constraint DS = {13} extremes [3, infinity) + constraint DS = {7} extremes [3, infinity) - hits 4/8 nti 27 constraint (none) extremes [1, infinity) + hits 4/8 nti 24 constraint (none) extremes [1, infinity) English: {...} (hits 0/4) constraint (none) extremes [1, infinity) - (hits 0/4) constraint DS = {15} extremes [3, infinity) + (hits 0/4) constraint DS = {9} extremes [3, infinity) (hits 4/4) (matched: 'x is a real number') constraint (none) extremes [1, infinity) - hits 0/32 nti 15 constraint DS = {15} extremes [2, infinity) + hits 0/32 nti 9 constraint DS = {9} extremes [2, infinity) English: , _and - (hits 0/4) constraint DS = {15} extremes [3, infinity) + (hits 0/4) constraint DS = {9} extremes [3, infinity) _,/and - (hits 0/4) constraint DS = {15} extremes [2, infinity) + (hits 0/4) constraint DS = {9} extremes [2, infinity) - hits 4/8 nti 28 constraint (none) extremes [1, infinity) + hits 4/8 nti 25 constraint (none) extremes [1, infinity) English: {...} (hits 0/4) constraint (none) extremes [1, infinity) (hits 4/4) (matched: 'x is a real number') constraint (none) extremes [1, infinity) - hits 4/8 nti 14 constraint (none) extremes [1, infinity) + hits 4/8 nti 8 constraint (none) extremes [1, infinity) English: is/are - (hits 4/4) (matched: 'x is a real number') constraint DS = {14} extremes [3, infinity) + (hits 4/4) (matched: 'x is a real number') constraint DS = {8} extremes [3, infinity) is/are - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) is/are {...} - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) = - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) = - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) = {...} - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) constraint (none) extremes [1, infinity) - hits 4/8 nti 29 constraint (none) extremes [1, infinity) + hits 4/8 nti 26 constraint (none) extremes [1, infinity) English: (hits 4/4) (matched: 'x') constraint (none) extremes [1, infinity) @@ -7624,40 +7594,40 @@ {...} constraint (none) extremes [1, infinity) - internal hits 4/8 nti 30 constraint (none) extremes [1, infinity) + internal hits 4/8 nti 27 constraint (none) extremes [1, infinity) - hits 431/862 nti 16 constraint (none) extremes [1, infinity) + hits 431/862 nti 10 constraint (none) extremes [1, infinity) English: (hits 0/418) constraint (none) extremes [2, infinity) rules/rulebook - (hits 24/409) (matched: 'does the player mean rules') constraint DS = {16} extremes [2, infinity) + (hits 24/241) (matched: 'does the player mean rules') constraint DS = {10} extremes [2, infinity) at {***} - (hits 0/390) constraint DS = {16} extremes [1, infinity) + (hits 0/218) constraint DS = {10} extremes [1, infinity) to {***} - (hits 0/390) constraint DS = {16} extremes [1, infinity) + (hits 0/218) constraint DS = {10} extremes [1, infinity) definition {***} - (hits 0/390) constraint DS = {16} extremes [1, infinity) + (hits 0/218) constraint DS = {10} extremes [1, infinity) {...} (hits 407/407) (matched long text) constraint (none) extremes [1, infinity) - nti 17 constraint DS = {17} extremes [2, infinity) + nti 11 constraint DS = {11} extremes [2, infinity) English: {...} rules - constraint DS = {17} extremes [2, infinity) + constraint DS = {11} extremes [2, infinity) {...} rulebook - constraint DS = {17} extremes [2, infinity) + constraint DS = {11} extremes [2, infinity) - hits 7/14 nti 31 constraint (none) extremes [1, infinity) + hits 7/14 nti 28 constraint (none) extremes [1, infinity) English: (hits 0/7) constraint (none) extremes [1, infinity) {...} (hits 7/7) (matched: 'specific carry out rulebook') constraint (none) extremes [1, infinity) - internal hits 371/790 nti 6 constraint (none) extremes [1, infinity) + internal hits 371/790 nti 29 constraint (none) extremes [1, infinity) - hits 395/790 nti 7 constraint (none) extremes [1, infinity) + hits 395/790 nti 30 constraint (none) extremes [1, infinity) English: (hits 19/395) (matched: 'a first turn sequence rule') constraint (none) extremes [2, infinity) @@ -7666,299 +7636,299 @@ (hits 373/373) (matched long text) constraint (none) extremes [1, infinity) - hits 395/790 nti 19 constraint (none) extremes [1, infinity) + hits 395/790 nti 13 constraint (none) extremes [1, infinity) English: rule for/about/on - (hits 13/199) (matched long text) constraint DS = {19} extremes [3, infinity) + (hits 13/330) (matched long text) constraint DS = {13} extremes [3, infinity) rule - (hits 0/190) constraint DS = {19} extremes [2, infinity) + (hits 0/321) constraint DS = {13} extremes [2, infinity) first rule - (hits 0/186) constraint DS = {19} extremes [3, infinity) + (hits 0/317) constraint DS = {13} extremes [3, infinity) first - (hits 3/190) (matched: 'first turn sequence rule') constraint DS = {19} extremes [2, infinity) + (hits 3/321) (matched: 'first turn sequence rule') constraint DS = {13} extremes [2, infinity) last rule - (hits 0/183) constraint DS = {19} extremes [3, infinity) + (hits 0/314) constraint DS = {13} extremes [3, infinity) last - (hits 3/187) (matched: 'last turn sequence rule') constraint DS = {19} extremes [2, infinity) + (hits 3/318) (matched: 'last turn sequence rule') constraint DS = {13} extremes [2, infinity) (hits 376/376) (matched long text) constraint (none) extremes [1, infinity) - hits 395/790 nti 18 constraint (none) extremes [1, infinity) + hits 395/790 nti 12 constraint (none) extremes [1, infinity) English: {when ... begins} - (hits 4/128) (matched long text) constraint DS = {18} extremes [3, infinity) + (hits 4/318) (matched long text) constraint DS = {12} extremes [3, infinity) {when ... ends} - (hits 0/124) constraint DS = {18} extremes [3, infinity) + (hits 0/314) constraint DS = {12} extremes [3, infinity) {...} (hits 391/391) (matched long text) constraint (none) extremes [1, infinity) - hits 7/14 nti 23 constraint (none) extremes [1, infinity) + hits 7/14 nti 17 constraint (none) extremes [1, infinity) English: outcome/outcomes - (hits 7/7) (matched long text) constraint DS = {23} extremes [2, infinity) + (hits 7/7) (matched long text) constraint DS = {17} extremes [2, infinity) default - constraint DS = {23} extremes [2, infinity) + constraint DS = {17} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - nti 8 constraint (none) extremes [1, infinity) + nti 31 constraint (none) extremes [1, infinity) English: - constraint CS = {20} extremes [1, 2] + constraint CS = {14} extremes [1, 2] {...} constraint (none) extremes [1, infinity) - hits 18/36 nti 20 constraint CS = {20} extremes [1, 2] + hits 18/36 nti 14 constraint CS = {14} extremes [1, 2] English: success - (hits 10/18) (matched: 'success') constraint CS = {20} extremes [1, 1] + (hits 10/18) (matched: 'success') constraint CS = {14} extremes [1, 1] failure - (hits 8/8) (matched: 'failure') constraint CS = {20} extremes [1, 1] + (hits 8/8) (matched: 'failure') constraint CS = {14} extremes [1, 1] no outcome - constraint CS = {20} extremes [2, 2] + constraint CS = {14} extremes [2, 2] - hits 27/54 nti 9 constraint (none) extremes [1, infinity) + hits 27/54 nti 6 constraint (none) extremes [1, infinity) English: {...} (hits 10/27) (matched long text) constraint (none) extremes [1, infinity) - (hits 10/16) (matched long text) constraint DS = {22} extremes [3, infinity) + (hits 10/16) (matched long text) constraint DS = {16} extremes [3, infinity) (hits 7/7) (matched: 'there is insufficient light ( success )') constraint (none) extremes [1, infinity) - hits 20/164 nti 22 constraint DS = {22} extremes [2, infinity) + hits 20/164 nti 16 constraint DS = {16} extremes [2, infinity) English: , _and/or - (hits 0/70) constraint DS = {22} extremes [3, infinity) + (hits 0/70) constraint DS = {16} extremes [3, infinity) _,/and/or - (hits 20/76) (matched long text) constraint DS = {22} extremes [2, infinity) + (hits 20/76) (matched long text) constraint DS = {16} extremes [2, infinity) - hits 27/54 nti 10 constraint (none) extremes [1, infinity) + hits 27/54 nti 7 constraint (none) extremes [1, infinity) English: (hits 27/27) (matched: 'there is sufficient light ( failure )') constraint (none) extremes [1, infinity) - hits 27/54 nti 21 constraint (none) extremes [1, infinity) + hits 27/54 nti 15 constraint (none) extremes [1, infinity) English: {...} ( - the default ) - (hits 0/3) constraint DS = {20, 21} extremes [7, infinity) + (hits 0/3) constraint DS = {14, 15} extremes [7, infinity) {...} ( - default ) - (hits 0/5) constraint DS = {20, 21} extremes [6, infinity) + (hits 0/5) constraint DS = {14, 15} extremes [6, infinity) {...} ( ) - (hits 18/18) (matched: 'there is sufficient light ( failure )') constraint DS = {20, 21} extremes [4, infinity) + (hits 18/18) (matched: 'there is sufficient light ( failure )') constraint DS = {14, 15} extremes [4, infinity) {...} ( {...} ) - constraint DS = {21} extremes [4, infinity) + constraint DS = {15} extremes [4, infinity) {...} (hits 9/9) (matched: 'it is very likely') constraint (none) extremes [1, infinity) - hits 5/30 nti 24 constraint CS = {24} extremes [3, 4] + hits 5/30 nti 18 constraint CS = {18} extremes [3, 4] English: it is very likely - (hits 1/2) (matched: 'it is very likely') constraint CS = {24} extremes [4, 4] + (hits 1/2) (matched: 'it is very likely') constraint CS = {18} extremes [4, 4] it is likely - (hits 1/3) (matched: 'it is likely') constraint CS = {24} extremes [3, 3] + (hits 1/3) (matched: 'it is likely') constraint CS = {18} extremes [3, 3] it is possible - (hits 1/2) (matched: 'it is possible') constraint CS = {24} extremes [3, 3] + (hits 1/2) (matched: 'it is possible') constraint CS = {18} extremes [3, 3] it is unlikely - (hits 1/1) (matched: 'it is unlikely') constraint CS = {24} extremes [3, 3] + (hits 1/1) (matched: 'it is unlikely') constraint CS = {18} extremes [3, 3] it is very unlikely - (hits 1/1) (matched: 'it is very unlikely') constraint CS = {24} extremes [4, 4] + (hits 1/1) (matched: 'it is very unlikely') constraint CS = {18} extremes [4, 4] - internal hits 8/1226 nti 11 constraint (none) extremes [1, infinity) + internal hits 8/1226 nti 8 constraint (none) extremes [1, infinity) - internal hits 82/164 nti 12 constraint (none) extremes [1, infinity) + internal hits 82/164 nti 9 constraint (none) extremes [1, infinity) - internal hits 123/246 nti 13 constraint (none) extremes [1, infinity) + internal hits 123/246 nti 10 constraint (none) extremes [1, infinity) - hits 83/166 nti 25 constraint DS = {25} extremes [2, infinity) + hits 83/166 nti 19 constraint DS = {19} extremes [2, infinity) English: listed - (hits 82/83) (matched long text) constraint DS = {25} extremes [2, infinity) + (hits 82/83) (matched long text) constraint DS = {19} extremes [2, infinity) not listed - (hits 1/1) (matched: 'not listed in any rulebook') constraint DS = {25} extremes [3, infinity) + (hits 1/1) (matched: 'not listed in any rulebook') constraint DS = {19} extremes [3, infinity) - hits 113/932 nti 14 constraint (none) extremes [1, infinity) + hits 113/932 nti 11 constraint (none) extremes [1, infinity) English: {...} (hits 30/466) (matched long text) constraint (none) extremes [1, infinity) - (hits 0/232) constraint DS = {26, 27} extremes [4, infinity) + (hits 0/33) constraint DS = {20, 21} extremes [4, infinity) - (hits 83/314) (matched long text) constraint DS = {26} extremes [2, infinity) + (hits 83/308) (matched long text) constraint DS = {20} extremes [2, infinity) - hits 30/2592 nti 27 constraint DS = {27} extremes [2, infinity) + hits 30/708 nti 21 constraint DS = {21} extremes [2, infinity) English: , _{and} - (hits 1/564) (matched: ', and the library') constraint DS = {27} extremes [3, infinity) + (hits 1/248) (matched: ', and the library') constraint DS = {21} extremes [3, infinity) _{,/and} - (hits 29/585) (matched long text) constraint DS = {27} extremes [2, infinity) + (hits 29/260) (matched long text) constraint DS = {21} extremes [2, infinity) - hits 83/688 nti 26 constraint DS = {26} extremes [2, infinity) + hits 83/676 nti 20 constraint DS = {20} extremes [2, infinity) English: {...} rule - (hits 83/344) (matched long text) constraint DS = {26} extremes [2, infinity) + (hits 83/338) (matched long text) constraint DS = {20} extremes [2, infinity) - nti 28 constraint DS = {26} extremes [2, infinity) + nti 22 constraint DS = {20} extremes [2, infinity) English: - constraint DS = {26} extremes [2, infinity) + constraint DS = {20} extremes [2, infinity) if/when - constraint DS = {26, 28} extremes [4, infinity) + constraint DS = {20, 22} extremes [4, infinity) unless - constraint DS = {26, 28} extremes [4, infinity) + constraint DS = {20, 22} extremes [4, infinity) - nti 15 constraint (none) extremes [1, infinity) + nti 12 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 13 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 29 constraint CS = {29} extremes [1, 1] + nti 23 constraint CS = {23} extremes [1, 1] English: nothing - constraint CS = {29} extremes [1, 1] + constraint CS = {23} extremes [1, 1] - nti 17 constraint (none) extremes [1, infinity) + nti 14 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 83/166 nti 18 constraint (none) extremes [1, infinity) + hits 83/166 nti 15 constraint (none) extremes [1, infinity) English: (hits 83/83) (matched long text) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 83/166 nti 30 constraint (none) extremes [1, infinity) + hits 83/166 nti 24 constraint (none) extremes [1, infinity) English: in any rulebook - (hits 1/1) (matched: 'in any rulebook') constraint CS = {30} extremes [3, 3] + (hits 1/1) (matched: 'in any rulebook') constraint CS = {24} extremes [3, 3] in - (hits 32/82) (matched long text) constraint DS = {30} extremes [2, infinity) + (hits 32/82) (matched long text) constraint DS = {24} extremes [2, infinity) first in - (hits 16/50) (matched: 'first in for starting the virtual machine') constraint DS = {30} extremes [3, infinity) + (hits 16/50) (matched: 'first in for starting the virtual machine') constraint DS = {24} extremes [3, infinity) last in - (hits 30/34) (matched long text) constraint DS = {30} extremes [3, infinity) + (hits 30/34) (matched long text) constraint DS = {24} extremes [3, infinity) instead of in - (hits 3/4) (matched long text) constraint DS = {30} extremes [5, infinity) + (hits 3/4) (matched long text) constraint DS = {24} extremes [5, infinity) instead of in {...} - (hits 0/1) constraint DS = {30} extremes [5, infinity) + (hits 0/1) constraint DS = {24} extremes [5, infinity) instead of {...} in {...} - (hits 0/1) constraint DS = {30} extremes [5, infinity) + (hits 0/1) constraint DS = {24} extremes [5, infinity) before in - (hits 1/1) (matched long text) constraint DS = {30} extremes [4, infinity) + (hits 1/1) (matched long text) constraint DS = {24} extremes [4, infinity) before in {...} - constraint DS = {30} extremes [4, infinity) + constraint DS = {24} extremes [4, infinity) before {...} in {...} - constraint DS = {30} extremes [4, infinity) + constraint DS = {24} extremes [4, infinity) after in - constraint DS = {30} extremes [4, infinity) + constraint DS = {24} extremes [4, infinity) after in {...} - constraint DS = {30} extremes [4, infinity) + constraint DS = {24} extremes [4, infinity) after {...} in {...} - constraint DS = {30} extremes [4, infinity) + constraint DS = {24} extremes [4, infinity) instead of {...} - constraint DS = {30} extremes [3, infinity) + constraint DS = {24} extremes [3, infinity) before {...} - constraint DS = {30} extremes [2, infinity) + constraint DS = {24} extremes [2, infinity) after {...} - constraint DS = {30} extremes [2, infinity) + constraint DS = {24} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - hits 78/156 nti 19 constraint (none) extremes [1, infinity) + hits 78/156 nti 16 constraint (none) extremes [1, infinity) English: (hits 78/78) (matched long text) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 34/1104 nti 31 constraint DS = {31} extremes [1, 2] + hits 34/1104 nti 25 constraint DS = {25} extremes [1, 2] English:
    activity - (hits 34/34) (matched: 'an activity') constraint DS = {31} extremes [2, 2] + (hits 34/38) (matched: 'an activity') constraint DS = {25} extremes [2, 2] activity - (hits 0/2) constraint CS = {31} extremes [1, 1] + (hits 0/1) constraint CS = {25} extremes [1, 1] - hits 35/70 nti 9 constraint (none) extremes [1, infinity) + hits 35/70 nti 29 constraint (none) extremes [1, infinity) English: ( ) - (hits 32/33) (matched long text) constraint DS = {8, 9} extremes [6, infinity) + (hits 32/33) (matched long text) constraint DS = {28, 29} extremes [6, infinity) -- -- - (hits 1/1) (matched long text) constraint DS = {8, 9} extremes [6, infinity) + (hits 1/1) (matched long text) constraint DS = {28, 29} extremes [6, infinity) (hits 2/2) (matched: 'handling the final question') constraint (none) extremes [1, infinity) - hits 35/70 nti 7 constraint (none) extremes [1, infinity) + hits 35/70 nti 27 constraint (none) extremes [1, infinity) English: ( future action ) - (hits 4/21) (matched long text) constraint DS = {7} extremes [5, infinity) + (hits 4/22) (matched long text) constraint DS = {27} extremes [5, infinity) ( {...} ) - (hits 0/19) constraint DS = {7} extremes [4, infinity) + (hits 0/24) constraint DS = {27} extremes [4, infinity) (hits 31/31) (matched: 'printing a refusal to act in the dark') constraint (none) extremes [1, infinity) - hits 35/70 nti 6 constraint (none) extremes [1, infinity) + hits 35/70 nti 26 constraint (none) extremes [1, infinity) English: {...} of/for something/anything - (hits 14/31) (matched: 'printing the plural name of something') constraint DS = {6} extremes [3, infinity) + (hits 14/25) (matched: 'printing the plural name of something') constraint DS = {26} extremes [3, infinity) {...} something/anything - (hits 5/17) (matched: 'printing a locale paragraph about something') constraint DS = {6} extremes [2, infinity) + (hits 5/11) (matched: 'printing a locale paragraph about something') constraint DS = {26} extremes [2, infinity) {...} (hits 16/16) (matched: 'printing a refusal to act in the dark') constraint (none) extremes [1, infinity) - nti 10 constraint DS = {10} extremes [2, infinity) + nti 30 constraint DS = {30} extremes [2, infinity) English: {...} activity - constraint DS = {10} extremes [2, infinity) + constraint DS = {30} extremes [2, infinity) - nti 20 constraint (none) extremes [1, infinity) + nti 17 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 41/82 nti 14 constraint (none) extremes [1, infinity) + hits 41/82 nti 8 constraint (none) extremes [1, infinity) English: not - (hits 1/26) (matched: 'not opening or closing or locking or unlocking') constraint DS = {14} extremes [2, infinity) + (hits 1/1) (matched: 'not opening or closing or locking or unlocking') constraint DS = {8} extremes [2, infinity) (hits 40/40) (matched: 'dropping or throwing or inserting or putting') constraint (none) extremes [1, infinity) - hits 41/82 nti 21 constraint (none) extremes [1, infinity) + hits 41/82 nti 18 constraint (none) extremes [1, infinity) English: {...} (hits 14/41) (matched: 'throwing or inserting or putting') constraint (none) extremes [1, infinity) - (hits 14/17) (matched: 'dropping or throwing or inserting or putting') constraint DS = {13} extremes [3, infinity) + (hits 14/17) (matched: 'dropping or throwing or inserting or putting') constraint DS = {7} extremes [3, infinity) (hits 13/13) (matched: 'an actor smelling') constraint (none) extremes [1, infinity) - hits 28/76 nti 13 constraint DS = {13} extremes [2, infinity) + hits 28/76 nti 7 constraint DS = {7} extremes [2, infinity) English: , _or - (hits 0/20) constraint DS = {13} extremes [3, infinity) + (hits 0/20) constraint DS = {7} extremes [3, infinity) _,/or - (hits 28/35) (matched: 'or throwing or inserting or putting') constraint DS = {13} extremes [2, infinity) + (hits 28/35) (matched: 'or throwing or inserting or putting') constraint DS = {7} extremes [2, infinity) - hits 41/82 nti 12 constraint (none) extremes [1, infinity) + hits 41/82 nti 6 constraint (none) extremes [1, infinity) English: (hits 1/41) (matched: 'listing contents') constraint (none) extremes [1, infinity) of/for - (hits 0/3) constraint DS = {12} extremes [3, infinity) + constraint DS = {6} extremes [3, infinity) (hits 0/12) constraint (none) extremes [2, infinity) ^ {...} @@ -7966,457 +7936,457 @@ (hits 40/40) (matched: 'an actor smelling') constraint (none) extremes [1, infinity) - hits 3/30 nti 11 constraint (none) extremes [1, infinity) + hits 3/30 nti 31 constraint (none) extremes [1, infinity) English: something/anything - constraint CS = {11} extremes [1, 1] + constraint CS = {31} extremes [1, 1] something/anything else - constraint CS = {11} extremes [2, 2] + constraint CS = {31} extremes [2, 2] (hits 3/15) (matched: 'smelling') constraint (none) extremes [1, infinity) - internal hits 1/88 nti 22 constraint (none) extremes [1, infinity) + internal hits 1/88 nti 19 constraint (none) extremes [1, infinity) - internal hits 80/160 nti 23 constraint (none) extremes [0, 0] + internal hits 80/160 nti 20 constraint (none) extremes [0, 0] - hits 432/1426 nti 15 constraint DS = {15} extremes [2, infinity) + hits 432/1426 nti 9 constraint DS = {9} extremes [2, infinity) English: (- {###} - in to only - (hits 16/26) (matched: '(- rtrue; - in to only') constraint DS = {15} extremes [6, 6] + (hits 16/25) (matched: '(- rtrue; - in to only') constraint DS = {9} extremes [6, 6] (- {###} - in to decide if only - (hits 4/12) (matched: '(- rtrue; - in to decide if only') constraint DS = {15} extremes [8, 8] + (hits 4/12) (matched: '(- rtrue; - in to decide if only') constraint DS = {9} extremes [8, 8] (- {###} - in to decide only - (hits 0/7) constraint DS = {15} extremes [7, 7] + (hits 0/7) constraint DS = {9} extremes [7, 7] (- {###} - (hits 412/412) (matched: '(- {-say:val:K} ') constraint DS = {15} extremes [2, 2] + (hits 412/443) (matched: '(- {-say:val:K} ') constraint DS = {9} extremes [2, 2] (- {###} {...} - (hits 0/66) constraint DS = {15} extremes [3, infinity) + (hits 0/64) constraint DS = {9} extremes [3, infinity) - hits 1880/3760 nti 16 constraint (none) extremes [1, infinity) + hits 1880/3760 nti 10 constraint (none) extremes [1, infinity) English: definition - (hits 88/88) (matched: 'definition') constraint CS = {16} extremes [1, 1] + (hits 88/88) (matched: 'definition') constraint CS = {10} extremes [1, 1] this is the {... rule} - (hits 58/1642) (matched long text) constraint DS = {16} extremes [5, infinity) + (hits 58/1630) (matched long text) constraint DS = {10} extremes [5, infinity) this is the rule - constraint CS = {16} extremes [4, 4] + constraint CS = {10} extremes [4, 4] this is {...} rule - (hits 0/1624) constraint DS = {16} extremes [4, infinity) + (hits 0/1596) constraint DS = {10} extremes [4, infinity) this is {...} rules - (hits 0/1624) constraint DS = {16} extremes [4, infinity) + (hits 0/1596) constraint DS = {10} extremes [4, infinity) - (hits 0/1652) constraint DS = {27} extremes [2, infinity) + (hits 0/1692) constraint DS = {7} extremes [2, infinity) to - constraint CS = {16} extremes [1, 1] + constraint CS = {10} extremes [1, 1] to {...} ( called {...} ) - (hits 0/1548) constraint DS = {16} extremes [6, infinity) + (hits 0/1542) constraint DS = {10} extremes [6, infinity) {to ...} ( this is the {### function} inverse to {###} ) - (hits 32/1346) (matched long text) constraint DS = {16} extremes [12, infinity) + (hits 32/1346) (matched long text) constraint DS = {10} extremes [12, infinity) {to ...} ( this is the {### function} ) - (hits 8/1418) (matched long text) constraint DS = {16} extremes [9, infinity) + (hits 8/1418) (matched long text) constraint DS = {10} extremes [9, infinity) {to ...} ( this is {...} ) - (hits 0/1478) constraint DS = {16} extremes [7, infinity) + (hits 0/1476) constraint DS = {10} extremes [7, infinity) to {...} - (hits 952/1694) (matched long text) constraint DS = {16} extremes [2, infinity) + (hits 952/1652) (matched long text) constraint DS = {10} extremes [2, infinity) {...} ( this is the {... rule} ) - (hits 562/606) (matched long text) constraint DS = {16} extremes [8, infinity) + (hits 562/606) (matched long text) constraint DS = {10} extremes [8, infinity) {...} ( this is the rule ) - (hits 0/62) constraint DS = {16} extremes [7, infinity) + (hits 0/60) constraint DS = {10} extremes [7, infinity) {...} ( this is {...} rule ) - (hits 0/62) constraint DS = {16} extremes [7, infinity) + (hits 0/60) constraint DS = {10} extremes [7, infinity) {...} ( this is {...} rules ) - (hits 0/62) constraint DS = {16} extremes [7, infinity) + (hits 0/60) constraint DS = {10} extremes [7, infinity) {...} (hits 180/180) (matched long text) constraint (none) extremes [1, infinity) - hits 2/1984 nti 17 constraint DS = {17} extremes [3, infinity) + hits 2/1984 nti 11 constraint DS = {11} extremes [3, infinity) English: to now {...} - (hits 2/990) (matched long text) constraint DS = {17} extremes [3, infinity) + (hits 2/990) (matched long text) constraint DS = {11} extremes [3, infinity) - hits 0/1984 nti 18 constraint CS = {18} extremes [2, 2] + hits 0/1984 nti 12 constraint CS = {12} extremes [2, 2] English: to begin - (hits 0/2) constraint CS = {18} extremes [2, 2] + constraint CS = {12} extremes [2, 2] - hits 371/742 nti 21 constraint (none) extremes [1, infinity) + hits 371/742 nti 15 constraint (none) extremes [1, infinity) English: during - (hits 0/173) constraint DS = {21} extremes [3, infinity) + (hits 0/174) constraint DS = {15} extremes [3, infinity) (hits 371/371) (matched long text) constraint (none) extremes [1, infinity) - hits 371/742 nti 20 constraint (none) extremes [1, infinity) + hits 371/742 nti 14 constraint (none) extremes [1, infinity) English: {} {when/while ...} - (hits 23/69) (matched long text) constraint DS = {20} extremes [3, infinity) + (hits 23/323) (matched long text) constraint DS = {14} extremes [3, infinity) {} (hits 348/348) (matched long text) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 371/750 nti 19 constraint (none) extremes [1, infinity) + hits 371/750 nti 13 constraint (none) extremes [1, infinity) English: {***} (hits 359/371) (matched long text) constraint (none) extremes [1, infinity)
    rule for {***} - (hits 0/12) constraint DS = {19} extremes [4, infinity) + (hits 0/12) constraint DS = {13} extremes [4, infinity)
    rule {***} - (hits 0/12) constraint DS = {19} extremes [3, infinity) + (hits 0/12) constraint DS = {13} extremes [3, infinity) rule for {***} - (hits 0/12) constraint DS = {19} extremes [3, infinity) + (hits 0/12) constraint DS = {13} extremes [3, infinity) rule {***} - (hits 12/12) (matched long text) constraint DS = {19} extremes [2, infinity) + (hits 12/12) (matched long text) constraint DS = {13} extremes [2, infinity) - hits 92/1496 nti 22 constraint DS = {22} extremes [1, infinity) + hits 92/1496 nti 16 constraint DS = {16} extremes [1, infinity) English: of/for {...} - (hits 48/202) (matched long text) constraint DS = {22} extremes [2, infinity) + (hits 48/288) (matched long text) constraint DS = {16} extremes [2, infinity) rule about/for/on {...} - (hits 0/154) constraint DS = {22} extremes [3, infinity) + (hits 0/240) constraint DS = {16} extremes [3, infinity) rule - (hits 44/44) (matched: 'rule') constraint CS = {22} extremes [1, 1] + (hits 44/46) (matched: 'rule') constraint CS = {16} extremes [1, 1] - nti 23 constraint (none) extremes [1, infinity) + nti 17 constraint (none) extremes [1, infinity) English: when {***} - constraint DS = {23} extremes [1, infinity) + constraint DS = {17} extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 3/464 nti 24 constraint DS = {24} extremes [3, infinity) + hits 3/464 nti 18 constraint DS = {18} extremes [3, infinity) English: {...} when/while {...} - (hits 3/43) (matched long text) constraint DS = {24} extremes [3, infinity) + (hits 3/36) (matched long text) constraint DS = {18} extremes [3, infinity) - nti 25 constraint (none) extremes [1, infinity) + nti 19 constraint (none) extremes [1, infinity) English: when the play begins/ends - constraint CS = {25} extremes [4, 4] + constraint CS = {19} extremes [4, 4] {...} constraint (none) extremes [1, infinity) - nti 26 constraint DS = {26} extremes [2, infinity) + nti 20 constraint DS = {20} extremes [2, infinity) English: in the presence of {...} - constraint DS = {26} extremes [5, infinity) + constraint DS = {20} extremes [5, infinity) in {...} - constraint DS = {26} extremes [2, infinity) + constraint DS = {20} extremes [2, infinity) - nti 27 constraint DS = {27} extremes [3, infinity) + nti 21 constraint DS = {21} extremes [3, infinity) English: {...} called {...} {when/while ...} - constraint DS = {27} extremes [5, infinity) + constraint DS = {21} extremes [5, infinity) {...} {when/while *** nothing ***} - constraint DS = {27} extremes [3, infinity) + constraint DS = {21} extremes [3, infinity) {...} {when/while *** nowhere ***} - constraint DS = {27} extremes [3, infinity) + constraint DS = {21} extremes [3, infinity) {...} and {when/while ...} - constraint DS = {27} extremes [4, infinity) + constraint DS = {21} extremes [4, infinity) {...} {when/while ...} - constraint DS = {27} extremes [3, infinity) + constraint DS = {21} extremes [3, infinity) - nti 29 constraint (none) extremes [1, infinity) + nti 23 constraint (none) extremes [1, infinity) English: when/while {...} - constraint DS = {29} extremes [3, infinity) + constraint DS = {23} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 24 constraint (none) extremes [1, infinity) + nti 21 constraint (none) extremes [1, infinity) English: - constraint DS = {28} extremes [3, infinity) + constraint DS = {22} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 28 constraint DS = {28} extremes [2, infinity) + nti 22 constraint DS = {22} extremes [2, infinity) English: , _or - constraint DS = {28} extremes [3, infinity) + constraint DS = {22} extremes [3, infinity) _,/or - constraint DS = {28} extremes [2, infinity) + constraint DS = {22} extremes [2, infinity) - nti 25 constraint (none) extremes [1, infinity) + nti 22 constraint (none) extremes [1, infinity) English: {......} constraint (none) extremes [1, infinity) - hits 517/1034 nti 6 constraint (none) extremes [1, infinity) + hits 517/1034 nti 26 constraint (none) extremes [1, infinity) English: ( deprecated ) - (hits 1/438) (matched long text) constraint DS = {6} extremes [4, infinity) + (hits 1/406) (matched long text) constraint DS = {26} extremes [4, infinity) - (hits 138/474) (matched long text) constraint DS = {30} extremes [2, infinity) + (hits 138/492) (matched long text) constraint DS = {24} extremes [2, infinity) (hits 378/378) (matched long text) constraint (none) extremes [1, infinity) - hits 400/800 nti 31 constraint (none) extremes [1, infinity) + hits 400/800 nti 25 constraint (none) extremes [1, infinity) English: ( arithmetic operation ) - (hits 16/346) (matched long text) constraint DS = {31} extremes [6, infinity) + (hits 16/345) (matched long text) constraint DS = {25} extremes [6, infinity) ( assignment operation ) - (hits 6/338) (matched long text) constraint DS = {31} extremes [5, infinity) + (hits 6/339) (matched long text) constraint DS = {25} extremes [5, infinity) {let ... be given by ...} - (hits 2/324) (matched long text) constraint DS = {31} extremes [6, infinity) + (hits 2/323) (matched long text) constraint DS = {25} extremes [6, infinity) {let ...} - (hits 4/348) (matched long text) constraint DS = {31} extremes [2, infinity) + (hits 4/350) (matched long text) constraint DS = {25} extremes [2, infinity) {...} -- end - (hits 0/341) constraint DS = {31} extremes [3, infinity) + (hits 0/343) constraint DS = {25} extremes [3, infinity) {...} -- end conditional - (hits 3/334) (matched long text) constraint DS = {31} extremes [4, infinity) + (hits 3/337) (matched long text) constraint DS = {25} extremes [4, infinity) {...} -- end loop - (hits 9/331) (matched long text) constraint DS = {31} extremes [4, infinity) + (hits 9/334) (matched long text) constraint DS = {25} extremes [4, infinity) {...} -- in loop - (hits 2/322) (matched: 'break -- in loop') constraint DS = {31} extremes [4, infinity) + (hits 2/325) (matched: 'break -- in loop') constraint DS = {25} extremes [4, infinity) {...} -- in {###} - (hits 0/320) constraint DS = {31} extremes [4, infinity) + (hits 0/323) constraint DS = {25} extremes [4, infinity) {...} (hits 358/358) (matched long text) constraint (none) extremes [1, infinity) - hits 0/1032 nti 7 constraint DS = {7, 13} extremes [8, infinity) + hits 0/1032 nti 27 constraint DS = {13, 27} extremes [8, infinity) English: ( {......} ) {} ( {......} ) - (hits 0/338) constraint DS = {7, 13} extremes [8, infinity) + (hits 0/338) constraint DS = {13, 27} extremes [8, infinity) - hits 154/980 nti 30 constraint DS = {30} extremes [2, infinity) + hits 154/1016 nti 24 constraint DS = {24} extremes [2, infinity) English: -- running on - (hits 16/427) (matched long text) constraint DS = {30} extremes [4, infinity) + (hits 16/446) (matched long text) constraint DS = {24} extremes [4, infinity) {say otherwise/else} - (hits 2/3) (matched: 'say otherwise') constraint CS = {30} extremes [2, 2] + (hits 2/4) (matched: 'say otherwise') constraint CS = {24} extremes [2, 2] {say otherwise/else if/unless ...} - (hits 0/411) constraint DS = {30} extremes [4, infinity) + (hits 0/430) constraint DS = {24} extremes [4, infinity) {say if/unless ...} - (hits 2/430) (matched: 'say if ( c - condition )') constraint DS = {30} extremes [3, infinity) + (hits 2/448) (matched: 'say if ( c - condition )') constraint DS = {24} extremes [3, infinity) {say end if/unless} - (hits 2/2) (matched: 'say end if') constraint CS = {30} extremes [3, 3] + (hits 2/2) (matched: 'say end if') constraint CS = {24} extremes [3, 3] {say ...} -- beginning {###} - (hits 2/385) (matched: 'say one of -- beginning say_one_of') constraint DS = {30} extremes [5, infinity) + (hits 2/408) (matched: 'say one of -- beginning say_one_of') constraint DS = {24} extremes [5, infinity) {say ...} -- continuing {###} - (hits 1/383) (matched: 'say or -- continuing say_one_of') constraint DS = {30} extremes [5, infinity) + (hits 1/406) (matched: 'say or -- continuing say_one_of') constraint DS = {24} extremes [5, infinity) {say ...} -- ending {###} with marker {###} - (hits 9/341) (matched long text) constraint DS = {30} extremes [8, infinity) + (hits 9/350) (matched long text) constraint DS = {24} extremes [8, infinity) {say ...} -- ending {###} - (hits 1/373) (matched: 'say only -- ending say_first_time') constraint DS = {30} extremes [5, infinity) + (hits 1/396) (matched: 'say only -- ending say_first_time') constraint DS = {24} extremes [5, infinity) {say ...} - (hits 119/455) (matched long text) constraint DS = {30} extremes [2, infinity) + (hits 119/473) (matched long text) constraint DS = {24} extremes [2, infinity) - hits 516/1032 nti 8 constraint DS = {8} extremes [2, infinity) + hits 516/1032 nti 28 constraint DS = {28} extremes [2, infinity) English: to {decide yes/no} - (hits 2/8) (matched: 'to decide yes') constraint CS = {8} extremes [3, 3] + (hits 2/2) (matched: 'to decide yes') constraint CS = {28} extremes [3, 3] to {decide on ...} - (hits 1/467) (matched: 'to decide on ( something - value )') constraint DS = {8} extremes [4, infinity) + (hits 1/467) (matched: 'to decide on ( something - value )') constraint DS = {28} extremes [4, infinity) to decide whether/if the {...} - (hits 12/453) (matched long text) constraint DS = {8} extremes [5, infinity) + (hits 12/453) (matched long text) constraint DS = {28} extremes [5, infinity) to decide whether/if {...} - (hits 39/454) (matched long text) constraint DS = {8} extremes [4, infinity) + (hits 39/454) (matched long text) constraint DS = {28} extremes [4, infinity) to decide what/which is the {...} - (hits 86/380) (matched long text) constraint DS = {8} extremes [7, infinity) + (hits 86/380) (matched long text) constraint DS = {28} extremes [7, infinity) to decide what/which is {...} - (hits 74/304) (matched long text) constraint DS = {8} extremes [6, infinity) + (hits 74/304) (matched long text) constraint DS = {28} extremes [6, infinity) to {...} - (hits 302/302) (matched long text) constraint DS = {8} extremes [2, infinity) + (hits 302/302) (matched long text) constraint DS = {28} extremes [2, infinity) - hits 160/320 nti 26 constraint (none) extremes [1, infinity) + hits 160/320 nti 23 constraint (none) extremes [1, infinity) English: (hits 160/160) (matched: 'relation of objects') constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 2231/4462 nti 10 constraint (none) extremes [1, infinity) + hits 2231/4462 nti 30 constraint (none) extremes [1, infinity) English: ( ) {***} - (hits 0/1844) constraint DS = {10} extremes [2, infinity) + (hits 0/1753) constraint DS = {30} extremes [2, infinity) ( ) {***} - (hits 579/1761) (matched long text) constraint DS = {10} extremes [3, infinity) + (hits 579/1724) (matched long text) constraint DS = {30} extremes [3, infinity) ( {***} - (hits 0/1300) constraint DS = {10} extremes [1, infinity) + (hits 0/1186) constraint DS = {30} extremes [1, infinity) ) {***} - (hits 0/1300) constraint DS = {10} extremes [1, infinity) + (hits 0/1186) constraint DS = {30} extremes [1, infinity) {###} {***} (hits 1652/1652) (matched long text) constraint (none) extremes [1, infinity) - hits 579/1168 nti 9 constraint (none) extremes [1, infinity) + hits 579/1168 nti 29 constraint (none) extremes [1, infinity) English: {***} ( {***} - {......} - (hits 0/584) constraint DS = {9} extremes [3, infinity) + (hits 0/584) constraint DS = {29} extremes [3, infinity) {......} - a nonexisting variable - (hits 0/193) constraint DS = {9} extremes [5, infinity) + (hits 0/193) constraint DS = {29} extremes [5, infinity) {......} - a nonexisting variable - (hits 0/104) constraint DS = {9} extremes [6, infinity) + (hits 0/104) constraint DS = {29} extremes [6, infinity) {......} - a nonexisting that/which varies - (hits 0/65) constraint DS = {9} extremes [7, infinity) + (hits 0/65) constraint DS = {29} extremes [7, infinity) {......} - nonexisting variable - (hits 4/359) (matched: 't - nonexisting variable') constraint DS = {9} extremes [4, infinity) + (hits 4/359) (matched: 't - nonexisting variable') constraint DS = {29} extremes [4, infinity) {......} - nonexisting variable - (hits 4/193) (matched: 'loopvar - nonexisting k variable') constraint DS = {9} extremes [5, infinity) + (hits 4/193) (matched: 'loopvar - nonexisting k variable') constraint DS = {29} extremes [5, infinity) {......} - nonexisting that/which varies - (hits 0/104) constraint DS = {9} extremes [6, infinity) + (hits 0/104) constraint DS = {29} extremes [6, infinity) {......} - {an existing variable} - (hits 0/189) constraint DS = {9} extremes [5, infinity) + (hits 0/189) constraint DS = {29} extremes [5, infinity) {......} - {an existing variable} - (hits 0/104) constraint DS = {9} extremes [6, infinity) + (hits 0/104) constraint DS = {29} extremes [6, infinity) {......} - {an existing that/which varies} - (hits 0/65) constraint DS = {9} extremes [7, infinity) + (hits 0/65) constraint DS = {29} extremes [7, infinity) {......} - {existing variable} - (hits 2/351) (matched: 't - existing variable') constraint DS = {9} extremes [4, infinity) + (hits 2/351) (matched: 't - existing variable') constraint DS = {29} extremes [4, infinity) {......} - {existing variable} - (hits 0/189) constraint DS = {9} extremes [5, infinity) + (hits 0/189) constraint DS = {29} extremes [5, infinity) {......} - {existing that/which varies} - (hits 0/104) constraint DS = {9} extremes [6, infinity) + (hits 0/104) constraint DS = {29} extremes [6, infinity) {......} - a condition - (hits 0/349) constraint DS = {9} extremes [4, infinity) + (hits 0/349) constraint DS = {29} extremes [4, infinity) {......} - condition - (hits 9/574) (matched: 'c - condition') constraint DS = {9} extremes [3, infinity) + (hits 9/574) (matched: 'c - condition') constraint DS = {29} extremes [3, infinity) {......} - a phrase - (hits 0/349) constraint DS = {9} extremes [4, infinity) + (hits 0/349) constraint DS = {29} extremes [4, infinity) {......} - phrase - (hits 0/565) constraint DS = {9} extremes [3, infinity) + (hits 0/565) constraint DS = {29} extremes [3, infinity) {......} - storage - (hits 4/565) (matched: 's - storage') constraint DS = {9} extremes [3, infinity) + (hits 4/565) (matched: 's - storage') constraint DS = {29} extremes [3, infinity) {......} - a table-reference - (hits 0/349) constraint DS = {9} extremes [4, infinity) + (hits 0/349) constraint DS = {29} extremes [4, infinity) {......} - table-reference - (hits 3/561) (matched: 'tr - table-reference') constraint DS = {9} extremes [3, infinity) + (hits 3/561) (matched: 'tr - table-reference') constraint DS = {29} extremes [3, infinity) {......} - - (hits 529/558) (matched long text) constraint DS = {9} extremes [3, infinity) + (hits 529/558) (matched long text) constraint DS = {29} extremes [3, infinity) {......} - - (hits 2/29) (matched long text) constraint DS = {9} extremes [3, infinity) + (hits 2/29) (matched long text) constraint DS = {29} extremes [3, infinity) {......} - {......} - (hits 0/27) constraint DS = {9} extremes [3, infinity) + (hits 0/27) constraint DS = {29} extremes [3, infinity) (hits 22/27) (matched: 'name of kind of enumerated value k') constraint (none) extremes [1, infinity) {......} (hits 0/5) constraint (none) extremes [1, infinity) - internal hits 24/68 nti 27 constraint (none) extremes [1, infinity) + internal hits 24/68 nti 24 constraint (none) extremes [1, infinity) - hits 65/130 nti 28 constraint (none) extremes [1, infinity) + hits 65/130 nti 25 constraint (none) extremes [1, infinity) English: {...} (hits 20/65) (matched long text) constraint (none) extremes [1, infinity) - (hits 20/25) (matched long text) constraint DS = {11} extremes [3, infinity) + (hits 20/22) (matched long text) constraint DS = {31} extremes [3, infinity) (hits 25/25) (matched: 'printing an abbreviated room description') constraint (none) extremes [1, infinity) - hits 40/178 nti 11 constraint DS = {11} extremes [2, infinity) + hits 40/156 nti 31 constraint DS = {31} extremes [2, infinity) English: , _or - (hits 0/77) constraint DS = {11} extremes [3, infinity) + (hits 0/72) constraint DS = {31} extremes [3, infinity) , and/or - (hits 2/77) (matched: ', and/or capitalized') constraint DS = {11} extremes [3, infinity) + (hits 2/72) (matched: ', and/or capitalized') constraint DS = {31} extremes [3, infinity) _,/or - (hits 38/82) (matched long text) constraint DS = {11} extremes [2, infinity) + (hits 38/72) (matched long text) constraint DS = {31} extremes [2, infinity) and/or - (hits 0/44) constraint DS = {11} extremes [2, infinity) + (hits 0/34) constraint DS = {31} extremes [2, infinity) - hits 65/130 nti 29 constraint (none) extremes [1, infinity) + hits 65/130 nti 26 constraint (none) extremes [1, infinity) English: {...} (hits 20/65) (matched: 'without printing a room description') constraint (none) extremes [1, infinity) {...} (hits 45/45) (matched: 'without printing a room description') constraint (none) extremes [1, infinity) - hits 102/204 nti 30 constraint (none) extremes [1, infinity) + hits 102/204 nti 27 constraint (none) extremes [1, infinity) English: {...} (hits 43/102) (matched long text) constraint (none) extremes [1, infinity) - (hits 43/51) (matched long text) constraint DS = {12} extremes [3, infinity) + (hits 43/50) (matched long text) constraint DS = {6} extremes [3, infinity) (hits 16/16) (matched: 'listing marked items only') constraint (none) extremes [1, infinity) - hits 86/354 nti 12 constraint DS = {12} extremes [2, infinity) + hits 86/348 nti 6 constraint DS = {6} extremes [2, infinity) English: , _and - (hits 0/160) constraint DS = {12} extremes [3, infinity) + (hits 0/160) constraint DS = {6} extremes [3, infinity) _,/and - (hits 86/166) (matched long text) constraint DS = {12} extremes [2, infinity) + (hits 86/166) (matched long text) constraint DS = {6} extremes [2, infinity) - hits 102/204 nti 31 constraint (none) extremes [1, infinity) + hits 102/204 nti 28 constraint (none) extremes [1, infinity) English: (hits 102/102) (matched: 'giving brief inventory information') constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - internal hits 102/3322 nti 6 constraint (none) extremes [1, infinity) + internal hits 102/3322 nti 29 constraint (none) extremes [1, infinity) - nti 14 constraint (none) extremes [1, infinity) + nti 8 constraint (none) extremes [1, infinity) English: {} ( {...} ) - constraint DS = {14} extremes [5, infinity) + constraint DS = {8} extremes [5, infinity) {} ( {...} ) - constraint DS = {14} extremes [4, infinity) + constraint DS = {8} extremes [4, infinity) {} constraint (none) extremes [1, infinity) - nti 13 constraint (none) extremes [1, infinity) + nti 7 constraint (none) extremes [1, infinity) English: {...} - {...} - {...} - constraint DS = {13} extremes [5, infinity) + constraint DS = {7} extremes [5, infinity) {...} - {...} - constraint DS = {13} extremes [3, infinity) + constraint DS = {7} extremes [3, infinity) {...} constraint (none) extremes [1, infinity) - hits 44/1880 nti 15 constraint CS = {15} extremes [1, 1] + hits 44/1880 nti 9 constraint CS = {9} extremes [1, 1] English: definition - (hits 44/44) (matched: 'definition') constraint CS = {15} extremes [1, 1] + (hits 44/44) (matched: 'definition') constraint CS = {9} extremes [1, 1] - hits 44/88 nti 18 constraint DS = {18} extremes [3, infinity) + hits 44/88 nti 12 constraint DS = {12} extremes [3, infinity) English: is/are if {...} - (hits 41/41) (matched long text) constraint DS = {18} extremes [5, infinity) + (hits 41/41) (matched long text) constraint DS = {12} extremes [5, infinity) is/are unless {...} - constraint DS = {18} extremes [5, infinity) + constraint DS = {12} extremes [5, infinity) is/are - (hits 3/3) (matched: 'a room is air-conditioned') constraint DS = {18} extremes [3, infinity) + (hits 3/3) (matched: 'a room is air-conditioned') constraint DS = {12} extremes [3, infinity) - hits 44/88 nti 16 constraint (none) extremes [1, infinity) + hits 44/88 nti 10 constraint (none) extremes [1, infinity) English: {...} ( called the {...} ) - (hits 1/1) (matched: 'a thing ( called the item )') constraint DS = {16} extremes [6, infinity) + (hits 1/1) (matched: 'a thing ( called the item )') constraint DS = {10} extremes [6, infinity) {...} ( called {...} ) - constraint DS = {16} extremes [5, infinity) + constraint DS = {10} extremes [5, infinity) {...} (hits 43/43) (matched: 'a list of values') constraint (none) extremes [1, infinity) - hits 44/88 nti 17 constraint (none) extremes [1, infinity) + hits 44/88 nti 11 constraint (none) extremes [1, infinity) English: {...} rather than {...} - (hits 18/18) (matched: 'even rather than odd') constraint DS = {17} extremes [4, infinity) + (hits 18/18) (matched: 'even rather than odd') constraint DS = {11} extremes [4, infinity) {...} (hits 26/26) (matched: 'going on') constraint (none) extremes [1, infinity) - hits 18/86 nti 19 constraint DS = {19} extremes [8, infinity) + hits 18/86 nti 13 constraint DS = {13} extremes [8, infinity) English: i6 routine {} says so ( {...} ) - (hits 10/24) (matched long text) constraint DS = {19} extremes [8, infinity) + (hits 10/24) (matched long text) constraint DS = {13} extremes [8, infinity) i6 routine {} makes it so ( {...} ) - (hits 8/14) (matched long text) constraint DS = {19} extremes [9, infinity) + (hits 8/14) (matched long text) constraint DS = {13} extremes [9, infinity) - hits 1/80 nti 20 constraint DS = {20} extremes [8, infinity) + hits 1/80 nti 14 constraint DS = {14} extremes [8, infinity) English: i6 condition says so ( {...} ) - (hits 1/24) (matched long text) constraint DS = {20} extremes [8, infinity) + (hits 1/24) (matched long text) constraint DS = {14} extremes [8, infinity) - hits 209/418 nti 7 constraint (none) extremes [1, infinity) + hits 209/418 nti 30 constraint (none) extremes [1, infinity) English: (hits 14/74) (matched: 'the current working sack') constraint (none) extremes [2, infinity) (hits 195/195) (matched: 'item being printed') constraint (none) extremes [1, infinity) - hits 209/418 nti 21 constraint (none) extremes [1, infinity) + hits 209/418 nti 15 constraint (none) extremes [1, infinity) English: {***} - {***} - constraint DS = {21} extremes [1, infinity) + constraint DS = {15} extremes [1, infinity) (hits 136/209) (matched: 'item being printed') constraint (none) extremes [1, infinity) @@ -8424,17 +8394,17 @@ {...} (hits 73/73) (matched: 'item being printed') constraint (none) extremes [1, infinity) - internal hits 136/418 nti 8 constraint (none) extremes [1, infinity) + internal hits 136/418 nti 31 constraint (none) extremes [1, infinity) - nti 22 constraint DS = {22} extremes [2, infinity) + nti 16 constraint DS = {16} extremes [2, infinity) English: end {...} - constraint DS = {22} extremes [2, infinity) + constraint DS = {16} extremes [2, infinity) - hits 1576/3152 nti 23 constraint (none) extremes [1, infinity) + hits 1576/3152 nti 17 constraint (none) extremes [1, infinity) English: phrase options - (hits 17/17) (matched: 'phrase options') constraint CS = {23} extremes [2, 2] + (hits 17/17) (matched: 'phrase options') constraint CS = {17} extremes [2, 2] (hits 0/1559) constraint (none) extremes [1, infinity) @@ -8442,159 +8412,159 @@ {...} constraint (none) extremes [1, infinity) - internal hits 1559/3118 nti 9 constraint (none) extremes [1, infinity) + internal hits 1559/3118 nti 6 constraint (none) extremes [1, infinity) - nti 25 constraint DW = {24, 25} extremes [2, infinity) + nti 19 constraint DW = {18, 19} extremes [2, infinity) English: {} - constraint DS = {24} extremes [2, 3] + constraint DS = {18} extremes [2, 3] {} in {} - constraint DS = {24, 25} extremes [4, 5] + constraint DS = {18, 19} extremes [4, 5] when defining - constraint DS = {25} extremes [3, infinity) + constraint DS = {19} extremes [3, infinity) when defining {...} - constraint DS = {25} extremes [3, infinity) + constraint DS = {19} extremes [3, infinity) before the library - constraint CS = {25} extremes [3, 3] + constraint CS = {19} extremes [3, 3] in the preform grammar - constraint CS = {25} extremes [4, 4] + constraint CS = {19} extremes [4, 4] - nti 24 constraint CS = {24} extremes [1, 2] + nti 18 constraint CS = {18} extremes [1, 2] English: before - constraint CS = {24} extremes [1, 1] + constraint CS = {18} extremes [1, 1] instead of - constraint CS = {24} extremes [2, 2] + constraint CS = {18} extremes [2, 2] after - constraint CS = {24} extremes [1, 1] + constraint CS = {18} extremes [1, 1] - hits 29/58 nti 26 constraint DS = {26} extremes [2, infinity) + hits 29/58 nti 20 constraint DS = {20} extremes [2, infinity) English: use - (hits 29/29) (matched long text) constraint DS = {26} extremes [2, infinity) + (hits 29/29) (matched long text) constraint DS = {20} extremes [2, infinity) - hits 29/58 nti 27 constraint (none) extremes [1, infinity) + hits 29/58 nti 21 constraint (none) extremes [1, infinity) English: (- {###} - (hits 29/29) (matched: '(- ! Use ineffectual does nothing. ') constraint DS = {27} extremes [2, 2] + (hits 29/29) (matched: '(- ! Use ineffectual does nothing. ') constraint DS = {21} extremes [2, 2] {...} constraint (none) extremes [1, infinity) - hits 73/146 nti 28 constraint (none) extremes [1, infinity) + hits 73/146 nti 22 constraint (none) extremes [1, infinity) English: {...} of at least - (hits 8/8) (matched long text) constraint DS = {28} extremes [5, infinity) + (hits 8/8) (matched long text) constraint DS = {22} extremes [5, infinity) {###} of - (hits 28/31) (matched: 'alloc_chunk_size of 32000') constraint DS = {28} extremes [3, 3] + (hits 28/28) (matched: 'alloc_chunk_size of 32000') constraint DS = {22} extremes [3, 3] {...} (hits 1/35) (matched: 'the serial comma') constraint (none) extremes [2, infinity) {...} (hits 36/36) (matched: 'unabbreviated object names') constraint (none) extremes [1, infinity) - hits 0/88 nti 29 constraint DS = {29} extremes [3, 3] + hits 0/88 nti 23 constraint DS = {23} extremes [3, 3] English: inter pipeline {} - constraint DS = {29} extremes [3, 3] + constraint DS = {23} extremes [3, 3] - hits 34/82 nti 30 constraint CS = {30} extremes [1, 3] + hits 34/82 nti 24 constraint CS = {24} extremes [1, 3] English: authorial modesty - (hits 5/18) (matched: 'authorial modesty') constraint CS = {30} extremes [2, 2] + (hits 5/18) (matched: 'authorial modesty') constraint CS = {24} extremes [2, 2] dynamic memory allocation - (hits 3/15) (matched: 'dynamic memory allocation') constraint CS = {30} extremes [3, 3] + (hits 3/15) (matched: 'dynamic memory allocation') constraint CS = {24} extremes [3, 3] memory economy - (hits 1/13) (matched: 'memory economy') constraint CS = {30} extremes [2, 2] + (hits 1/13) (matched: 'memory economy') constraint CS = {24} extremes [2, 2] no deprecated features - (hits 1/12) (matched: 'no deprecated features') constraint CS = {30} extremes [3, 3] + (hits 1/12) (matched: 'no deprecated features') constraint CS = {24} extremes [3, 3] numbered rules - (hits 1/12) (matched: 'numbered rules') constraint CS = {30} extremes [2, 2] + (hits 1/12) (matched: 'numbered rules') constraint CS = {24} extremes [2, 2] telemetry recordings - (hits 1/11) (matched: 'telemetry recordings') constraint CS = {30} extremes [2, 2] + (hits 1/11) (matched: 'telemetry recordings') constraint CS = {24} extremes [2, 2] scoring - (hits 1/1) (matched: 'scoring') constraint CS = {30} extremes [1, 1] + (hits 1/1) (matched: 'scoring') constraint CS = {24} extremes [1, 1] no scoring - (hits 3/10) (matched: 'no scoring') constraint CS = {30} extremes [2, 2] + (hits 3/10) (matched: 'no scoring') constraint CS = {24} extremes [2, 2] engineering notation - (hits 1/7) (matched: 'engineering notation') constraint CS = {30} extremes [2, 2] + (hits 1/7) (matched: 'engineering notation') constraint CS = {24} extremes [2, 2] unabbreviated object names - (hits 1/11) (matched: 'unabbreviated object names') constraint CS = {30} extremes [3, 3] + (hits 1/11) (matched: 'unabbreviated object names') constraint CS = {24} extremes [3, 3] index figure thumbnails - (hits 1/10) (matched: 'index figure thumbnails') constraint CS = {30} extremes [3, 3] + (hits 1/10) (matched: 'index figure thumbnails') constraint CS = {24} extremes [3, 3] gn testing version - (hits 1/9) (matched: 'gn testing version') constraint CS = {30} extremes [3, 3] + (hits 1/9) (matched: 'gn testing version') constraint CS = {24} extremes [3, 3] undo prevention - (hits 1/6) (matched: 'undo prevention') constraint CS = {30} extremes [2, 2] + (hits 1/6) (matched: 'undo prevention') constraint CS = {24} extremes [2, 2] serial comma - (hits 3/5) (matched: 'serial comma') constraint CS = {30} extremes [2, 2] + (hits 3/5) (matched: 'serial comma') constraint CS = {24} extremes [2, 2] predictable randomisation - (hits 1/2) (matched: 'predictable randomisation') constraint CS = {30} extremes [2, 2] + (hits 1/2) (matched: 'predictable randomisation') constraint CS = {24} extremes [2, 2] command line echoing - (hits 1/8) (matched: 'command line echoing') constraint CS = {30} extremes [3, 3] + (hits 1/8) (matched: 'command line echoing') constraint CS = {24} extremes [3, 3] american dialect - (hits 1/1) (matched: 'american dialect') constraint CS = {30} extremes [2, 2] + (hits 1/1) (matched: 'american dialect') constraint CS = {24} extremes [2, 2] full-length room descriptions - (hits 3/7) (matched: 'full-length room descriptions') constraint CS = {30} extremes [3, 3] + (hits 3/7) (matched: 'full-length room descriptions') constraint CS = {24} extremes [3, 3] abbreviated room descriptions - (hits 1/4) (matched: 'abbreviated room descriptions') constraint CS = {30} extremes [3, 3] + (hits 1/4) (matched: 'abbreviated room descriptions') constraint CS = {24} extremes [3, 3] verbose room descriptions - (hits 1/3) (matched: 'verbose room descriptions') constraint CS = {30} extremes [3, 3] + (hits 1/3) (matched: 'verbose room descriptions') constraint CS = {24} extremes [3, 3] brief room descriptions - (hits 1/2) (matched: 'brief room descriptions') constraint CS = {30} extremes [3, 3] + (hits 1/2) (matched: 'brief room descriptions') constraint CS = {24} extremes [3, 3] superbrief room descriptions - (hits 1/1) (matched: 'superbrief room descriptions') constraint CS = {30} extremes [3, 3] + (hits 1/1) (matched: 'superbrief room descriptions') constraint CS = {24} extremes [3, 3] - hits 16/32 nti 10 constraint (none) extremes [1, infinity) + hits 16/32 nti 7 constraint (none) extremes [1, infinity) English: {...} (hits 0/16) constraint (none) extremes [1, infinity) - constraint DS = {31} extremes [3, infinity) + (hits 0/2) constraint DS = {25} extremes [3, infinity) (hits 16/16) (matched: 'maximum things understood at once') constraint (none) extremes [1, infinity) - nti 31 constraint DS = {31} extremes [2, infinity) + hits 0/16 nti 25 constraint DS = {25} extremes [2, infinity) English: , _and - constraint DS = {31} extremes [3, infinity) + (hits 0/4) constraint DS = {25} extremes [3, infinity) _,/and - constraint DS = {31} extremes [2, infinity) + (hits 0/4) constraint DS = {25} extremes [2, infinity) - hits 16/32 nti 11 constraint (none) extremes [1, infinity) + hits 16/32 nti 8 constraint (none) extremes [1, infinity) English: - (hits 12/12) (matched: 'dynamic memory allocation') constraint CS = {30} extremes [1, 3] + (hits 12/12) (matched: 'dynamic memory allocation') constraint CS = {24} extremes [1, 3] {......} (hits 4/4) (matched: 'maximum things understood at once') constraint (none) extremes [1, infinity) - hits 440/880 nti 6 constraint (none) extremes [1, infinity) + hits 440/880 nti 26 constraint (none) extremes [1, infinity) English: {...} property - (hits 70/440) (matched: 'printed plural name property') constraint DS = {6} extremes [2, infinity) + (hits 70/440) (matched: 'printed plural name property') constraint DS = {26} extremes [2, infinity) {...} object/kind - (hits 6/370) (matched: 'inside object') constraint DS = {6} extremes [2, infinity) + (hits 6/370) (matched: 'inside object') constraint DS = {26} extremes [2, infinity) {... rule} - (hits 138/364) (matched: 'standard report preferring sometimes abbreviated room descriptions rule') constraint DS = {6} extremes [2, infinity) + (hits 138/364) (matched: 'standard report preferring sometimes abbreviated room descriptions rule') constraint DS = {26} extremes [2, infinity) {...} variable - (hits 70/226) (matched: 'current item from the multiple object list variable') constraint DS = {6} extremes [2, infinity) + (hits 70/226) (matched: 'current item from the multiple object list variable') constraint DS = {26} extremes [2, infinity) {...} action - (hits 154/156) (matched: 'switching the story transcript on action') constraint DS = {6} extremes [2, infinity) + (hits 154/156) (matched: 'switching the story transcript on action') constraint DS = {26} extremes [2, infinity) understand token {...} - (hits 2/2) (matched: 'understand token a time period') constraint DS = {6} extremes [3, infinity) + (hits 2/2) (matched: 'understand token a time period') constraint DS = {26} extremes [3, infinity) {...} constraint (none) extremes [1, infinity) - hits 220/440 nti 7 constraint (none) extremes [1, infinity) + hits 220/440 nti 27 constraint (none) extremes [1, infinity) English: with - (hits 36/36) (matched long text) constraint DS = {7} extremes [3, infinity) + (hits 36/36) (matched long text) constraint DS = {27} extremes [3, infinity) (hits 184/184) (matched: 'article') constraint (none) extremes [1, 1] - hits 134/268 nti 8 constraint DS = {8} extremes [4, 4] + hits 134/268 nti 28 constraint DS = {28} extremes [4, 4] English: ( ) (hits 134/134) (matched: '"[It] [are] [if story tense is present tense]now [end if]pitch dark in - [if story tense is present tense]here[else]there[end if]!" ( a )') constraint DS = {8} extremes [4, 4] + [if story tense is present tense]here[else]there[end if]!" ( a )') constraint DS = {28} extremes [4, 4] hits 6/12 nti 15 constraint CS = {15} extremes [1, 3] English: @@ -8645,17 +8615,17 @@ chronology constraint CS = {15} extremes [1, 1] - hits 6/12 nti 12 constraint CS = {15} extremes [1, 3] + hits 6/12 nti 9 constraint CS = {15} extremes [1, 3] English: (hits 6/6) (matched: 'interactive fiction') constraint CS = {15} extremes [1, 3] - hits 1/2 nti 10 constraint (none) extremes [1, infinity) + hits 1/2 nti 30 constraint (none) extremes [1, infinity) English: ( internal ) - constraint DS = {9, 10} & CW = {9, 10} extremes [4, 4] + constraint DS = {29, 30} & CW = {29, 30} extremes [4, 4] {###} ( internal ) - constraint DS = {10} extremes [4, 4] + constraint DS = {30} extremes [4, 4] (hits 0/1) constraint (none) extremes [1, 1] {###} @@ -8663,36 +8633,36 @@ {...} constraint (none) extremes [1, infinity) - nti 9 constraint CS = {9} extremes [1, 1] + nti 29 constraint CS = {29} extremes [1, 1] English: headline - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] sentence - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] description - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] dimensions - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] evaluation - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] equation - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] verb - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] adjective - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] participle - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] kind - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] map - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] dash - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] dashlog - constraint CS = {9} extremes [1, 1] + constraint CS = {29} extremes [1, 1] - hits 1/2 nti 13 constraint (none) extremes [1, infinity) + hits 1/2 nti 10 constraint (none) extremes [1, infinity) English: (hits 1/1) (matched: 'go to cold comfort / z / z / z / z / ask vanessa for french vanilla / ask vanessa for chocolate / ask vanessa about flavors / ask vanessa for chocolate chocolate chip') constraint (none) extremes [1, 1] @@ -8701,858 +8671,870 @@ {...} constraint (none) extremes [1, infinity) - nti 14 constraint (none) extremes [1, infinity) + nti 11 constraint (none) extremes [1, infinity) English: {...} constraint (none) extremes [1, infinity) - constraint DS = {11} extremes [3, infinity) + constraint DS = {31} extremes [3, infinity) - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) - nti 11 constraint DS = {11} extremes [2, infinity) + nti 31 constraint DS = {31} extremes [2, infinity) English: in - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) holding/and/, - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) in {...} - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) holding/and/, {...} - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) with {...} - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) - hits 7/186 nti 12 constraint CS = {12} extremes [2, 3] + hits 7/186 nti 6 constraint CS = {6} extremes [2, 3] English: story title - (hits 1/7) (matched: 'story title') constraint CS = {12} extremes [2, 2] + (hits 1/9) (matched: 'story title') constraint CS = {6} extremes [2, 2] story author - (hits 1/6) (matched: 'story author') constraint CS = {12} extremes [2, 2] + (hits 1/8) (matched: 'story author') constraint CS = {6} extremes [2, 2] story headline - (hits 1/5) (matched: 'story headline') constraint CS = {12} extremes [2, 2] + (hits 1/7) (matched: 'story headline') constraint CS = {6} extremes [2, 2] story genre - (hits 1/4) (matched: 'story genre') constraint CS = {12} extremes [2, 2] + (hits 1/6) (matched: 'story genre') constraint CS = {6} extremes [2, 2] story description - (hits 1/3) (matched: 'story description') constraint CS = {12} extremes [2, 2] + (hits 1/5) (matched: 'story description') constraint CS = {6} extremes [2, 2] story creation year - (hits 1/1) (matched: 'story creation year') constraint CS = {12} extremes [3, 3] + (hits 1/6) (matched: 'story creation year') constraint CS = {6} extremes [3, 3] release number - (hits 1/2) (matched: 'release number') constraint CS = {12} extremes [2, 2] + (hits 1/4) (matched: 'release number') constraint CS = {6} extremes [2, 2] - hits 0/688 nti 13 constraint DS = {13} extremes [1, 2] + hits 0/688 nti 7 constraint DS = {7} extremes [1, 2] English: story - (hits 0/88) constraint DS = {13} extremes [2, 2] + (hits 0/32) constraint DS = {7} extremes [2, 2] this story - (hits 0/1) constraint CS = {13} extremes [2, 2] + constraint CS = {7} extremes [2, 2] story - (hits 0/1) constraint CS = {13} extremes [1, 1] + constraint CS = {7} extremes [1, 1] - nti 14 constraint DS = {14} extremes [2, infinity) + nti 8 constraint DS = {8} extremes [2, infinity) English: episode of - constraint DS = {14} extremes [4, 4] + constraint DS = {8} extremes [4, 4] episode {...} - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) - nti 17 constraint DW = {15, 16, 17} extremes [1, infinity) + nti 11 constraint DW = {9, 10, 11} extremes [1, infinity) English: - constraint DS = {15, 16} & CW = {15, 16} extremes [2, 3] + constraint DS = {9, 10} & CW = {9, 10} extremes [2, 3] {...} - constraint DS = {15} extremes [2, infinity) + constraint DS = {9} extremes [2, infinity) - constraint CS = {16} extremes [1, 2] + constraint CS = {10} extremes [1, 2] cover art ( ) - constraint DS = {17} extremes [5, 5] + constraint DS = {11} extremes [5, 5] cover art - constraint CS = {17} extremes [2, 2] + constraint CS = {11} extremes [2, 2] existing story file - constraint CS = {17} extremes [3, 3] + constraint CS = {11} extremes [3, 3] existing story file called {} - constraint DS = {17} extremes [5, 5] + constraint DS = {11} extremes [5, 5] file of {} called {} - constraint DS = {17} extremes [5, 5] + constraint DS = {11} extremes [5, 5] file {} in {} - constraint DS = {17} extremes [4, 4] + constraint DS = {11} extremes [4, 4] file {} - constraint DS = {17} extremes [2, 2] + constraint DS = {11} extremes [2, 2] style sheet {} - constraint DS = {17} extremes [3, 3] + constraint DS = {11} extremes [3, 3] javascript {} - constraint DS = {17} extremes [2, 2] + constraint DS = {11} extremes [2, 2] introductory booklet - constraint CS = {17} extremes [2, 2] + constraint CS = {11} extremes [2, 2] introductory postcard - constraint CS = {17} extremes [2, 2] + constraint CS = {11} extremes [2, 2] website - constraint CS = {17} extremes [1, 1] + constraint CS = {11} extremes [1, 1] separate figures - constraint CS = {17} extremes [2, 2] + constraint CS = {11} extremes [2, 2] separate sounds - constraint CS = {17} extremes [2, 2] + constraint CS = {11} extremes [2, 2] {} website - constraint DS = {17} extremes [2, 2] + constraint DS = {11} extremes [2, 2] interpreter - constraint CS = {17} extremes [1, 1] + constraint CS = {11} extremes [1, 1] {} interpreter - constraint DS = {17} extremes [2, 2] + constraint DS = {11} extremes [2, 2] - nti 15 constraint CS = {15} extremes [1, 1] + nti 9 constraint CS = {9} extremes [1, 1] English: private - constraint CS = {15} extremes [1, 1] + constraint CS = {9} extremes [1, 1] public - constraint CS = {15} extremes [1, 1] + constraint CS = {9} extremes [1, 1] - nti 16 constraint CS = {16} extremes [1, 2] + nti 10 constraint CS = {10} extremes [1, 2] English: solution - constraint CS = {16} extremes [1, 1] + constraint CS = {10} extremes [1, 1] source text - constraint CS = {16} extremes [2, 2] + constraint CS = {10} extremes [2, 2] library card - constraint CS = {16} extremes [2, 2] + constraint CS = {10} extremes [2, 2] - hits 10/292 nti 18 constraint CS = {18} extremes [1, 3] + hits 10/292 nti 12 constraint CS = {12} extremes [1, 3] English: indefinite article - (hits 1/2) (matched: 'indefinite article') constraint CS = {18} extremes [2, 2] + (hits 1/3) (matched: 'indefinite article') constraint CS = {12} extremes [2, 2] plural-named - (hits 1/7) (matched: 'plural-named') constraint CS = {18} extremes [1, 1] + (hits 1/9) (matched: 'plural-named') constraint CS = {12} extremes [1, 1] proper-named - (hits 1/6) (matched: 'proper-named') constraint CS = {18} extremes [1, 1] + (hits 1/8) (matched: 'proper-named') constraint CS = {12} extremes [1, 1] printed name - (hits 1/1) (matched: 'printed name') constraint CS = {18} extremes [2, 2] + (hits 1/2) (matched: 'printed name') constraint CS = {12} extremes [2, 2] printed plural name - (hits 1/2) (matched: 'printed plural name') constraint CS = {18} extremes [3, 3] + (hits 1/2) (matched: 'printed plural name') constraint CS = {12} extremes [3, 3] publicly-named - (hits 1/5) (matched: 'publicly-named') constraint CS = {18} extremes [1, 1] + (hits 1/7) (matched: 'publicly-named') constraint CS = {12} extremes [1, 1] privately-named - (hits 1/4) (matched: 'privately-named') constraint CS = {18} extremes [1, 1] + (hits 1/6) (matched: 'privately-named') constraint CS = {12} extremes [1, 1] adaptive text viewpoint - (hits 1/1) (matched: 'adaptive text viewpoint') constraint CS = {18} extremes [3, 3] + (hits 1/1) (matched: 'adaptive text viewpoint') constraint CS = {12} extremes [3, 3] neuter - (hits 1/3) (matched: 'neuter') constraint CS = {18} extremes [1, 1] + (hits 1/5) (matched: 'neuter') constraint CS = {12} extremes [1, 1] female - (hits 1/2) (matched: 'female') constraint CS = {18} extremes [1, 1] + (hits 1/4) (matched: 'female') constraint CS = {12} extremes [1, 1] - hits 12/200 nti 19 constraint CS = {19} extremes [1, 2] + hits 12/200 nti 13 constraint CS = {13} extremes [1, 2] English: room - (hits 2/10) (matched: 'room') constraint CS = {19} extremes [1, 1] + (hits 2/10) (matched: 'room') constraint CS = {13} extremes [1, 1] thing - (hits 2/8) (matched: 'thing') constraint CS = {19} extremes [1, 1] + (hits 2/8) (matched: 'thing') constraint CS = {13} extremes [1, 1] container - (hits 2/6) (matched: 'container') constraint CS = {19} extremes [1, 1] + (hits 2/6) (matched: 'container') constraint CS = {13} extremes [1, 1] supporter - (hits 2/4) (matched: 'supporter') constraint CS = {19} extremes [1, 1] + (hits 2/4) (matched: 'supporter') constraint CS = {13} extremes [1, 1] person - (hits 2/2) (matched: 'person') constraint CS = {19} extremes [1, 1] + (hits 2/2) (matched: 'person') constraint CS = {13} extremes [1, 1] player's holdall - (hits 2/2) (matched: 'player's holdall') constraint CS = {19} extremes [2, 2] + (hits 2/2) (matched: 'player's holdall') constraint CS = {13} extremes [2, 2] - hits 4/292 nti 20 constraint CS = {20} extremes [1, 3] + hits 4/292 nti 14 constraint CS = {14} extremes [1, 3] English: initial appearance - (hits 1/2) (matched: 'initial appearance') constraint CS = {20} extremes [2, 2] + (hits 1/3) (matched: 'initial appearance') constraint CS = {14} extremes [2, 2] wearable - (hits 1/2) (matched: 'wearable') constraint CS = {20} extremes [1, 1] + (hits 1/5) (matched: 'wearable') constraint CS = {14} extremes [1, 1] fixed in place - (hits 1/1) (matched: 'fixed in place') constraint CS = {20} extremes [3, 3] + (hits 1/1) (matched: 'fixed in place') constraint CS = {14} extremes [3, 3] matching key - (hits 1/1) (matched: 'matching key') constraint CS = {20} extremes [2, 2] + (hits 1/2) (matched: 'matching key') constraint CS = {14} extremes [2, 2] - hits 336/61212 nti 21 constraint DS = {21} extremes [1, infinity) + hits 336/61212 nti 15 constraint DS = {15} extremes [1, infinity) English: _something/anything {***} - (hits 255/13307) (matched long text) constraint DS = {21} extremes [1, infinity) + (hits 255/11989) (matched long text) constraint DS = {15} extremes [1, infinity) _somewhere/anywhere {***} - (hits 0/13052) constraint DS = {21} extremes [1, infinity) + (hits 0/11734) constraint DS = {15} extremes [1, infinity) _someone/anyone/somebody/anybody {***} - (hits 57/13052) (matched: 'someone') constraint DS = {21} extremes [1, infinity) + (hits 57/11734) (matched: 'someone') constraint DS = {15} extremes [1, infinity) _everything {***} - (hits 0/12995) constraint DS = {21} extremes [1, infinity) + (hits 0/11677) constraint DS = {15} extremes [1, infinity) _everywhere {***} - (hits 0/12995) constraint DS = {21} extremes [1, infinity) + (hits 0/11677) constraint DS = {15} extremes [1, infinity) _everyone/everybody {***} - (hits 0/12995) constraint DS = {21} extremes [1, infinity) + (hits 0/11677) constraint DS = {15} extremes [1, infinity) _nowhere {***} - (hits 24/12995) (matched: 'nowhere') constraint DS = {21} extremes [1, infinity) + (hits 24/11677) (matched: 'nowhere') constraint DS = {15} extremes [1, infinity) _nobody/no-one {***} - (hits 0/12971) constraint DS = {21} extremes [1, infinity) + (hits 0/11653) constraint DS = {15} extremes [1, infinity) _no _one {***} - (hits 0/12796) constraint DS = {21} extremes [2, infinity) + (hits 0/11294) constraint DS = {15} extremes [2, infinity) - hits 0/2166 nti 22 constraint CS = {22} extremes [1, 1] + hits 0/2166 nti 16 constraint CS = {16} extremes [1, 1] English: nowhere - constraint CS = {22} extremes [1, 1] + (hits 0/60) constraint CS = {16} extremes [1, 1] - hits 1/334 nti 23 constraint CS = {23} extremes [1, 1] + hits 1/334 nti 17 constraint CS = {17} extremes [1, 1] English: yourself - (hits 1/1) (matched: 'yourself') constraint CS = {23} extremes [1, 1] + (hits 1/1) (matched: 'yourself') constraint CS = {17} extremes [1, 1] - hits 6/6390 nti 24 constraint CS = {24} extremes [1, 3] + hits 6/6390 nti 18 constraint CS = {18} extremes [1, 3] English: player - (hits 2/10) (matched: 'player') constraint CS = {24} extremes [1, 1] + (hits 2/18) (matched: 'player') constraint CS = {18} extremes [1, 1] score - (hits 2/8) (matched: 'score') constraint CS = {24} extremes [1, 1] + (hits 2/16) (matched: 'score') constraint CS = {18} extremes [1, 1] time of day - (hits 2/5) (matched: 'time of day') constraint CS = {24} extremes [3, 3] + (hits 2/5) (matched: 'time of day') constraint CS = {18} extremes [3, 3] - nti 25 constraint CS = {25} extremes [1, 2] + nti 19 constraint CS = {19} extremes [1, 2] English: worn - constraint CS = {25} extremes [1, 1] + constraint CS = {19} extremes [1, 1] carried - constraint CS = {25} extremes [1, 1] + constraint CS = {19} extremes [1, 1] initially carried - constraint CS = {25} extremes [2, 2] + constraint CS = {19} extremes [2, 2] - hits 1/120 nti 26 constraint CS = {26} extremes [1, 1] + hits 1/120 nti 20 constraint CS = {20} extremes [1, 1] English: device - (hits 1/1) (matched: 'device') constraint CS = {26} extremes [1, 1] + (hits 1/1) (matched: 'device') constraint CS = {20} extremes [1, 1] - hits 1/122 nti 27 constraint CS = {27} extremes [1, 1] + hits 1/122 nti 21 constraint CS = {21} extremes [1, 1] English: backdrop - (hits 1/1) (matched: 'backdrop') constraint CS = {27} extremes [1, 1] + (hits 1/1) (matched: 'backdrop') constraint CS = {21} extremes [1, 1] - hits 1/292 nti 28 constraint CS = {28} extremes [1, 1] + hits 1/292 nti 22 constraint CS = {22} extremes [1, 1] English: scenery - (hits 1/1) (matched: 'scenery') constraint CS = {28} extremes [1, 1] + (hits 1/1) (matched: 'scenery') constraint CS = {22} extremes [1, 1] - nti 29 constraint CS = {29} extremes [1, 1] + nti 23 constraint CS = {23} extremes [1, 1] English: everywhere - constraint CS = {29} extremes [1, 1] + constraint CS = {23} extremes [1, 1] - hits 2/184 nti 30 constraint CS = {30} extremes [1, 1] + hits 2/184 nti 24 constraint CS = {24} extremes [1, 1] English: region - (hits 2/4) (matched: 'region') constraint CS = {30} extremes [1, 1] + (hits 2/3) (matched: 'region') constraint CS = {24} extremes [1, 1] - hits 1/292 nti 31 constraint CS = {31} extremes [2, 2] + hits 1/292 nti 25 constraint CS = {25} extremes [2, 2] English: map region - (hits 1/1) (matched: 'map region') constraint CS = {31} extremes [2, 2] + (hits 1/1) (matched: 'map region') constraint CS = {25} extremes [2, 2] - hits 19/2300 nti 6 constraint CS = {6} extremes [1, 1] + hits 19/2300 nti 26 constraint CS = {26} extremes [1, 1] English: direction - (hits 13/23) (matched: 'direction') constraint CS = {6} extremes [1, 1] + (hits 13/19) (matched: 'direction') constraint CS = {26} extremes [1, 1] door - (hits 6/10) (matched: 'door') constraint CS = {6} extremes [1, 1] + (hits 6/6) (matched: 'door') constraint CS = {26} extremes [1, 1] - hits 2/24 nti 7 constraint CS = {7} extremes [1, 1] + hits 2/24 nti 27 constraint CS = {27} extremes [1, 1] English: up - (hits 1/2) (matched: 'up') constraint CS = {7} extremes [1, 1] + (hits 1/3) (matched: 'up') constraint CS = {27} extremes [1, 1] down - (hits 1/1) (matched: 'down') constraint CS = {7} extremes [1, 1] + (hits 1/2) (matched: 'down') constraint CS = {27} extremes [1, 1] - hits 2/292 nti 8 constraint CS = {8} extremes [1, 2] + hits 2/292 nti 28 constraint CS = {28} extremes [1, 2] English: opposite - (hits 1/5) (matched: 'opposite') constraint CS = {8} extremes [1, 1] + (hits 1/1) (matched: 'opposite') constraint CS = {28} extremes [1, 1] other side - (hits 1/2) (matched: 'other side') constraint CS = {8} extremes [2, 2] + (hits 1/1) (matched: 'other side') constraint CS = {28} extremes [2, 2] - hits 0/2166 nti 9 constraint CS = {9} extremes [1, 1] + hits 0/2166 nti 29 constraint CS = {29} extremes [1, 1] English: below - (hits 0/25) constraint CS = {9} extremes [1, 1] + (hits 0/34) constraint CS = {29} extremes [1, 1] above - (hits 0/25) constraint CS = {9} extremes [1, 1] + (hits 0/34) constraint CS = {29} extremes [1, 1] - nti 10 constraint DS = {10} extremes [2, infinity) + nti 30 constraint DS = {30} extremes [2, infinity) English: mapping {...} - constraint DS = {10} extremes [2, infinity) + constraint DS = {30} extremes [2, infinity) - nti 11 constraint DS = {11} extremes [2, infinity) + nti 31 constraint DS = {31} extremes [2, infinity) English: mapped {...} of - constraint DS = {11} extremes [3, infinity) + constraint DS = {31} extremes [3, infinity) mapped {...} - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) {...} of - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) {...} from - constraint DS = {11} extremes [2, infinity) + constraint DS = {31} extremes [2, infinity) - hits 2/24 nti 12 constraint CS = {12} extremes [1, 1] + hits 2/24 nti 6 constraint CS = {6} extremes [1, 1] English: inside - (hits 1/3) (matched: 'inside') constraint CS = {12} extremes [1, 1] + (hits 1/2) (matched: 'inside') constraint CS = {6} extremes [1, 1] outside - (hits 1/2) (matched: 'outside') constraint CS = {12} extremes [1, 1] + (hits 1/1) (matched: 'outside') constraint CS = {6} extremes [1, 1] - nti 13 constraint (none) extremes [1, 1] + nti 7 constraint (none) extremes [1, 1] English: in - constraint CS = {13} extremes [1, 1] + constraint CS = {7} extremes [1, 1] of - constraint CS = {13} extremes [1, 1] + constraint CS = {7} extremes [1, 1]
    constraint (none) extremes [1, 1] - nti 15 constraint (none) extremes [1, infinity) + nti 12 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) - nti 18 constraint (none) extremes [1, infinity) + nti 12 constraint (none) extremes [1, infinity) English: eps file - constraint CS = {18} extremes [2, 2] + constraint CS = {12} extremes [2, 2] mapped as - constraint DS = {18} extremes [4, infinity) + constraint DS = {12} extremes [4, infinity) {...} mapped as {...} - constraint DS = {18} extremes [4, infinity) + constraint DS = {12} extremes [4, infinity) mapped - constraint DS = {14, 18} extremes [4, infinity) + constraint DS = {8, 12} extremes [4, infinity) {...} mapped {...} - constraint DS = {18} extremes [3, infinity) + constraint DS = {12} extremes [3, infinity) set to - constraint DS = {18} extremes [4, infinity) + constraint DS = {12} extremes [4, infinity) set to {...} - constraint DS = {18} extremes [4, infinity) + constraint DS = {12} extremes [4, infinity) {...} set to {...} - constraint DS = {18} extremes [4, infinity) + constraint DS = {12} extremes [4, infinity) rubric {} {***} - constraint DS = {18} extremes [2, infinity) + constraint DS = {12} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - nti 14 constraint DS = {14} extremes [2, infinity) + nti 8 constraint DS = {8} extremes [2, infinity) English: of/from - constraint DS = {14} extremes [3, infinity) + constraint DS = {8} extremes [3, infinity) above - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) below - constraint DS = {14} extremes [2, infinity) + constraint DS = {8} extremes [2, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 10 constraint (none) extremes [1, infinity) English: of - constraint DS = {16} extremes [3, infinity) + constraint DS = {10} extremes [3, infinity) constraint (none) extremes [1, infinity) {...} of - constraint DS = {16} extremes [3, infinity) + constraint DS = {10} extremes [3, infinity) - nti 16 constraint (none) extremes [1, infinity) + nti 13 constraint (none) extremes [1, infinity) English: constraint (none) extremes [2, infinity) constraint (none) extremes [1, infinity) - nti 15 constraint (none) extremes [1, infinity) + nti 9 constraint (none) extremes [1, infinity) English: first room - constraint CS = {15} extremes [2, 2] + constraint CS = {9} extremes [2, 2] level - constraint DS = {15} extremes [2, 2] + constraint DS = {9} extremes [2, 2] constraint (none) extremes [1, infinity) constraint (none) extremes [1, infinity) - internal nti 17 constraint (none) extremes [1, infinity) + internal nti 14 constraint (none) extremes [1, infinity) - nti 18 constraint (none) extremes [1, 1] + nti 15 constraint (none) extremes [1, 1] English: constraint CS = {r0} extremes [1, 1] constraint (none) extremes [1, 1] - constraint CS = {17} extremes [1, 1] + constraint CS = {11} extremes [1, 1] constraint (none) extremes [1, 1] {###} constraint (none) extremes [1, 1] - nti 17 constraint CS = {17} extremes [1, 1] + nti 11 constraint CS = {11} extremes [1, 1] English: on - constraint CS = {17} extremes [1, 1] + constraint CS = {11} extremes [1, 1] off - constraint CS = {17} extremes [1, 1] + constraint CS = {11} extremes [1, 1] - internal nti 19 constraint (none) extremes [1, 1] + internal nti 16 constraint (none) extremes [1, 1] - nti 19 constraint DS = {19} extremes [2, infinity) + nti 13 constraint DS = {13} extremes [2, infinity) English: size {***} - constraint DS = {19} extremes [2, infinity) + constraint DS = {13} extremes [2, infinity) font {} {***} - constraint DS = {19} extremes [2, infinity) + constraint DS = {13} extremes [2, infinity) colour {} {***} - constraint DS = {19} extremes [2, infinity) + constraint DS = {13} extremes [2, infinity) at from {...} - constraint DS = {19} extremes [4, infinity) + constraint DS = {13} extremes [4, infinity) at {***} - constraint DS = {19} extremes [2, infinity) + constraint DS = {13} extremes [2, infinity) - hits 1/292 nti 20 constraint CS = {20} extremes [1, 1] + hits 1/292 nti 14 constraint CS = {14} extremes [1, 1] English: recurring - (hits 1/2) (matched: 'recurring') constraint CS = {20} extremes [1, 1] + (hits 1/5) (matched: 'recurring') constraint CS = {14} extremes [1, 1] - hits 1/2 nti 21 constraint CS = {21} extremes [2, 2] + hits 1/2 nti 15 constraint CS = {15} extremes [2, 2] English: entire game - (hits 1/1) (matched: 'entire game') constraint CS = {21} extremes [2, 2] + (hits 1/1) (matched: 'entire game') constraint CS = {15} extremes [2, 2] - hits 4/8 nti 20 constraint (none) extremes [1, infinity) + hits 4/8 nti 17 constraint (none) extremes [1, infinity) English: (hits 4/4) (matched: 'the entire game') constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - nti 21 constraint (none) extremes [1, infinity) + nti 18 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) - hits 0/4 nti 22 constraint (none) extremes [1, infinity) + hits 0/4 nti 16 constraint (none) extremes [1, infinity) English: - (hits 0/1) constraint DS = {23} extremes [5, infinity) + (hits 0/1) constraint DS = {17} extremes [5, infinity) play begins - constraint CS = {22} extremes [2, 2] + constraint CS = {16} extremes [2, 2] play ends - constraint CS = {22} extremes [2, 2] + constraint CS = {16} extremes [2, 2] begins - (hits 0/2) constraint DS = {22} extremes [2, infinity) + (hits 0/2) constraint DS = {16} extremes [2, infinity) ends - (hits 0/2) constraint DS = {22} extremes [2, infinity) + (hits 0/2) constraint DS = {16} extremes [2, infinity) ends - (hits 0/2) constraint DS = {22} extremes [3, infinity) + (hits 0/2) constraint DS = {16} extremes [3, infinity) ends {...} - (hits 0/2) constraint DS = {22} extremes [3, infinity) + (hits 0/2) constraint DS = {16} extremes [3, infinity) (hits 0/2) constraint (none) extremes [1, infinity) - hits 4/8 nti 22 constraint (none) extremes [1, infinity) + hits 4/8 nti 19 constraint (none) extremes [1, infinity) English: (hits 4/4) (matched: 'the entire game') constraint (none) extremes [2, infinity) constraint (none) extremes [1, infinity) - hits 4/8 nti 23 constraint (none) extremes [1, infinity) + hits 4/8 nti 20 constraint (none) extremes [1, infinity) English: (hits 4/4) (matched: 'entire game') constraint (none) extremes [1, infinity) - internal nti 24 constraint (none) extremes [1, infinity) + internal nti 21 constraint (none) extremes [1, infinity) - internal nti 25 constraint (none) extremes [1, infinity) + internal nti 22 constraint (none) extremes [1, infinity) - nti 26 constraint (none) extremes [1, infinity) + nti 23 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, infinity) - hits 0/14 nti 23 constraint CS = {23} extremes [1, 1] + hits 0/14 nti 17 constraint CS = {17} extremes [1, 1] English: rankings - constraint CS = {23} extremes [1, 1] + constraint CS = {17} extremes [1, 1] - hits 2/180 nti 24 constraint CS = {24} extremes [1, 1] + hits 2/180 nti 18 constraint CS = {18} extremes [1, 1] English: waiting - (hits 1/2) (matched: 'waiting') constraint CS = {24} extremes [1, 1] + (hits 1/2) (matched: 'waiting') constraint CS = {18} extremes [1, 1] going - (hits 1/1) (matched: 'going') constraint CS = {24} extremes [1, 1] + (hits 1/1) (matched: 'going') constraint CS = {18} extremes [1, 1] - nti 25 constraint DS = {25} extremes [2, infinity) + nti 19 constraint DS = {19} extremes [2, infinity) English: {...} action - constraint DS = {25} extremes [2, infinity) + constraint DS = {19} extremes [2, infinity) - hits 490/20500 nti 27 constraint (none) extremes [1, 1] + hits 490/20500 nti 24 constraint (none) extremes [1, 1] English: (hits 490/10250) (matched: 'it') constraint (none) extremes [1, 1] - internal hits 227/664 nti 28 constraint (none) extremes [1, infinity) + internal hits 227/664 nti 25 constraint (none) extremes [1, infinity) - hits 378/10710 nti 26 constraint DS = {26} extremes [2, infinity) + hits 378/10710 nti 20 constraint DS = {20} extremes [2, infinity) English: {...} to - (hits 378/967) (matched: 'giving it to') constraint DS = {26} extremes [2, infinity) + (hits 378/1065) (matched: 'giving it to') constraint DS = {20} extremes [2, infinity) - hits 13/26 nti 27 constraint (none) extremes [1, infinity) + hits 13/26 nti 21 constraint (none) extremes [1, infinity) English: ( matched as {} ) - (hits 6/6) (matched: 'room gone from ( matched as from )') constraint DS = {27} extremes [6, infinity) + (hits 6/6) (matched: 'room gone from ( matched as from )') constraint DS = {21} extremes [6, infinity) ( {...} ) - constraint DS = {27} extremes [4, infinity) + constraint DS = {21} extremes [4, infinity) (hits 7/7) (matched: 'abbreviated form allowed') constraint (none) extremes [1, infinity) - hits 13/26 nti 29 constraint (none) extremes [1, infinity) + hits 13/26 nti 26 constraint (none) extremes [1, infinity) English: (hits 0/13) constraint (none) extremes [1, infinity) {...} (hits 13/13) (matched: 'room gone from') constraint (none) extremes [1, infinity) - hits 90/1036 nti 30 constraint DS = {28} extremes [1, infinity) + hits 90/1036 nti 27 constraint DS = {22} extremes [1, infinity) English: - (hits 90/251) (matched long text) constraint DS = {28} extremes [2, infinity) + (hits 90/178) (matched long text) constraint DS = {22} extremes [2, infinity) - (hits 0/164) constraint DS = {28} extremes [1, infinity) + (hits 0/91) constraint DS = {22} extremes [1, infinity) - hits 90/620 nti 28 constraint DS = {28} extremes [1, infinity) + hits 90/456 nti 22 constraint DS = {22} extremes [1, infinity) English: action - (hits 90/290) (matched long text) constraint DS = {28} extremes [1, infinity) + (hits 90/208) (matched long text) constraint DS = {22} extremes [1, infinity) action - (hits 0/3) constraint CS = {28} extremes [1, 1] + (hits 0/3) constraint CS = {22} extremes [1, 1] - hits 90/180 nti 31 constraint (none) extremes [1, infinity) + hits 90/182 nti 28 constraint (none) extremes [0, infinity) + English: + ^ + (hits 90/91) (matched long text) constraint (none) extremes [0, infinity) + + hits 1/182 nti 23 constraint DS = {23} extremes [1, infinity) + English: + {***} that/which vary/varies + (hits 1/90) (matched: 'name based rule producing nothing that varies') constraint DS = {23} extremes [2, infinity) + {***} variable + (hits 0/89) constraint DS = {23} extremes [1, infinity) + + hits 90/180 nti 29 constraint (none) extremes [1, infinity) English: (hits 0/90) constraint (none) extremes [1, infinity) {...} (hits 90/90) (matched: 'switching the story transcript on') constraint (none) extremes [1, infinity) - hits 128/926 nti 31 constraint DS = {31} extremes [1, infinity) + hits 128/876 nti 26 constraint DS = {26} extremes [1, infinity) English: out of world - (hits 16/34) (matched: 'out of world') constraint CS = {31} extremes [3, 3] + (hits 16/16) (matched: 'out of world') constraint CS = {26} extremes [3, 3] abbreviable - (hits 2/37) (matched: 'abbreviable') constraint CS = {31} extremes [1, 1] + (hits 2/18) (matched: 'abbreviable') constraint CS = {26} extremes [1, 1] with past participle {...} - (hits 0/177) constraint DS = {31} extremes [4, infinity) + (hits 0/177) constraint DS = {26} extremes [4, infinity) applying to - (hits 104/304) (matched long text) constraint DS = {31} extremes [3, infinity) + (hits 104/302) (matched long text) constraint DS = {26} extremes [3, infinity) requiring light - (hits 6/38) (matched: 'requiring light') constraint CS = {31} extremes [2, 2] + (hits 6/22) (matched: 'requiring light') constraint CS = {26} extremes [2, 2] - hits 104/208 nti 30 constraint (none) extremes [1, infinity) + hits 104/208 nti 25 constraint (none) extremes [1, infinity) English: nothing - (hits 45/45) (matched: 'nothing') constraint CS = {30} extremes [1, 1] + (hits 45/45) (matched: 'nothing') constraint CS = {25} extremes [1, 1] one and one - (hits 11/11) (matched: 'one carried thing and one visible thing') constraint DS = {30} extremes [5, infinity) + (hits 11/11) (matched: 'one carried thing and one visible thing') constraint DS = {25} extremes [5, infinity) one and - (hits 0/2) constraint DS = {30} extremes [4, infinity) + (hits 0/2) constraint DS = {25} extremes [4, infinity) and one - (hits 0/2) constraint DS = {30} extremes [4, infinity) + (hits 0/2) constraint DS = {25} extremes [4, infinity) and - (hits 0/7) constraint DS = {30} extremes [3, infinity) + (hits 0/7) constraint DS = {25} extremes [3, infinity) nothing or one - (hits 2/2) (matched: 'nothing or one thing') constraint DS = {30} extremes [4, infinity) + (hits 2/2) (matched: 'nothing or one thing') constraint DS = {25} extremes [4, infinity) one - (hits 40/46) (matched: 'one visible thing') constraint DS = {30} extremes [2, infinity) + (hits 40/46) (matched: 'one visible thing') constraint DS = {25} extremes [2, infinity) two - (hits 6/6) (matched: 'two things') constraint DS = {30} extremes [2, infinity) + (hits 6/6) (matched: 'two things') constraint DS = {25} extremes [2, infinity) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 70/140 nti 6 constraint (none) extremes [1, infinity) + hits 70/140 nti 30 constraint (none) extremes [1, infinity) English: (hits 70/70) (matched: 'visible thing') constraint (none) extremes [1, infinity) - hits 70/140 nti 7 constraint (none) extremes [1, infinity) + hits 70/140 nti 31 constraint (none) extremes [1, infinity) English: - (hits 12/12) (matched: 'visible thing') constraint DS = {29} extremes [2, infinity) + (hits 12/12) (matched: 'visible thing') constraint DS = {24} extremes [2, infinity) (hits 58/58) (matched: 'infection color') constraint (none) extremes [1, infinity) - hits 12/24 nti 29 constraint CS = {29} extremes [1, 1] + hits 12/24 nti 24 constraint CS = {24} extremes [1, 1] English: visible - (hits 6/12) (matched: 'visible') constraint CS = {29} extremes [1, 1] + (hits 6/12) (matched: 'visible') constraint CS = {24} extremes [1, 1] touchable - (hits 0/6) constraint CS = {29} extremes [1, 1] + (hits 0/6) constraint CS = {24} extremes [1, 1] carried - (hits 6/6) (matched: 'carried') constraint CS = {29} extremes [1, 1] + (hits 6/6) (matched: 'carried') constraint CS = {24} extremes [1, 1] - hits 90/180 nti 8 constraint (none) extremes [1, infinity) + hits 90/180 nti 6 constraint (none) extremes [1, infinity) English: (hits 90/90) (matched long text) constraint (none) extremes [1, infinity) {...} constraint (none) extremes [1, infinity) - hits 128/256 nti 9 constraint (none) extremes [1, infinity) + hits 128/256 nti 7 constraint (none) extremes [1, infinity) English: {...} (hits 19/128) (matched: 'applying to nothing or one thing and') constraint (none) extremes [1, infinity) - (hits 19/109) (matched: 'applying to one visible thing and requiring light') constraint DS = {31} extremes [2, infinity) + (hits 19/109) (matched: 'applying to one visible thing and requiring light') constraint DS = {26} extremes [2, infinity) - (hits 90/90) (matched long text) constraint DS = {31} extremes [1, infinity) + (hits 90/90) (matched long text) constraint DS = {26} extremes [1, infinity) - hits 128/1002 nti 6 constraint DS = {31} extremes [1, infinity) + hits 128/1002 nti 27 constraint DS = {26} extremes [1, infinity) English: , and - (hits 0/267) constraint DS = {6, 31} extremes [3, infinity) + (hits 0/227) constraint DS = {26, 27} extremes [3, infinity) and - (hits 19/329) (matched: 'applying to nothing or one thing and') constraint DS = {6, 31} extremes [2, infinity) + (hits 19/270) (matched: 'applying to nothing or one thing and') constraint DS = {26, 27} extremes [2, infinity) , - (hits 0/310) constraint DS = {6, 31} extremes [2, infinity) + (hits 0/251) constraint DS = {26, 27} extremes [2, infinity) - (hits 109/398) (matched long text) constraint DS = {31} extremes [1, infinity) + (hits 109/379) (matched long text) constraint DS = {26} extremes [1, infinity) - hits 958/2310 nti 11 constraint (none) extremes [1, infinity) + hits 958/2310 nti 6 constraint (none) extremes [1, infinity) English: doing something/anything other than - (hits 0/142) constraint DS = {11} extremes [5, infinity) + (hits 0/139) constraint DS = {6} extremes [5, infinity) doing something/anything except - (hits 0/153) constraint DS = {11} extremes [4, infinity) + (hits 0/150) constraint DS = {6} extremes [4, infinity) doing something/anything to/with - (hits 0/153) constraint DS = {11} extremes [4, infinity) + (hits 0/150) constraint DS = {6} extremes [4, infinity) doing something/anything - constraint CS = {11} extremes [2, 2] + constraint CS = {6} extremes [2, 2] doing something/anything {...} - (hits 0/339) constraint DS = {11} extremes [3, infinity) + (hits 0/336) constraint DS = {6} extremes [3, infinity) (hits 958/1155) (matched long text) constraint (none) extremes [1, infinity) - nti 10 constraint (none) extremes [1, infinity) + nti 31 constraint (none) extremes [1, infinity) English: to/with {} - constraint DS = {10} extremes [3, infinity) + constraint DS = {31} extremes [3, infinity) constraint (none) extremes [1, infinity) - nti 9 constraint (none) extremes [1, infinity) + nti 30 constraint (none) extremes [1, infinity) English: _,/or {...} - constraint DS = {9} extremes [2, infinity) + constraint DS = {30} extremes [2, infinity) {...} to/with {...} - constraint DS = {9} extremes [3, infinity) + constraint DS = {30} extremes [3, infinity) {...} constraint (none) extremes [1, infinity) - hits 326/652 nti 10 constraint (none) extremes [1, infinity) + hits 326/652 nti 8 constraint (none) extremes [1, infinity) English: - (hits 0/37) constraint DS = {7} extremes [3, infinity) + (hits 0/97) constraint DS = {28} extremes [3, infinity) (hits 326/326) (matched long text) constraint (none) extremes [1, infinity) - hits 326/652 nti 11 constraint (none) extremes [1, infinity) + hits 326/652 nti 9 constraint (none) extremes [1, infinity) English: {...} (hits 326/326) (matched long text) constraint (none) extremes [1, infinity) - hits 12/3672 nti 7 constraint DS = {7} extremes [2, infinity) + hits 12/4780 nti 28 constraint DS = {28} extremes [2, infinity) English: fixed in place {***} - (hits 0/725) constraint DS = {7} extremes [3, infinity) + (hits 0/991) constraint DS = {28} extremes [3, infinity) is/are/was/were/been/listed in {***} - (hits 0/1008) constraint DS = {7} extremes [2, infinity) + (hits 0/1425) constraint DS = {28} extremes [2, infinity) in {...} - (hits 12/1008) (matched: 'in the public library') constraint DS = {7} extremes [2, infinity) + (hits 12/1425) (matched: 'in the public library') constraint DS = {28} extremes [2, infinity) - hits 958/2310 nti 12 constraint (none) extremes [1, infinity) + hits 958/2310 nti 10 constraint (none) extremes [1, infinity) English: - (hits 0/349) constraint DS = {8} extremes [3, infinity) + (hits 0/441) constraint DS = {29} extremes [3, infinity) (hits 958/1155) (matched long text) constraint (none) extremes [1, infinity) - hits 0/2930 nti 8 constraint DS = {8} extremes [2, infinity) + hits 0/3184 nti 29 constraint DS = {29} extremes [2, infinity) English: , _or - (hits 0/748) constraint DS = {8} extremes [3, infinity) + (hits 0/546) constraint DS = {29} extremes [3, infinity) _,/or - (hits 0/1000) constraint DS = {8} extremes [2, infinity) + (hits 0/863) constraint DS = {29} extremes [2, infinity) - hits 958/2310 nti 13 constraint (none) extremes [1, infinity) + hits 958/2310 nti 11 constraint (none) extremes [1, infinity) English: (hits 0/1155) constraint (none) extremes [1, infinity) - (hits 0/335) constraint DS = {7} extremes [3, infinity) + (hits 0/458) constraint DS = {28} extremes [3, infinity) (hits 958/1155) (matched long text) constraint (none) extremes [1, infinity) - internal hits 0/2330 nti 14 constraint (none) extremes [1, infinity) + internal hits 0/2330 nti 12 constraint (none) extremes [1, infinity) - internal hits 958/2310 nti 15 constraint (none) extremes [1, infinity) + internal hits 958/2310 nti 13 constraint (none) extremes [1, infinity) - hits 556/21216 nti 12 constraint (none) extremes [1, infinity) + hits 556/21216 nti 7 constraint (none) extremes [1, infinity) English: asking to try - (hits 0/1061) constraint DS = {12} extremes [5, infinity) + (hits 0/1040) constraint DS = {7} extremes [5, infinity) trying - (hits 23/2882) (matched long text) constraint DS = {12} extremes [3, infinity) + (hits 23/2538) (matched long text) constraint DS = {7} extremes [3, infinity) an actor trying - (hits 0/1917) constraint DS = {12} extremes [4, infinity) + (hits 0/1859) constraint DS = {7} extremes [4, infinity) an actor - (hits 408/2859) (matched long text) constraint DS = {12} extremes [3, infinity) + (hits 408/2515) (matched long text) constraint DS = {7} extremes [3, infinity) trying - (hits 0/4139) constraint DS = {12} extremes [2, infinity) + (hits 0/3407) constraint DS = {7} extremes [2, infinity) (hits 125/10177) (matched long text) constraint (none) extremes [1, infinity) - hits 28/2746 nti 27 constraint (none) extremes [1, infinity) + hits 28/2746 nti 21 constraint (none) extremes [1, infinity) English: we are asking to try - (hits 0/217) constraint DS = {27} extremes [7, infinity) + (hits 0/146) constraint DS = {21} extremes [7, infinity) asking to try - (hits 0/508) constraint DS = {27} extremes [5, infinity) + (hits 0/291) constraint DS = {21} extremes [5, infinity) trying - (hits 0/815) constraint DS = {27} extremes [3, infinity) + (hits 0/553) constraint DS = {21} extremes [3, infinity) an actor trying - (hits 0/801) constraint DS = {27} extremes [4, infinity) + (hits 0/529) constraint DS = {21} extremes [4, infinity) an actor - (hits 3/815) (matched: 'an actor smelling') constraint DS = {27} extremes [3, infinity) + (hits 3/553) (matched: 'an actor smelling') constraint DS = {21} extremes [3, infinity) we are trying - (hits 0/801) constraint DS = {27} extremes [4, infinity) + (hits 0/529) constraint DS = {21} extremes [4, infinity) trying - (hits 0/812) constraint DS = {27} extremes [2, infinity) + (hits 0/550) constraint DS = {21} extremes [2, infinity) we are - (hits 0/812) constraint DS = {27} extremes [3, infinity) + (hits 0/550) constraint DS = {21} extremes [3, infinity) (hits 25/1370) (matched long text) constraint (none) extremes [1, infinity) - hits 0/1524 nti 28 constraint DS = {28} extremes [2, infinity) + hits 0/2136 nti 22 constraint DS = {22} extremes [2, infinity) English: we are not asking to try - (hits 0/134) constraint DS = {28} extremes [8, infinity) + (hits 0/135) constraint DS = {22} extremes [8, infinity) not asking to try - (hits 0/323) constraint DS = {28} extremes [6, infinity) + (hits 0/389) constraint DS = {22} extremes [6, infinity) not trying - (hits 0/740) constraint DS = {28} extremes [4, infinity) + (hits 0/960) constraint DS = {22} extremes [4, infinity) an actor not trying - (hits 0/460) constraint DS = {28} extremes [5, infinity) + (hits 0/590) constraint DS = {22} extremes [5, infinity) an actor not - (hits 0/740) constraint DS = {28} extremes [4, infinity) + (hits 0/960) constraint DS = {22} extremes [4, infinity) we are not trying - (hits 0/460) constraint DS = {28} extremes [5, infinity) + (hits 0/590) constraint DS = {22} extremes [5, infinity) not trying - (hits 0/762) constraint DS = {28} extremes [3, infinity) + (hits 0/1068) constraint DS = {22} extremes [3, infinity) we are not - (hits 0/740) constraint DS = {28} extremes [4, infinity) + (hits 0/960) constraint DS = {22} extremes [4, infinity) not - (hits 0/762) constraint DS = {28} extremes [2, infinity) + (hits 0/1068) constraint DS = {22} extremes [2, infinity) - hits 0/1492 nti 25 constraint DS = {25} extremes [3, infinity) + hits 0/1736 nti 19 constraint DS = {19} extremes [3, infinity) English: we have asked to try - (hits 0/216) constraint DS = {25} extremes [7, infinity) + (hits 0/226) constraint DS = {19} extremes [7, infinity) has tried - (hits 0/726) constraint DS = {25} extremes [4, infinity) + (hits 0/863) constraint DS = {19} extremes [4, infinity) an actor has tried - (hits 0/447) constraint DS = {25} extremes [5, infinity) + (hits 0/538) constraint DS = {19} extremes [5, infinity) an actor has - (hits 0/726) constraint DS = {25} extremes [4, infinity) + (hits 0/863) constraint DS = {19} extremes [4, infinity) we have tried - (hits 0/726) constraint DS = {25} extremes [4, infinity) + (hits 0/863) constraint DS = {19} extremes [4, infinity) we have - (hits 0/746) constraint DS = {25} extremes [3, infinity) + (hits 0/868) constraint DS = {19} extremes [3, infinity) - hits 0/1504 nti 26 constraint DS = {26} extremes [4, infinity) + hits 0/1462 nti 20 constraint DS = {20} extremes [4, infinity) English: we have not asked to try - (hits 0/136) constraint DS = {26} extremes [8, infinity) + (hits 0/135) constraint DS = {20} extremes [8, infinity) has not tried - (hits 0/466) constraint DS = {26} extremes [5, infinity) + (hits 0/454) constraint DS = {20} extremes [5, infinity) an actor has not tried - (hits 0/326) constraint DS = {26} extremes [6, infinity) + (hits 0/324) constraint DS = {20} extremes [6, infinity) an actor has not - (hits 0/466) constraint DS = {26} extremes [5, infinity) + (hits 0/454) constraint DS = {20} extremes [5, infinity) we have not tried - (hits 0/466) constraint DS = {26} extremes [5, infinity) + (hits 0/454) constraint DS = {20} extremes [5, infinity) we have not - (hits 0/752) constraint DS = {26} extremes [4, infinity) + (hits 0/731) constraint DS = {20} extremes [4, infinity) - hits 150/23094 nti 16 constraint (none) extremes [1, infinity) + hits 150/23094 nti 14 constraint (none) extremes [1, infinity) English: (hits 85/11547) (matched long text) constraint (none) extremes [1, infinity) (hits 65/6514) (matched long text) constraint (none) extremes [2, infinity) - internal hits 76/13028 nti 17 constraint (none) extremes [1, infinity) + internal hits 76/13028 nti 15 constraint (none) extremes [1, infinity) - internal hits 584/24114 nti 18 constraint (none) extremes [1, infinity) + internal hits 584/24114 nti 16 constraint (none) extremes [1, infinity) - internal nti 19 constraint (none) extremes [1, infinity) + internal nti 17 constraint (none) extremes [1, infinity) - hits 0/1390 nti 13 constraint CS = {13} extremes [2, 2] + hits 0/1390 nti 8 constraint CS = {8} extremes [2, 2] English: doing it - (hits 0/10) constraint CS = {13} extremes [2, 2] + constraint CS = {8} extremes [2, 2] - hits 584/1390 nti 16 constraint (none) extremes [1, infinity) + hits 584/1390 nti 11 constraint (none) extremes [1, infinity) English: when/while - (hits 11/228) (matched long text) constraint DS = {16} extremes [3, infinity) + (hits 11/204) (matched long text) constraint DS = {11} extremes [3, infinity) (hits 573/684) (matched long text) constraint (none) extremes [1, infinity) {...} when/while - (hits 0/66) constraint DS = {16} extremes [3, infinity) + (hits 0/59) constraint DS = {11} extremes [3, infinity) {...} when/while {...} - (hits 0/66) constraint DS = {16} extremes [3, infinity) + (hits 0/59) constraint DS = {11} extremes [3, infinity) - internal hits 19/38 nti 20 constraint (none) extremes [1, infinity) + internal hits 19/38 nti 18 constraint (none) extremes [1, infinity) - hits 584/1406 nti 15 constraint (none) extremes [1, infinity) + hits 584/1406 nti 10 constraint (none) extremes [1, infinity) English: in the presence of - (hits 1/46) (matched long text) constraint DS = {15} extremes [6, infinity) + (hits 1/46) (matched long text) constraint DS = {10} extremes [6, infinity) (hits 583/702) (matched long text) constraint (none) extremes [1, infinity) - hits 584/1406 nti 14 constraint (none) extremes [1, infinity) + hits 584/1406 nti 9 constraint (none) extremes [1, infinity) English: in - (hits 0/417) constraint DS = {14} extremes [2, infinity) + (hits 0/225) constraint DS = {9} extremes [2, infinity) (hits 584/703) (matched long text) constraint (none) extremes [1, infinity) - internal hits 584/1406 nti 21 constraint (none) extremes [1, infinity) + internal hits 584/1406 nti 19 constraint (none) extremes [1, infinity) - hits 194/444 nti 17 constraint (none) extremes [1, infinity) + hits 194/444 nti 12 constraint (none) extremes [1, infinity) English: something/anything - (hits 78/86) (matched: 'something') constraint CS = {17} extremes [1, 1] + (hits 78/90) (matched: 'something') constraint CS = {12} extremes [1, 1] something/anything else - (hits 0/7) constraint CS = {17} extremes [2, 2] + (hits 0/9) constraint CS = {12} extremes [2, 2] (hits 116/144) (matched long text) constraint (none) extremes [1, infinity) - hits 0/18 nti 18 constraint CS = {18} extremes [1, 1] + hits 0/18 nti 13 constraint CS = {13} extremes [1, 1] English: nowhere - (hits 0/3) constraint CS = {18} extremes [1, 1] + constraint CS = {13} extremes [1, 1] somewhere - (hits 0/3) constraint CS = {18} extremes [1, 1] + constraint CS = {13} extremes [1, 1] - hits 5/10 nti 19 constraint CS = {19} extremes [1, 1] + hits 5/10 nti 14 constraint CS = {14} extremes [1, 1] English: something/anything - (hits 4/5) (matched: 'something') constraint CS = {19} extremes [1, 1] + (hits 4/5) (matched: 'something') constraint CS = {14} extremes [1, 1] it - (hits 1/1) (matched: 'it') constraint CS = {19} extremes [1, 1] + (hits 1/1) (matched: 'it') constraint CS = {14} extremes [1, 1] - hits 276/1144 nti 22 constraint (none) extremes [1, infinity) + hits 276/1144 nti 20 constraint (none) extremes [1, infinity) English: ^ (hits 0/572) constraint (none) extremes [1, infinity) @@ -9565,115 +9547,115 @@ (hits 209/505) (matched long text) constraint (none) extremes [1, infinity) - internal hits 1144/2288 nti 23 constraint (none) extremes [0, 0] + internal hits 1144/2288 nti 21 constraint (none) extremes [0, 0] - hits 208/416 nti 23 constraint (none) extremes [1, infinity) + hits 208/416 nti 18 constraint (none) extremes [1, infinity) English: nothing - constraint CS = {23} extremes [1, 1] + constraint CS = {18} extremes [1, 1] (hits 1/208) (matched: 'the infection color property') constraint (none) extremes [1, infinity) the command/commands - (hits 40/40) (matched long text) constraint DS = {23} extremes [3, infinity) + (hits 40/40) (matched long text) constraint DS = {18} extremes [3, infinity) the verb/verbs {...} - constraint DS = {23} extremes [3, infinity) + constraint DS = {18} extremes [3, infinity) (hits 167/167) (matched long text) constraint (none) extremes [1, infinity) - hits 383/766 nti 24 constraint (none) extremes [1, infinity) + hits 383/766 nti 22 constraint (none) extremes [1, infinity) English: {...} (hits 88/383) (matched long text) constraint (none) extremes [1, infinity) - (hits 88/88) (matched long text) constraint DS = {22} extremes [3, infinity) + (hits 88/88) (matched long text) constraint DS = {17} extremes [3, infinity) (hits 207/207) (matched: '"n"') constraint (none) extremes [1, infinity) - hits 176/352 nti 22 constraint DS = {22} extremes [2, infinity) + hits 176/352 nti 17 constraint DS = {17} extremes [2, infinity) English: , _and/or - (hits 0/74) constraint DS = {22} extremes [3, infinity) + (hits 0/74) constraint DS = {17} extremes [3, infinity) _,/and/or - (hits 176/176) (matched long text) constraint DS = {22} extremes [2, infinity) + (hits 176/176) (matched long text) constraint DS = {17} extremes [2, infinity) - hits 383/766 nti 25 constraint (none) extremes [1, infinity) + hits 383/766 nti 23 constraint (none) extremes [1, infinity) English: {...} (hits 383/383) (matched: '"n"') constraint (none) extremes [1, infinity) - hits 50/514 nti 26 constraint (none) extremes [1, infinity) + hits 50/514 nti 24 constraint (none) extremes [1, infinity) English: {...} (hits 49/257) (matched long text) constraint (none) extremes [1, infinity) - (hits 0/25) constraint DS = {20, 21} extremes [4, infinity) + (hits 0/25) constraint DS = {15, 16} extremes [4, infinity) - (hits 1/25) (matched: 'the infection color property') constraint DS = {20} extremes [2, infinity) + (hits 1/41) (matched: 'the infection color property') constraint DS = {15} extremes [2, infinity) - hits 49/298 nti 21 constraint DS = {21} extremes [2, infinity) + hits 49/298 nti 16 constraint DS = {16} extremes [2, infinity) English: , _and/or - (hits 0/98) constraint DS = {21} extremes [3, infinity) + (hits 0/98) constraint DS = {16} extremes [3, infinity) _,/and/or - (hits 49/122) (matched long text) constraint DS = {21} extremes [2, infinity) + (hits 49/122) (matched long text) constraint DS = {16} extremes [2, infinity) - hits 1/148 nti 20 constraint DS = {20} extremes [2, infinity) + hits 1/180 nti 15 constraint DS = {15} extremes [2, infinity) English: property - (hits 1/50) (matched: 'the infection color property') constraint DS = {20} extremes [2, infinity) + (hits 1/90) (matched: 'the infection color property') constraint DS = {15} extremes [2, infinity) {...} property - (hits 0/49) constraint DS = {20} extremes [2, infinity) + (hits 0/89) constraint DS = {15} extremes [2, infinity) - hits 167/334 nti 26 constraint (none) extremes [1, infinity) + hits 167/334 nti 21 constraint (none) extremes [1, infinity) English: when/while {...} - (hits 1/39) (matched: 'yourself when the player is not yourself') constraint DS = {26} extremes [3, infinity) + (hits 1/15) (matched: 'yourself when the player is not yourself') constraint DS = {21} extremes [3, infinity) (hits 166/166) (matched: 'giving it to ( with nouns reversed )') constraint (none) extremes [1, infinity) - hits 167/334 nti 27 constraint (none) extremes [1, infinity) + hits 167/334 nti 25 constraint (none) extremes [1, infinity) English: {...} (hits 0/167) constraint (none) extremes [1, infinity) - (hits 0/23) constraint DS = {25} extremes [3, infinity) + (hits 0/40) constraint DS = {20} extremes [3, infinity) (hits 167/167) (matched: 'giving it to ( with nouns reversed )') constraint (none) extremes [1, infinity) - hits 0/168 nti 25 constraint DS = {25} extremes [2, infinity) + hits 0/236 nti 20 constraint DS = {20} extremes [2, infinity) English: , _and/or - (hits 0/35) constraint DS = {25} extremes [3, infinity) + (hits 0/35) constraint DS = {20} extremes [3, infinity) _,/and/or - (hits 0/53) constraint DS = {25} extremes [2, infinity) + (hits 0/70) constraint DS = {20} extremes [2, infinity) - hits 167/334 nti 28 constraint (none) extremes [1, infinity) + hits 167/334 nti 26 constraint (none) extremes [1, infinity) English: (hits 167/167) (matched: 'giving it to ( with nouns reversed )') constraint (none) extremes [1, infinity) - hits 167/334 nti 24 constraint (none) extremes [1, infinity) + hits 167/334 nti 19 constraint (none) extremes [1, infinity) English: {...} (hits 0/167) constraint (none) extremes [1, infinity) a mistake - constraint CS = {24} extremes [2, 2] + constraint CS = {19} extremes [2, 2] a mistake ( ) - (hits 0/3) constraint DS = {24} extremes [5, 5] + (hits 0/3) constraint DS = {19} extremes [5, 5] a mistake {...} - (hits 0/55) constraint DS = {24} extremes [3, infinity) + (hits 0/40) constraint DS = {19} extremes [3, infinity) the plural of - (hits 0/13) constraint DS = {24} extremes [4, infinity) + (hits 0/11) constraint DS = {19} extremes [4, infinity) plural of - (hits 0/55) constraint DS = {24} extremes [3, infinity) + (hits 0/40) constraint DS = {19} extremes [3, infinity) (hits 2/73) (matched: '"[ice cream]"') constraint (none) extremes [1, 1] ( with nouns reversed ) - (hits 6/6) (matched: 'giving it to ( with nouns reversed )') constraint DS = {24} extremes [6, infinity) + (hits 6/6) (matched: 'giving it to ( with nouns reversed )') constraint DS = {19} extremes [6, infinity) (hits 159/159) (matched: 'requesting the story file version') constraint (none) extremes [1, infinity) - hits 165/330 nti 29 constraint (none) extremes [1, infinity) + hits 165/330 nti 27 constraint (none) extremes [1, infinity) English: (hits 150/165) (matched: 'requesting the story file version') constraint (none) extremes [1, infinity) @@ -9684,34 +9666,34 @@ {...} constraint (none) extremes [1, infinity) - hits 40/80 nti 27 constraint (none) extremes [1, infinity) + hits 40/80 nti 22 constraint (none) extremes [1, infinity) English: {...} when/while {...} - constraint DS = {27} extremes [3, infinity) + constraint DS = {22} extremes [3, infinity) something new - (hits 3/3) (matched: 'something new') constraint CS = {27} extremes [2, 2] + (hits 3/3) (matched: 'something new') constraint CS = {22} extremes [2, 2] (hits 37/37) (matched: 'take') constraint (none) extremes [1, 1] {...} constraint (none) extremes [1, infinity) - hits 1/2 nti 29 constraint (none) extremes [1, infinity) + hits 1/2 nti 24 constraint (none) extremes [1, infinity) English: when/while {...} - constraint DS = {29} extremes [3, infinity) + constraint DS = {24} extremes [3, infinity) (hits 1/1) (matched: 'referring to an ice cream cone') constraint (none) extremes [1, infinity) - hits 1/2 nti 28 constraint (none) extremes [1, infinity) + hits 1/2 nti 23 constraint (none) extremes [1, infinity) English: referring to - (hits 1/1) (matched: 'referring to an ice cream cone') constraint DS = {28} extremes [3, infinity) + (hits 1/1) (matched: 'referring to an ice cream cone') constraint DS = {23} extremes [3, infinity) describing - constraint DS = {28} extremes [2, infinity) + constraint DS = {23} extremes [2, infinity) {...} constraint (none) extremes [1, infinity) - hits 1/2 nti 30 constraint (none) extremes [1, infinity) + hits 1/2 nti 28 constraint (none) extremes [1, infinity) English: (hits 1/1) (matched: 'an ice cream cone') constraint (none) extremes [1, infinity) @@ -9720,24 +9702,24 @@ {...} constraint (none) extremes [1, infinity) - hits 22/186 nti 30 constraint DS = {30} extremes [1, infinity) + hits 22/186 nti 25 constraint DS = {25} extremes [1, infinity) English: understood - (hits 16/51) (matched: 'command parser error understood') constraint DS = {30} extremes [2, infinity) + (hits 16/34) (matched: 'command parser error understood') constraint DS = {25} extremes [2, infinity) noun - (hits 1/4) (matched: 'noun') constraint CS = {30} extremes [1, 1] + (hits 1/4) (matched: 'noun') constraint CS = {25} extremes [1, 1] location - (hits 1/3) (matched: 'location') constraint CS = {30} extremes [1, 1] + (hits 1/3) (matched: 'location') constraint CS = {25} extremes [1, 1] actor-location - (hits 1/2) (matched: 'actor-location') constraint CS = {30} extremes [1, 1] + (hits 1/2) (matched: 'actor-location') constraint CS = {25} extremes [1, 1] second noun - (hits 1/3) (matched: 'second noun') constraint CS = {30} extremes [2, 2] + (hits 1/3) (matched: 'second noun') constraint CS = {25} extremes [2, 2] person asked - (hits 1/2) (matched: 'person asked') constraint CS = {30} extremes [2, 2] + (hits 1/2) (matched: 'person asked') constraint CS = {25} extremes [2, 2] maximum score - (hits 1/1) (matched: 'maximum score') constraint CS = {30} extremes [2, 2] + (hits 1/1) (matched: 'maximum score') constraint CS = {25} extremes [2, 2] - hits 4/8 nti 31 constraint (none) extremes [1, infinity) + hits 4/8 nti 29 constraint (none) extremes [1, infinity) English: (hits 4/4) (matched: 'the player is not yourself') constraint (none) extremes [1, infinity) @@ -9746,39 +9728,39 @@ {...} constraint (none) extremes [1, infinity) - hits 910/1820 nti 31 constraint (none) extremes [1, infinity) + hits 910/1820 nti 26 constraint (none) extremes [1, infinity) English: {...} , {...} - (hits 340/340) (matched long text) constraint DS = {31} extremes [3, infinity) + (hits 340/355) (matched long text) constraint DS = {26} extremes [3, infinity) (hits 400/526) (matched: 'n') constraint (none) extremes [1, 1] {...} (hits 170/170) (matched: 'a locked lockable thing') constraint (none) extremes [1, infinity) - hits 163/326 nti 7 constraint (none) extremes [1, infinity) + hits 163/326 nti 28 constraint (none) extremes [1, infinity) English: (hits 3/163) (matched: 'flavored ice cream') constraint (none) extremes [1, infinity) any things - constraint CS = {7} extremes [2, 2] + (hits 0/5) constraint CS = {28} extremes [2, 2] any - (hits 2/31) (matched: 'any room') constraint DS = {7} extremes [2, infinity) + (hits 2/26) (matched: 'any room') constraint DS = {28} extremes [2, infinity) anything - (hits 0/92) constraint CS = {7} extremes [1, 1] + (hits 0/92) constraint CS = {28} extremes [1, 1] anybody - (hits 0/92) constraint CS = {7} extremes [1, 1] + (hits 0/92) constraint CS = {28} extremes [1, 1] anyone - (hits 0/92) constraint CS = {7} extremes [1, 1] + (hits 0/92) constraint CS = {28} extremes [1, 1] anywhere - (hits 0/92) constraint CS = {7} extremes [1, 1] + (hits 0/92) constraint CS = {28} extremes [1, 1] something related by reversed - constraint DS = {7} extremes [5, infinity) + constraint DS = {28} extremes [5, infinity) something related by - (hits 0/5) constraint DS = {7} extremes [4, infinity) + constraint DS = {28} extremes [4, infinity) something related by {...} - (hits 0/5) constraint DS = {7} extremes [4, infinity) + constraint DS = {28} extremes [4, infinity) - (hits 138/141) (matched: 'something preferably held') constraint CS = {6} extremes [1, 3] + (hits 138/138) (matched: 'something preferably held') constraint CS = {27} extremes [1, 3] (hits 0/13) constraint (none) extremes [2, infinity) @@ -9788,135 +9770,145 @@ {...} constraint (none) extremes [1, infinity) - hits 138/282 nti 6 constraint CS = {6} extremes [1, 3] + hits 138/276 nti 27 constraint CS = {27} extremes [1, 3] English: something - (hits 88/118) (matched: 'something') constraint CS = {6} extremes [1, 1] + (hits 88/115) (matched: 'something') constraint CS = {27} extremes [1, 1] things - (hits 4/30) (matched: 'things') constraint CS = {6} extremes [1, 1] + (hits 4/27) (matched: 'things') constraint CS = {27} extremes [1, 1] things inside - (hits 4/9) (matched: 'things inside') constraint CS = {6} extremes [2, 2] + (hits 4/9) (matched: 'things inside') constraint CS = {27} extremes [2, 2] things preferably held - (hits 3/14) (matched: 'things preferably held') constraint CS = {6} extremes [3, 3] + (hits 3/14) (matched: 'things preferably held') constraint CS = {27} extremes [3, 3] something preferably held - (hits 11/11) (matched: 'something preferably held') constraint CS = {6} extremes [3, 3] + (hits 11/11) (matched: 'something preferably held') constraint CS = {27} extremes [3, 3] other things - (hits 5/5) (matched: 'other things') constraint CS = {6} extremes [2, 2] + (hits 5/5) (matched: 'other things') constraint CS = {27} extremes [2, 2] someone - (hits 15/26) (matched: 'someone') constraint CS = {6} extremes [1, 1] + (hits 15/23) (matched: 'someone') constraint CS = {27} extremes [1, 1] somebody - (hits 0/11) constraint CS = {6} extremes [1, 1] + (hits 0/8) constraint CS = {27} extremes [1, 1] text - (hits 8/11) (matched: 'text') constraint CS = {6} extremes [1, 1] + (hits 8/8) (matched: 'text') constraint CS = {27} extremes [1, 1] topic - (hits 0/3) constraint CS = {6} extremes [1, 1] + constraint CS = {27} extremes [1, 1] a topic - constraint CS = {6} extremes [2, 2] + constraint CS = {27} extremes [2, 2] object - (hits 0/3) constraint CS = {6} extremes [1, 1] + constraint CS = {27} extremes [1, 1] an object - constraint CS = {6} extremes [2, 2] + constraint CS = {27} extremes [2, 2] something held - constraint CS = {6} extremes [2, 2] + constraint CS = {27} extremes [2, 2] things held - constraint CS = {6} extremes [2, 2] + constraint CS = {27} extremes [2, 2] - internal hits 3/326 nti 6 constraint (none) extremes [1, infinity) + internal hits 3/326 nti 30 constraint (none) extremes [1, infinity) - hits 1/4 nti 7 constraint DS = {8} extremes [2, infinity) + hits 1/4 nti 31 constraint DS = {29} extremes [2, infinity) English: - (hits 1/2) (matched: 'the file of cover art ( The cover art. )') constraint DS = {8} extremes [3, infinity) + (hits 1/2) (matched: 'the file of cover art ( The cover art. )') constraint DS = {29} extremes [3, infinity) - (hits 0/1) constraint DS = {8} extremes [2, infinity) + (hits 0/1) constraint DS = {29} extremes [2, infinity) - hits 1/4 nti 8 constraint DS = {8} extremes [2, infinity) + hits 1/4 nti 29 constraint DS = {29} extremes [2, infinity) English: file - (hits 1/2) (matched: 'file of cover art ( The cover art. )') constraint DS = {8} extremes [2, infinity) + (hits 1/2) (matched: 'file of cover art ( The cover art. )') constraint DS = {29} extremes [2, infinity) - hits 1/2 nti 10 constraint (none) extremes [1, infinity) + hits 2/690 nti 30 constraint DS = {30} extremes [2, infinity) + English: + figure {...} + (hits 2/289) (matched: 'figure of cover') constraint DS = {30} extremes [2, infinity) + + hits 1/2 nti 6 constraint (none) extremes [1, infinity) English: ( ) - (hits 1/1) (matched: 'of cover art ( The cover art. )') constraint DS = {10} extremes [4, infinity) + (hits 1/1) (matched: 'of cover art ( The cover art. )') constraint DS = {6} extremes [4, infinity) constraint (none) extremes [1, infinity) - hits 1/2 nti 9 constraint (none) extremes [1, infinity) + hits 1/2 nti 31 constraint (none) extremes [1, infinity) English: of cover art - (hits 1/1) (matched: 'of cover art') constraint CS = {9} extremes [3, 3] + (hits 1/1) (matched: 'of cover art') constraint CS = {31} extremes [3, 3] constraint (none) extremes [1, 1] {...} constraint (none) extremes [1, infinity) - nti 11 constraint CS = {11} extremes [3, 3] + nti 7 constraint CS = {7} extremes [3, 3] English: of cover art - constraint CS = {11} extremes [3, 3] + constraint CS = {7} extremes [3, 3] - hits 0/2 nti 8 constraint DS = {12} extremes [2, infinity) + hits 0/2 nti 6 constraint DS = {8} extremes [2, infinity) English: - (hits 0/1) constraint DS = {12} extremes [3, infinity) + (hits 0/1) constraint DS = {8} extremes [3, infinity) - (hits 0/1) constraint DS = {12} extremes [2, infinity) + (hits 0/1) constraint DS = {8} extremes [2, infinity) - hits 0/2 nti 12 constraint DS = {12} extremes [2, infinity) + hits 0/2 nti 8 constraint DS = {8} extremes [2, infinity) English: file - (hits 0/1) constraint DS = {12} extremes [2, infinity) + (hits 0/1) constraint DS = {8} extremes [2, infinity) - nti 13 constraint (none) extremes [1, infinity) + hits 1/688 nti 9 constraint DS = {9} extremes [2, infinity) + English: + sound {...} + (hits 1/154) (matched: 'sound name understood') constraint DS = {9} extremes [2, infinity) + + nti 10 constraint (none) extremes [1, infinity) English: ( ) - constraint DS = {13} extremes [4, infinity) + constraint DS = {10} extremes [4, infinity) constraint (none) extremes [1, infinity) - nti 9 constraint (none) extremes [1, infinity) + nti 7 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, 1] {...} constraint (none) extremes [1, infinity) - hits 0/1078 nti 30 constraint (none) extremes [2, infinity) + hits 0/1078 nti 13 constraint (none) extremes [2, infinity) English: (hits 0/513) constraint (none) extremes [2, infinity) text - (hits 0/56) constraint DS = {29, 30} extremes [3, infinity) + (hits 0/343) constraint DS = {12, 13} extremes [3, infinity) binary - (hits 0/56) constraint DS = {29, 30} extremes [3, infinity) + (hits 0/343) constraint DS = {12, 13} extremes [3, infinity) - (hits 0/72) constraint DS = {29} extremes [2, infinity) + (hits 0/442) constraint DS = {12} extremes [2, infinity) - hits 0/144 nti 29 constraint DS = {29} extremes [2, infinity) + hits 0/884 nti 12 constraint DS = {12} extremes [2, infinity) English: {file ...} ( owned by ) - (hits 0/34) constraint DS = {29} extremes [7, infinity) + (hits 0/81) constraint DS = {12} extremes [7, infinity) {file ...} - (hits 0/72) constraint DS = {29} extremes [2, infinity) + (hits 0/442) constraint DS = {12} extremes [2, infinity) - nti 28 constraint (none) extremes [1, infinity) + nti 11 constraint (none) extremes [1, infinity) English: another project - constraint CS = {28} extremes [2, 2] + constraint CS = {11} extremes [2, 2] project {} - constraint DS = {28} extremes [2, 2] + constraint DS = {11} extremes [2, 2] {...} constraint (none) extremes [1, infinity) - nti 10 constraint (none) extremes [1, infinity) + nti 8 constraint (none) extremes [1, infinity) English: constraint (none) extremes [1, 1] {...} constraint (none) extremes [1, infinity) - nti 11 constraint DS = {14} extremes [2, infinity) + nti 9 constraint DS = {14} extremes [2, infinity) English: constraint DS = {14} extremes [3, infinity) @@ -9928,15 +9920,20 @@ called constraint DS = {14} extremes [2, infinity) - hits 451/2552 nti 15 constraint DS = {8, 15} extremes [6, infinity) + hits 0/688 nti 10 constraint (none) extremes [2, infinity) + English: + + (hits 0/330) constraint (none) extremes [2, infinity) + + hits 451/2552 nti 15 constraint DS = {15, 28} extremes [6, infinity) English: {...} ( ) - (hits 424/897) (matched long text) constraint DS = {8, 15} extremes [6, infinity) + (hits 424/884) (matched long text) constraint DS = {15, 28} extremes [6, infinity) {...} -- -- - (hits 27/473) (matched long text) constraint DS = {8, 15} extremes [6, infinity) + (hits 27/460) (matched long text) constraint DS = {15, 28} extremes [6, infinity) - hits 484/1196 nti 8 constraint DS = {8} extremes [3, 3] + hits 484/1196 nti 28 constraint DS = {28} extremes [3, 3] English: documented at {###} - (hits 484/493) (matched: 'documented at act_startvm') constraint DS = {8} extremes [3, 3] + (hits 484/501) (matched: 'documented at act_startvm') constraint DS = {28} extremes [3, 3] diff --git a/inform7/Downloads/syntax-diagnostics.txt b/inform7/Downloads/syntax-diagnostics.txt index 6dfa21161..5b85a6fd2 100644 --- a/inform7/Downloads/syntax-diagnostics.txt +++ b/inform7/Downloads/syntax-diagnostics.txt @@ -340,27 +340,27 @@ ROOT_NT COMMON_NOUN_NT'an object' UNPARSED_NOUN_NT'ambiguously plural' UNPARSED_NOUN_NT'ambiguously plural' - SENTENCE_NT'the indefinite article property translates into i6 as articl' + SENTENCE_NT'the indefinite article property translates into inter as art' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'indefinite article property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'article' - SENTENCE_NT'the printed plural name property translates into i6 as plura' + SENTENCE_NT'the printed plural name property translates into inter as pl' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'printed plural name property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'plural' - SENTENCE_NT'the printed name property translates into i6 as short_name' + SENTENCE_NT'the printed name property translates into inter as short_nam' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'printed name property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'short_name' - SENTENCE_NT'the plural-named property translates into i6 as pluralname' + SENTENCE_NT'the plural-named property translates into inter as pluralnam' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'plural-named property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'pluralname' - SENTENCE_NT'the ambiguously plural property translates into i6 as ambigp' + SENTENCE_NT'the ambiguously plural property translates into inter as amb' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'ambiguously plural property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ambigpluralname' - SENTENCE_NT'the proper-named property translates into i6 as proper' + SENTENCE_NT'the proper-named property translates into inter as proper' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'proper-named property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'proper' @@ -377,7 +377,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'parameter-object' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the parameter-object variable translates into i6 as paramete' + SENTENCE_NT'the parameter-object variable translates into inter as param' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parameter-object variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'parameter_value' @@ -403,7 +403,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the enable glulx acceleration rule' UNPARSED_NOUN_NT'first in for starting the virtual machine' - SENTENCE_NT'the enable glulx acceleration rule translates into i6 as ENA' + SENTENCE_NT'the enable glulx acceleration rule translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'enable glulx acceleration rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ENABLE_GLULX_ACCEL_R' @@ -415,7 +415,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the standard name printing rule' UNPARSED_NOUN_NT'last in the for printing the name rulebook' - SENTENCE_NT'the standard name printing rule translates into i6 as STANDA' + SENTENCE_NT'the standard name printing rule translates into inter as STA' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'standard name printing rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'STANDARD_NAME_PRINTING_R' @@ -4416,11 +4416,11 @@ ROOT_NT VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {special meaning: understand-as} UNPARSED_NOUN_NT'"out"' UNPARSED_NOUN_NT'outside' - SENTENCE_NT'the inside object translates into i6 as in_obj' + SENTENCE_NT'the inside object translates into inter as in_obj' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'inside object' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'in_obj' - SENTENCE_NT'the outside object translates into i6 as out_obj' + SENTENCE_NT'the outside object translates into inter as out_obj' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'outside object' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'out_obj' @@ -4463,7 +4463,7 @@ ROOT_NT PROPERTYCALLED_NT'called' UNPARSED_NOUN_NT'object' {indefinite 'an' n/m/f nom/acc s} UNPARSED_NOUN_NT'other side' - SENTENCE_NT'the other side property translates into i6 as door_to' + SENTENCE_NT'the other side property translates into inter as door_to' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'other side property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'door_to' @@ -4791,7 +4791,7 @@ ROOT_NT PROPER_NOUN_NT'yourself' PROPER_NOUN_NT'description' PROPER_NOUN_NT'"As good-looking as ever."' - SENTENCE_NT'the yourself object translates into i6 as selfobj' + SENTENCE_NT'the yourself object translates into inter as selfobj' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'yourself object' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'selfobj' @@ -4920,116 +4920,116 @@ ROOT_NT VERB_NT'is usually' {verb 'be' 3p s act IS_TENSE +ve} {certainty:likely} COMMON_NOUN_NT'player's holdall' {indefinite 'a' n/m/f nom/acc s} ADJECTIVE_NT'openable' - HEADING_NT'section 16 - inform 6 equivalents' (level 5) - SENTENCE_NT'the wearable property translates into i6 as clothing' + HEADING_NT'section 16 - inter identifier equivalents' (level 5) + SENTENCE_NT'the wearable property translates into inter as clothing' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'wearable property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'clothing' - SENTENCE_NT'the undescribed property translates into i6 as concealed' + SENTENCE_NT'the undescribed property translates into inter as concealed' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'undescribed property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'concealed' - SENTENCE_NT'the edible property translates into i6 as edible' + SENTENCE_NT'the edible property translates into inter as edible' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'edible property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'edible' - SENTENCE_NT'the enterable property translates into i6 as enterable' + SENTENCE_NT'the enterable property translates into inter as enterable' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'enterable property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'enterable' - SENTENCE_NT'the female property translates into i6 as female' + SENTENCE_NT'the female property translates into inter as female' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'female property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'female' - SENTENCE_NT'the mentioned property translates into i6 as mentioned' + SENTENCE_NT'the mentioned property translates into inter as mentioned' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'mentioned property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'mentioned' - SENTENCE_NT'the lit property translates into i6 as light' + SENTENCE_NT'the lit property translates into inter as light' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'lit property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'light' - SENTENCE_NT'the lighted property translates into i6 as light' + SENTENCE_NT'the lighted property translates into inter as light' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'lighted property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'light' - SENTENCE_NT'the lockable property translates into i6 as lockable' + SENTENCE_NT'the lockable property translates into inter as lockable' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'lockable property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'lockable' - SENTENCE_NT'the locked property translates into i6 as locked' + SENTENCE_NT'the locked property translates into inter as locked' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'locked property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'locked' - SENTENCE_NT'the handled property translates into i6 as moved' + SENTENCE_NT'the handled property translates into inter as moved' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'handled property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'moved' - SENTENCE_NT'the neuter property translates into i6 as neuter' + SENTENCE_NT'the neuter property translates into inter as neuter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'neuter property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'neuter' - SENTENCE_NT'the switched on property translates into i6 as on' + SENTENCE_NT'the switched on property translates into inter as on' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switched on property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'on' - SENTENCE_NT'the open property translates into i6 as open' + SENTENCE_NT'the open property translates into inter as open' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'open property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'open' - SENTENCE_NT'the openable property translates into i6 as openable' + SENTENCE_NT'the openable property translates into inter as openable' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'openable property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'openable' - SENTENCE_NT'the privately-named property translates into i6 as privately' + SENTENCE_NT'the privately-named property translates into inter as privat' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'privately-named property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'privately_named' - SENTENCE_NT'the pushable between rooms property translates into i6 as pu' + SENTENCE_NT'the pushable between rooms property translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'pushable between rooms property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'pushable' - SENTENCE_NT'the scenery property translates into i6 as scenery' + SENTENCE_NT'the scenery property translates into inter as scenery' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'scenery property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'scenery' - SENTENCE_NT'the fixed in place property translates into i6 as static' + SENTENCE_NT'the fixed in place property translates into inter as static' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'fixed in place property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'static' - SENTENCE_NT'the transparent property translates into i6 as transparent' + SENTENCE_NT'the transparent property translates into inter as transparen' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'transparent property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'transparent' - SENTENCE_NT'the visited property translates into i6 as visited' + SENTENCE_NT'the visited property translates into inter as visited' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'visited property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'visited' - SENTENCE_NT'the marked for listing property translates into i6 as workfl' + SENTENCE_NT'the marked for listing property translates into inter as wor' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'marked for listing property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'workflag' - SENTENCE_NT'the list grouping key property translates into i6 as list_to' + SENTENCE_NT'the list grouping key property translates into inter as list' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'list grouping key property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'list_together' - SENTENCE_NT'the carrying capacity property translates into i6 as capacit' + SENTENCE_NT'the carrying capacity property translates into inter as capa' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'carrying capacity property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'capacity' - SENTENCE_NT'the description property translates into i6 as description' + SENTENCE_NT'the description property translates into inter as descriptio' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'description property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'description' - SENTENCE_NT'the initial appearance property translates into i6 as initia' + SENTENCE_NT'the initial appearance property translates into inter as ini' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'initial appearance property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'initial' - SENTENCE_NT'the map region property translates into i6 as map_region' + SENTENCE_NT'the map region property translates into inter as map_region' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'map region property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'map_region' - SENTENCE_NT'the matching key property translates into i6 as with_key' + SENTENCE_NT'the matching key property translates into inter as with_key' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'matching key property' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'with_key' @@ -5040,7 +5040,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'player' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'person that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the player variable translates into i6 as player' + SENTENCE_NT'the player variable translates into inter as player' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'player variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'player' @@ -5072,27 +5072,27 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'darkness witnessed' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'truth state that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the location variable translates into i6 as real_location' + SENTENCE_NT'the location variable translates into inter as real_location' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'location variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'real_location' - SENTENCE_NT'the score variable translates into i6 as score' + SENTENCE_NT'the score variable translates into inter as score' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'score variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'score' - SENTENCE_NT'the last notified score variable translates into i6 as last_' + SENTENCE_NT'the last notified score variable translates into inter as la' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'last notified score variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'last_score' - SENTENCE_NT'the maximum score variable translates into i6 as MAX_SCORE' + SENTENCE_NT'the maximum score variable translates into inter as MAX_SCOR' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'maximum score variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'MAX_SCORE' - SENTENCE_NT'the turn count variable translates into i6 as turns' + SENTENCE_NT'the turn count variable translates into inter as turns' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'turn count variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'turns' - SENTENCE_NT'the time of day variable translates into i6 as the_time' + SENTENCE_NT'the time of day variable translates into inter as the_time' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'time of day variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'the_time' @@ -5117,23 +5117,23 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'item described' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the noun variable translates into i6 as noun' + SENTENCE_NT'the noun variable translates into inter as noun' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'noun variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'noun' - SENTENCE_NT'the second noun variable translates into i6 as second' + SENTENCE_NT'the second noun variable translates into inter as second' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'second noun variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'second' - SENTENCE_NT'the person asked variable translates into i6 as actor' + SENTENCE_NT'the person asked variable translates into inter as actor' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'person asked variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'actor' - SENTENCE_NT'the reason the action failed variable translates into i6 as ' + SENTENCE_NT'the reason the action failed variable translates into inter ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'reason the action failed variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'reason_the_action_failed' - SENTENCE_NT'the item described variable translates into i6 as self' + SENTENCE_NT'the item described variable translates into inter as self' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'item described variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'self' @@ -5154,19 +5154,19 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'particular possession' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'thing that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the person reaching variable translates into i6 as actor' + SENTENCE_NT'the person reaching variable translates into inter as actor' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'person reaching variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'actor' - SENTENCE_NT'the container in question variable translates into i6 as par' + SENTENCE_NT'the container in question variable translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'container in question variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'parameter_object' - SENTENCE_NT'the supporter in question variable translates into i6 as par' + SENTENCE_NT'the supporter in question variable translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'supporter in question variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'parameter_object' - SENTENCE_NT'the particular possession variable translates into i6 as par' + SENTENCE_NT'the particular possession variable translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'particular possession variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'particular_possession' @@ -5203,15 +5203,15 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'current item from the multiple object list' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the player's command variable translates into i6 as players_' + SENTENCE_NT'the player's command variable translates into inter as playe' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'player's command variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'players_command' - SENTENCE_NT'the matched text variable translates into i6 as matched_text' + SENTENCE_NT'the matched text variable translates into inter as matched_t' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'matched text variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'matched_text' - SENTENCE_NT'the topic understood variable translates into i6 as parsed_n' + SENTENCE_NT'the topic understood variable translates into inter as parse' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'topic understood variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'parsed_number' @@ -5236,11 +5236,11 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'right hand status line' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'text that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the left hand status line variable translates into i6 as lef' + SENTENCE_NT'the left hand status line variable translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'left hand status line variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'left_hand_status_line' - SENTENCE_NT'the right hand status line variable translates into i6 as ri' + SENTENCE_NT'the right hand status line variable translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'right hand status line variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'right_hand_status_line' @@ -5248,7 +5248,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'listing group size' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'number that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the listing group size variable translates into i6 as listin' + SENTENCE_NT'the listing group size variable translates into inter as lis' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'listing group size variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'listing_size' @@ -5257,7 +5257,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'prior named object' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the prior named object variable translates into i6 as prior_' + SENTENCE_NT'the prior named object variable translates into inter as pri' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'prior named object variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'prior_named_noun' @@ -5299,7 +5299,7 @@ ROOT_NT VERB_NT'is usually' {verb 'be' 3p s act IS_TENSE +ve} {certainty:likely} PROPER_NOUN_NT'story genre' {definite 'the' n/m/f s/p nom/acc} PROPER_NOUN_NT'"Fiction"' - SENTENCE_NT'the story title variable translates into i6 as Story' + SENTENCE_NT'the story title variable translates into inter as Story' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'story title variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Story' @@ -5313,7 +5313,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'i6-nothing-constant' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the i6-nothing-constant variable translates into i6 as nothi' + SENTENCE_NT'the i6-nothing-constant variable translates into inter as no' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'i6-nothing-constant variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'nothing' @@ -5321,7 +5321,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'i6-varying-global' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the i6-varying-global variable translates into i6 as nothing' + SENTENCE_NT'the i6-varying-global variable translates into inter as noth' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'i6-varying-global variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'nothing' @@ -5329,7 +5329,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'item-pushed-between-rooms' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the item-pushed-between-rooms variable translates into i6 as' + SENTENCE_NT'the item-pushed-between-rooms variable translates into inter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'item-pushed-between-rooms variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'move_pushing' @@ -5337,7 +5337,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'actor-location' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the actor-location variable translates into i6 as actor_loca' + SENTENCE_NT'the actor-location variable translates into inter as actor_l' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'actor-location variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'actor_location' @@ -5345,7 +5345,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'scene being changed' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'scene that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the scene being changed variable translates into i6 as param' + SENTENCE_NT'the scene being changed variable translates into inter as pa' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'scene being changed variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'parameter_value' @@ -5537,7 +5537,7 @@ ROOT_NT PROPER_NOUN_NT'multiple action processing rules' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'rulebook' {indefinite 'a' n/m/f nom/acc s} HEADING_NT'section 2 - the standard rules' (level 5) - SENTENCE_NT'the little-used do nothing rule translates into i6 as LITTLE' + SENTENCE_NT'the little-used do nothing rule translates into inter as LIT' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'little-used do nothing rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'LITTLE_USED_DO_NOTHING_R' @@ -5581,23 +5581,23 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the initialise memory rule' UNPARSED_NOUN_NT'first in the startup rulebook' - SENTENCE_NT'the virtual machine startup rule translates into i6 as VIRTU' + SENTENCE_NT'the virtual machine startup rule translates into inter as VI' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'virtual machine startup rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'VIRTUAL_MACHINE_STARTUP_R' - SENTENCE_NT'the initialise memory rule translates into i6 as INITIALISE_' + SENTENCE_NT'the initialise memory rule translates into inter as INITIALI' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'initialise memory rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'INITIALISE_MEMORY_R' - SENTENCE_NT'the seed random number generator rule translates into i6 as ' + SENTENCE_NT'the seed random number generator rule translates into inter ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'seed random number generator rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SEED_RANDOM_NUMBER_GENERATOR_R' - SENTENCE_NT'the update chronological records rule translates into i6 as ' + SENTENCE_NT'the update chronological records rule translates into inter ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'update chronological records rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'UPDATE_CHRONOLOGICAL_RECORDS_R' - SENTENCE_NT'the position player in model world rule translates into i6 a' + SENTENCE_NT'the position player in model world rule translates into inte' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'position player in model world rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'POSITION_PLAYER_IN_MODEL_R' @@ -5710,31 +5710,31 @@ ROOT_NT INVOCATION_NT'issue score notification message' INVOCATION_LIST_NT'now the last notified score is the score' CONDITION_CONTEXT_NT'the last notified score is the score' - SENTENCE_NT'the adjust light rule translates into i6 as ADJUST_LIGHT_R w' + SENTENCE_NT'the adjust light rule translates into inter as ADJUST_LIGHT_' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'adjust light rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ADJUST_LIGHT_R' UNPARSED_NOUN_NT'"[It] [are] [if story tense is present tense]now [end if]pit' - SENTENCE_NT'the advance time rule translates into i6 as ADVANCE_TIME_R' + SENTENCE_NT'the advance time rule translates into inter as ADVANCE_TIME_' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'advance time rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ADVANCE_TIME_R' - SENTENCE_NT'the generate action rule translates into i6 as GENERATE_ACTI' + SENTENCE_NT'the generate action rule translates into inter as GENERATE_A' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'generate action rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'GENERATE_ACTION_R' AND_NT',' UNPARSED_NOUN_NT'"(considering the first sixteen objects only)[command clarif' UNPARSED_NOUN_NT'"Nothing to do!" ( b )' - SENTENCE_NT'the note object acquisitions rule translates into i6 as NOTE' + SENTENCE_NT'the note object acquisitions rule translates into inter as N' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'note object acquisitions rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'NOTE_OBJECT_ACQUISITIONS_R' - SENTENCE_NT'the parse command rule translates into i6 as PARSE_COMMAND_R' + SENTENCE_NT'the parse command rule translates into inter as PARSE_COMMAN' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parse command rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PARSE_COMMAND_R' - SENTENCE_NT'the timed events rule translates into i6 as TIMED_EVENTS_R' + SENTENCE_NT'the timed events rule translates into inter as TIMED_EVENTS_' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'timed events rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'TIMED_EVENTS_R' @@ -5766,11 +5766,11 @@ ROOT_NT INVOCATION_NT'carry out the printing the player's obituary activity' RVALUE_CONTEXT_NT'printing the player's obituary' {printing the player's obituary = ACTIVITY_MC}'printing the player's obituary'-activity - SENTENCE_NT'the resurrect player if asked rule translates into i6 as RES' + SENTENCE_NT'the resurrect player if asked rule translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'resurrect player if asked rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'RESURRECT_PLAYER_IF_ASKED_R' - SENTENCE_NT'the ask the final question rule translates into i6 as ASK_FI' + SENTENCE_NT'the ask the final question rule translates into inter as ASK' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'ask the final question rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ASK_FINAL_QUESTION_R' @@ -5778,7 +5778,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the scene change machinery rule' UNPARSED_NOUN_NT'last in the scene changing rulebook' - SENTENCE_NT'the scene change machinery rule translates into i6 as SCENE_' + SENTENCE_NT'the scene change machinery rule translates into inter as SCE' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'scene change machinery rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SCENE_CHANGE_MACHINERY_R' @@ -5881,17 +5881,17 @@ ROOT_NT CODE_BLOCK_NT INVOCATION_LIST_NT'rule succeeds' INVOCATION_NT'rule succeeds' - SENTENCE_NT'the basic accessibility rule translates into i6 as BASIC_ACC' + SENTENCE_NT'the basic accessibility rule translates into inter as BASIC_' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'basic accessibility rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'BASIC_ACCESSIBILITY_R' UNPARSED_NOUN_NT'"You must name something more substantial." ( a )' - SENTENCE_NT'the basic visibility rule translates into i6 as BASIC_VISIBI' + SENTENCE_NT'the basic visibility rule translates into inter as BASIC_VIS' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'basic visibility rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'BASIC_VISIBILITY_R' UNPARSED_NOUN_NT'"[It] [are] pitch dark, and [we] [can't see] a thing." ( a )' - SENTENCE_NT'the carrying requirements rule translates into i6 as CARRYIN' + SENTENCE_NT'the carrying requirements rule translates into inter as CARR' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'carrying requirements rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'CARRYING_REQUIREMENTS_R' @@ -5900,7 +5900,7 @@ ROOT_NT UNPARSED_NOUN_NT'requested actions require persuasion rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'REQUESTED_ACTIONS_REQUIRE_R' UNPARSED_NOUN_NT'"[The noun] [have] better things to do." ( a )' - SENTENCE_NT'the carry out requested actions rule translates into i6 as C' + SENTENCE_NT'the carry out requested actions rule translates into inter a' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'carry out requested actions rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'CARRY_OUT_REQUESTED_ACTIONS_R' @@ -6053,7 +6053,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the access through barriers rule' UNPARSED_NOUN_NT'last in the accessibility rules' - SENTENCE_NT'the access through barriers rule translates into i6 as ACCES' + SENTENCE_NT'the access through barriers rule translates into inter as AC' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'access through barriers rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ACCESS_THROUGH_BARRIERS_R' @@ -6071,7 +6071,7 @@ ROOT_NT UNPARSED_NOUN_NT'can't reach inside closed containers rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'CANT_REACH_INSIDE_CLOSED_R' UNPARSED_NOUN_NT'"[The noun] [aren't] open." ( a )' - SENTENCE_NT'the can't reach inside rooms rule translates into i6 as CANT' + SENTENCE_NT'the can't reach inside rooms rule translates into inter as C' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'can't reach inside rooms rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'CANT_REACH_INSIDE_ROOMS_R' @@ -6208,12 +6208,12 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'latest parser error' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'command parser error that varies' {indefinite 'a' n/m/f nom/acc s} - SENTENCE_NT'the latest parser error variable translates into i6 as etype' + SENTENCE_NT'the latest parser error variable translates into inter as et' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'latest parser error variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'etype' HEADING_NT'section 9 - responses for internal rules' (level 5) - SENTENCE_NT'the list writer internal rule translates into i6 as LIST_WRI' + SENTENCE_NT'the list writer internal rule translates into inter as LIST_' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'list writer internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'LIST_WRITER_INTERNAL_R' @@ -6266,7 +6266,7 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"Nothing" ( x )' UNPARSED_NOUN_NT'"nothing" ( y )' - SENTENCE_NT'the action processing internal rule translates into i6 as AC' + SENTENCE_NT'the action processing internal rule translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'action processing internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ACTION_PROCESSING_INTERNAL_R' @@ -6291,7 +6291,7 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"(Since something dramatic has happened, your list of comman' UNPARSED_NOUN_NT'"I didn't understand that instruction." ( k )' - SENTENCE_NT'the parser error internal rule translates into i6 as PARSER_' + SENTENCE_NT'the parser error internal rule translates into inter as PARS' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parser error internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PARSER_ERROR_INTERNAL_R' @@ -6343,7 +6343,7 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"To talk to someone, try 'someone, hello' or some such." ( w' UNPARSED_NOUN_NT'"I beg your pardon?" ( x )' - SENTENCE_NT'the parser nothing error internal rule translates into i6 as' + SENTENCE_NT'the parser nothing error internal rule translates into inter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parser nothing error internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PARSER_N_ERROR_INTERNAL_R' @@ -6358,12 +6358,12 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"[The noun] [aren't] open." ( e )' UNPARSED_NOUN_NT'"[The noun] [are] empty." ( f )' - SENTENCE_NT'the darkness name internal rule translates into i6 as DARKNE' + SENTENCE_NT'the darkness name internal rule translates into inter as DAR' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'darkness name internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'DARKNESS_NAME_INTERNAL_R' UNPARSED_NOUN_NT'"Darkness" ( a )' - SENTENCE_NT'the parser command internal rule translates into i6 as PARSE' + SENTENCE_NT'the parser command internal rule translates into inter as PA' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parser command internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PARSER_COMMAND_INTERNAL_R' @@ -6374,7 +6374,7 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"'Oops' can only correct a single word." ( c )' UNPARSED_NOUN_NT'"You can hardly repeat that." ( d )' - SENTENCE_NT'the parser clarification internal rule translates into i6 as' + SENTENCE_NT'the parser clarification internal rule translates into inter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'parser clarification internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PARSER_CLARIF_INTERNAL_R' @@ -6393,12 +6393,12 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'"that" ( g )' UNPARSED_NOUN_NT'" or " ( h )' - SENTENCE_NT'the yes or no question internal rule translates into i6 as Y' + SENTENCE_NT'the yes or no question internal rule translates into inter a' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'yes or no question internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'YES_OR_NO_QUESTION_INTERNAL_R' UNPARSED_NOUN_NT'"Please answer yes or no." ( a )' - SENTENCE_NT'the print protagonist internal rule translates into i6 as PR' + SENTENCE_NT'the print protagonist internal rule translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'print protagonist internal rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PRINT_PROTAGONIST_INTERNAL_R' @@ -6478,7 +6478,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the standard contents listing rule' UNPARSED_NOUN_NT'last in the for listing contents rulebook' - SENTENCE_NT'the standard contents listing rule translates into i6 as STA' + SENTENCE_NT'the standard contents listing rule translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'standard contents listing rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'STANDARD_CONTENTS_LISTING_R' @@ -6613,7 +6613,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the standard implicit taking rule' UNPARSED_NOUN_NT'last in for implicitly taking' - SENTENCE_NT'the standard implicit taking rule translates into i6 as STAN' + SENTENCE_NT'the standard implicit taking rule translates into inter as S' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'standard implicit taking rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'STANDARD_IMPLICIT_TAKING_R' @@ -6641,7 +6641,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the display final status line rule' UNPARSED_NOUN_NT'last in for printing the player's obituary' - SENTENCE_NT'the print obituary headline rule translates into i6 as PRINT' + SENTENCE_NT'the print obituary headline rule translates into inter as PR' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'print obituary headline rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PRINT_OBITUARY_HEADLINE_R' @@ -6650,11 +6650,11 @@ ROOT_NT AND_NT',' UNPARSED_NOUN_NT'" You have won " ( b )' UNPARSED_NOUN_NT'" The End " ( c )' - SENTENCE_NT'the print final score rule translates into i6 as PRINT_FINAL' + SENTENCE_NT'the print final score rule translates into inter as PRINT_FI' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'print final score rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PRINT_FINAL_SCORE_R' - SENTENCE_NT'the display final status line rule translates into i6 as DIS' + SENTENCE_NT'the display final status line rule translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'display final status line rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'DISPLAY_FINAL_STATUS_LINE_R' @@ -6662,19 +6662,19 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-activity} UNPARSED_NOUN_NT'handling the final question' UNPARSED_NOUN_NT'an activity' - SENTENCE_NT'the immediately restart the vm rule translates into i6 as IM' + SENTENCE_NT'the immediately restart the vm rule translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'immediately restart the vm rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'IMMEDIATELY_RESTART_VM_R' - SENTENCE_NT'the immediately restore saved game rule translates into i6 a' + SENTENCE_NT'the immediately restore saved game rule translates into inte' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'immediately restore saved game rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'IMMEDIATELY_RESTORE_SAVED_R' - SENTENCE_NT'the immediately quit rule translates into i6 as IMMEDIATELY_' + SENTENCE_NT'the immediately quit rule translates into inter as IMMEDIATE' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'immediately quit rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'IMMEDIATELY_QUIT_R' - SENTENCE_NT'the immediately undo rule translates into i6 as IMMEDIATELY_' + SENTENCE_NT'the immediately undo rule translates into inter as IMMEDIATE' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'immediately undo rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'IMMEDIATELY_UNDO_R' @@ -6712,7 +6712,7 @@ ROOT_NT INVOCATION_NT'"> [run paragraph on]" ( a )' RVALUE_CONTEXT_NT'"> [run paragraph on]" ( a )' CONSTANT_NT'"> [run paragraph on]" ( a )'-text - SENTENCE_NT'the read the final answer rule translates into i6 as READ_FI' + SENTENCE_NT'the read the final answer rule translates into inter as READ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'read the final answer rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'READ_FINAL_ANSWER_R' @@ -7893,7 +7893,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'taking inventory' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the taking inventory action translates into i6 as Inv' + SENTENCE_NT'the taking inventory action translates into inter as Inv' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'taking inventory action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Inv' @@ -7951,7 +7951,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'taking' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the taking action translates into i6 as Take' + SENTENCE_NT'the taking action translates into inter as Take' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'taking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Take' @@ -8391,7 +8391,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'removing it from' UNPARSED_NOUN_NT'applying to two things' - SENTENCE_NT'the removing it from action translates into i6 as Remove' + SENTENCE_NT'the removing it from action translates into inter as Remove' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'removing it from action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Remove' @@ -8482,7 +8482,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'dropping' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the dropping action translates into i6 as Drop' + SENTENCE_NT'the dropping action translates into inter as Drop' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'dropping action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Drop' @@ -8729,7 +8729,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'putting it on' UNPARSED_NOUN_NT'applying to two things' - SENTENCE_NT'the putting it on action translates into i6 as PutOn' + SENTENCE_NT'the putting it on action translates into inter as PutOn' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'putting it on action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PutOn' @@ -8977,7 +8977,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'inserting it into' UNPARSED_NOUN_NT'applying to two things' - SENTENCE_NT'the inserting it into action translates into i6 as Insert' + SENTENCE_NT'the inserting it into action translates into inter as Insert' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'inserting it into action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Insert' @@ -9248,7 +9248,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'eating' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the eating action translates into i6 as Eat' + SENTENCE_NT'the eating action translates into inter as Eat' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'eating action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Eat' @@ -9395,7 +9395,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'going' UNPARSED_NOUN_NT'applying to one visible thing' - SENTENCE_NT'the going action translates into i6 as Go' + SENTENCE_NT'the going action translates into inter as Go' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'going action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Go' @@ -10102,7 +10102,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'entering' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the entering action translates into i6 as Enter' + SENTENCE_NT'the entering action translates into inter as Enter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'entering action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Enter' @@ -10678,7 +10678,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'exiting' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the exiting action translates into i6 as Exit' + SENTENCE_NT'the exiting action translates into inter as Exit' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'exiting action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Exit' @@ -10872,7 +10872,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'getting off' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the getting off action translates into i6 as GetOff' + SENTENCE_NT'the getting off action translates into inter as GetOff' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'getting off action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'GetOff' @@ -10965,7 +10965,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'looking' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the looking action translates into i6 as Look' + SENTENCE_NT'the looking action translates into inter as Look' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'looking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Look' @@ -11379,7 +11379,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'examining' UNPARSED_NOUN_NT'applying to one visible thing and requiring light' - SENTENCE_NT'the examining action translates into i6 as Examine' + SENTENCE_NT'the examining action translates into inter as Examine' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'examining action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Examine' @@ -11572,7 +11572,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'looking under' UNPARSED_NOUN_NT'applying to one visible thing and requiring light' - SENTENCE_NT'the looking under action translates into i6 as LookUnder' + SENTENCE_NT'the looking under action translates into inter as LookUnder' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'looking under action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'LookUnder' @@ -11624,7 +11624,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'searching' UNPARSED_NOUN_NT'applying to one thing and requiring light' - SENTENCE_NT'the searching action translates into i6 as Search' + SENTENCE_NT'the searching action translates into inter as Search' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'searching action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Search' @@ -11754,7 +11754,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'consulting it about' UNPARSED_NOUN_NT'applying to one thing and one topic' - SENTENCE_NT'the consulting it about action translates into i6 as Consult' + SENTENCE_NT'the consulting it about action translates into inter as Cons' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'consulting it about action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Consult' @@ -11789,7 +11789,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'locking it with' UNPARSED_NOUN_NT'applying to one thing and one carried thing' - SENTENCE_NT'the locking it with action translates into i6 as Lock' + SENTENCE_NT'the locking it with action translates into inter as Lock' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'locking it with action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Lock' @@ -11934,7 +11934,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'unlocking it with' UNPARSED_NOUN_NT'applying to one thing and one carried thing' - SENTENCE_NT'the unlocking it with action translates into i6 as Unlock' + SENTENCE_NT'the unlocking it with action translates into inter as Unlock' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'unlocking it with action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Unlock' @@ -12058,7 +12058,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'switching on' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the switching on action translates into i6 as SwitchOn' + SENTENCE_NT'the switching on action translates into inter as SwitchOn' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switching on action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SwitchOn' @@ -12137,7 +12137,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'switching off' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the switching off action translates into i6 as SwitchOff' + SENTENCE_NT'the switching off action translates into inter as SwitchOff' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switching off action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SwitchOff' @@ -12216,7 +12216,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'opening' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the opening action translates into i6 as Open' + SENTENCE_NT'the opening action translates into inter as Open' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'opening action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Open' @@ -12389,7 +12389,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'closing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the closing action translates into i6 as Close' + SENTENCE_NT'the closing action translates into inter as Close' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'closing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Close' @@ -12494,7 +12494,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'wearing' UNPARSED_NOUN_NT'applying to one carried thing' - SENTENCE_NT'the wearing action translates into i6 as Wear' + SENTENCE_NT'the wearing action translates into inter as Wear' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'wearing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Wear' @@ -12606,7 +12606,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'taking off' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the taking off action translates into i6 as Disrobe' + SENTENCE_NT'the taking off action translates into inter as Disrobe' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'taking off action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Disrobe' @@ -12699,7 +12699,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'giving it to' UNPARSED_NOUN_NT'applying to one carried thing and one thing' - SENTENCE_NT'the giving it to action translates into i6 as Give' + SENTENCE_NT'the giving it to action translates into inter as Give' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'giving it to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Give' @@ -12877,7 +12877,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'showing it to' UNPARSED_NOUN_NT'applying to one carried thing and one visible thing' - SENTENCE_NT'the showing it to action translates into i6 as Show' + SENTENCE_NT'the showing it to action translates into inter as Show' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'showing it to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Show' @@ -12942,7 +12942,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'waking' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the waking action translates into i6 as WakeOther' + SENTENCE_NT'the waking action translates into inter as WakeOther' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'waking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'WakeOther' @@ -12974,7 +12974,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'throwing it at' UNPARSED_NOUN_NT'applying to one carried thing and one visible thing' - SENTENCE_NT'the throwing it at action translates into i6 as ThrowAt' + SENTENCE_NT'the throwing it at action translates into inter as ThrowAt' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'throwing it at action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ThrowAt' @@ -13054,7 +13054,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'attacking' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the attacking action translates into i6 as Attack' + SENTENCE_NT'the attacking action translates into inter as Attack' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'attacking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Attack' @@ -13086,7 +13086,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'kissing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the kissing action translates into i6 as Kiss' + SENTENCE_NT'the kissing action translates into inter as Kiss' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'kissing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Kiss' @@ -13137,7 +13137,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'answering it that' UNPARSED_NOUN_NT'applying to one thing and one topic' - SENTENCE_NT'the answering it that action translates into i6 as Answer' + SENTENCE_NT'the answering it that action translates into inter as Answer' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'answering it that action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Answer' @@ -13169,7 +13169,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'telling it about' UNPARSED_NOUN_NT'applying to one thing and one topic' - SENTENCE_NT'the telling it about action translates into i6 as Tell' + SENTENCE_NT'the telling it about action translates into inter as Tell' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'telling it about action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Tell' @@ -13222,7 +13222,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'asking it about' UNPARSED_NOUN_NT'applying to one thing and one topic' - SENTENCE_NT'the asking it about action translates into i6 as Ask' + SENTENCE_NT'the asking it about action translates into inter as Ask' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'asking it about action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Ask' @@ -13254,7 +13254,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'asking it for' UNPARSED_NOUN_NT'applying to two things' - SENTENCE_NT'the asking it for action translates into i6 as AskFor' + SENTENCE_NT'the asking it for action translates into inter as AskFor' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'asking it for action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'AskFor' @@ -13297,7 +13297,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'waiting' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the waiting action translates into i6 as Wait' + SENTENCE_NT'the waiting action translates into inter as Wait' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'waiting action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Wait' @@ -13342,7 +13342,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'touching' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the touching action translates into i6 as Touch' + SENTENCE_NT'the touching action translates into inter as Touch' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'touching action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Touch' @@ -13473,7 +13473,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'waving' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the waving action translates into i6 as Wave' + SENTENCE_NT'the waving action translates into inter as Wave' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'waving action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Wave' @@ -13537,7 +13537,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'pulling' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the pulling action translates into i6 as Pull' + SENTENCE_NT'the pulling action translates into inter as Pull' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'pulling action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Pull' @@ -13645,7 +13645,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'pushing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the pushing action translates into i6 as Push' + SENTENCE_NT'the pushing action translates into inter as Push' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'pushing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Push' @@ -13753,7 +13753,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'turning' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the turning action translates into i6 as Turn' + SENTENCE_NT'the turning action translates into inter as Turn' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'turning action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Turn' @@ -13861,7 +13861,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'pushing it to' UNPARSED_NOUN_NT'applying to one thing and one visible thing' - SENTENCE_NT'the pushing it to action translates into i6 as PushDir' + SENTENCE_NT'the pushing it to action translates into inter as PushDir' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'pushing it to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'PushDir' @@ -13981,7 +13981,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'squeezing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the squeezing action translates into i6 as Squeeze' + SENTENCE_NT'the squeezing action translates into inter as Squeeze' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'squeezing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Squeeze' @@ -14046,7 +14046,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'saying yes' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the saying yes action translates into i6 as Yes' + SENTENCE_NT'the saying yes action translates into inter as Yes' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'saying yes action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Yes' @@ -14075,7 +14075,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'saying no' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the saying no action translates into i6 as No' + SENTENCE_NT'the saying no action translates into inter as No' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'saying no action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'No' @@ -14104,7 +14104,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'burning' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the burning action translates into i6 as Burn' + SENTENCE_NT'the burning action translates into inter as Burn' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'burning action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Burn' @@ -14133,7 +14133,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'waking up' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the waking up action translates into i6 as Wake' + SENTENCE_NT'the waking up action translates into inter as Wake' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'waking up action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Wake' @@ -14164,7 +14164,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'thinking' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the thinking action translates into i6 as Think' + SENTENCE_NT'the thinking action translates into inter as Think' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'thinking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Think' @@ -14193,7 +14193,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'smelling' UNPARSED_NOUN_NT'applying to nothing or one thing' - SENTENCE_NT'the smelling action translates into i6 as Smell' + SENTENCE_NT'the smelling action translates into inter as Smell' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'smelling action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Smell' @@ -14235,7 +14235,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'listening to' UNPARSED_NOUN_NT'applying to nothing or one thing and abbreviable' - SENTENCE_NT'the listening to action translates into i6 as Listen' + SENTENCE_NT'the listening to action translates into inter as Listen' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'listening to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Listen' @@ -14277,7 +14277,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'tasting' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the tasting action translates into i6 as Taste' + SENTENCE_NT'the tasting action translates into inter as Taste' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'tasting action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Taste' @@ -14319,7 +14319,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'cutting' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the cutting action translates into i6 as Cut' + SENTENCE_NT'the cutting action translates into inter as Cut' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'cutting action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Cut' @@ -14348,7 +14348,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'jumping' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the jumping action translates into i6 as Jump' + SENTENCE_NT'the jumping action translates into inter as Jump' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'jumping action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Jump' @@ -14390,7 +14390,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'tying it to' UNPARSED_NOUN_NT'applying to two things' - SENTENCE_NT'the tying it to action translates into i6 as Tie' + SENTENCE_NT'the tying it to action translates into inter as Tie' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'tying it to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Tie' @@ -14419,7 +14419,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'drinking' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the drinking action translates into i6 as Drink' + SENTENCE_NT'the drinking action translates into inter as Drink' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'drinking action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Drink' @@ -14450,7 +14450,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'saying sorry' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the saying sorry action translates into i6 as Sorry' + SENTENCE_NT'the saying sorry action translates into inter as Sorry' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'saying sorry action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Sorry' @@ -14484,7 +14484,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'swinging' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the swinging action translates into i6 as Swing' + SENTENCE_NT'the swinging action translates into inter as Swing' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'swinging action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Swing' @@ -14515,7 +14515,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'rubbing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the rubbing action translates into i6 as Rub' + SENTENCE_NT'the rubbing action translates into inter as Rub' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'rubbing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Rub' @@ -14578,7 +14578,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'setting it to' UNPARSED_NOUN_NT'applying to one thing and one topic' - SENTENCE_NT'the setting it to action translates into i6 as SetTo' + SENTENCE_NT'the setting it to action translates into inter as SetTo' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'setting it to action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SetTo' @@ -14607,7 +14607,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'waving hands' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the waving hands action translates into i6 as WaveHands' + SENTENCE_NT'the waving hands action translates into inter as WaveHands' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'waving hands action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'WaveHands' @@ -14649,7 +14649,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'buying' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the buying action translates into i6 as Buy' + SENTENCE_NT'the buying action translates into inter as Buy' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'buying action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Buy' @@ -14680,7 +14680,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'climbing' UNPARSED_NOUN_NT'applying to one thing' - SENTENCE_NT'the climbing action translates into i6 as Climb' + SENTENCE_NT'the climbing action translates into inter as Climb' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'climbing action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Climb' @@ -14709,7 +14709,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'sleeping' UNPARSED_NOUN_NT'applying to nothing' - SENTENCE_NT'the sleeping action translates into i6 as Sleep' + SENTENCE_NT'the sleeping action translates into inter as Sleep' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'sleeping action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Sleep' @@ -14739,7 +14739,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'quitting the game' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the quitting the game action translates into i6 as Quit' + SENTENCE_NT'the quitting the game action translates into inter as Quit' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'quitting the game action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Quit' @@ -14747,7 +14747,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the quit the game rule' UNPARSED_NOUN_NT'in the carry out quitting the game rulebook' - SENTENCE_NT'the quit the game rule translates into i6 as QUIT_THE_GAME_R' + SENTENCE_NT'the quit the game rule translates into inter as QUIT_THE_GAM' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'quit the game rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'QUIT_THE_GAME_R' @@ -14756,7 +14756,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'saving the game' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the saving the game action translates into i6 as Save' + SENTENCE_NT'the saving the game action translates into inter as Save' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'saving the game action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Save' @@ -14764,7 +14764,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the save the game rule' UNPARSED_NOUN_NT'in the carry out saving the game rulebook' - SENTENCE_NT'the save the game rule translates into i6 as SAVE_THE_GAME_R' + SENTENCE_NT'the save the game rule translates into inter as SAVE_THE_GAM' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'save the game rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SAVE_THE_GAME_R' @@ -14775,7 +14775,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'restoring the game' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the restoring the game action translates into i6 as Restore' + SENTENCE_NT'the restoring the game action translates into inter as Resto' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'restoring the game action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Restore' @@ -14783,7 +14783,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the restore the game rule' UNPARSED_NOUN_NT'in the carry out restoring the game rulebook' - SENTENCE_NT'the restore the game rule translates into i6 as RESTORE_THE_' + SENTENCE_NT'the restore the game rule translates into inter as RESTORE_T' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'restore the game rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'RESTORE_THE_GAME_R' @@ -14794,7 +14794,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'restarting the game' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the restarting the game action translates into i6 as Restart' + SENTENCE_NT'the restarting the game action translates into inter as Rest' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'restarting the game action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Restart' @@ -14802,7 +14802,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the restart the game rule' UNPARSED_NOUN_NT'in the carry out restarting the game rulebook' - SENTENCE_NT'the restart the game rule translates into i6 as RESTART_THE_' + SENTENCE_NT'the restart the game rule translates into inter as RESTART_T' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'restart the game rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'RESTART_THE_GAME_R' @@ -14813,7 +14813,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'verifying the story file' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the verifying the story file action translates into i6 as Ve' + SENTENCE_NT'the verifying the story file action translates into inter as' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'verifying the story file action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Verify' @@ -14821,7 +14821,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the verify the story file rule' UNPARSED_NOUN_NT'in the carry out verifying the story file rulebook' - SENTENCE_NT'the verify the story file rule translates into i6 as VERIFY_' + SENTENCE_NT'the verify the story file rule translates into inter as VERI' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'verify the story file rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'VERIFY_THE_STORY_FILE_R' @@ -14840,7 +14840,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the switch the story transcript on rule' UNPARSED_NOUN_NT'in the carry out switching the story transcript on rulebook' - SENTENCE_NT'the switch the story transcript on rule translates into i6 a' + SENTENCE_NT'the switch the story transcript on rule translates into inte' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switch the story transcript on rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SWITCH_TRANSCRIPT_ON_R' @@ -14861,7 +14861,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the switch the story transcript off rule' UNPARSED_NOUN_NT'in the carry out switching the story transcript off rulebook' - SENTENCE_NT'the switch the story transcript off rule translates into i6 ' + SENTENCE_NT'the switch the story transcript off rule translates into int' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switch the story transcript off rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SWITCH_TRANSCRIPT_OFF_R' @@ -14882,7 +14882,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the announce the story file version rule' UNPARSED_NOUN_NT'in the carry out requesting the story file version rulebook' - SENTENCE_NT'the announce the story file version rule translates into i6 ' + SENTENCE_NT'the announce the story file version rule translates into int' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'announce the story file version rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ANNOUNCE_STORY_FILE_VERSION_R' @@ -14890,7 +14890,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: new-action} UNPARSED_NOUN_NT'requesting the score' UNPARSED_NOUN_NT'out of world and applying to nothing' - SENTENCE_NT'the requesting the score action translates into i6 as Score' + SENTENCE_NT'the requesting the score action translates into inter as Sco' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'requesting the score action' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'Score' @@ -14898,7 +14898,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the announce the score rule' UNPARSED_NOUN_NT'in the carry out requesting the score rulebook' - SENTENCE_NT'the announce the score rule translates into i6 as ANNOUNCE_S' + SENTENCE_NT'the announce the score rule translates into inter as ANNOUNC' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'announce the score rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ANNOUNCE_SCORE_R' @@ -14998,7 +14998,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the switch score notification on rule' UNPARSED_NOUN_NT'in the carry out switching score notification on rulebook' - SENTENCE_NT'the switch score notification on rule translates into i6 as ' + SENTENCE_NT'the switch score notification on rule translates into inter ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switch score notification on rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SWITCH_SCORE_NOTIFY_ON_R' @@ -15023,7 +15023,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the switch score notification off rule' UNPARSED_NOUN_NT'in the carry out switching score notification off rulebook' - SENTENCE_NT'the switch score notification off rule translates into i6 as' + SENTENCE_NT'the switch score notification off rule translates into inter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'switch score notification off rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'SWITCH_SCORE_NOTIFY_OFF_R' @@ -15048,7 +15048,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} {special meaning: rule-listed-in} UNPARSED_NOUN_NT'the announce the pronoun meanings rule' UNPARSED_NOUN_NT'in the carry out requesting the pronoun meanings rulebook' - SENTENCE_NT'the announce the pronoun meanings rule translates into i6 as' + SENTENCE_NT'the announce the pronoun meanings rule translates into inter' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'announce the pronoun meanings rule' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'ANNOUNCE_PRONOUN_MEANINGS_R' @@ -15688,7 +15688,7 @@ ROOT_NT VERB_NT'understand' {verb 'understand' 3p p act IS_TENSE +ve} {special meaning: understand-as} UNPARSED_NOUN_NT'"notify off"' UNPARSED_NOUN_NT'switching score notification off' - SENTENCE_NT'the understand token a time period translates into i6 as REL' + SENTENCE_NT'the understand token a time period translates into inter as ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'understand token a time period' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'RELATIVE_TIME_TOKEN' @@ -16148,7 +16148,7 @@ ROOT_NT VERB_NT'is' {verb 'be' 3p s act IS_TENSE +ve} PROPER_NOUN_NT'pronoun reference object' {definite 'the' n/m/f s/p nom/acc} COMMON_NOUN_NT'object that varies' {indefinite 'an' n/m/f nom/acc s} - SENTENCE_NT'the pronoun reference object variable translates into i6 as ' + SENTENCE_NT'the pronoun reference object variable translates into inter ' VERB_NT'translates into' {verb 'translate' 3p s act IS_TENSE +ve} {special meaning: translates-into-i6} UNPARSED_NOUN_NT'pronoun reference object variable' {definite 'the' n/m/f s/p nom/acc} UNPARSED_NOUN_NT'pronoun_obj' diff --git a/inform7/Figures/memory-diagnostics.txt b/inform7/Figures/memory-diagnostics.txt index a37ce1073..a636b5cd5 100644 --- a/inform7/Figures/memory-diagnostics.txt +++ b/inform7/Figures/memory-diagnostics.txt @@ -1,14 +1,14 @@ Total memory consumption was 257150K = 251 MB -62.5% was used for 1344934 objects, in 273464 frames in 201 x 800K = 160800K = 157 MB: +62.5% was used for 1338434 objects, in 273451 frames in 201 x 800K = 160800K = 157 MB: 9.8% inter_tree_node_array 36 x 8192 = 294912 objects, 25953408 bytes 5.4% text_stream_array 2570 x 100 = 257000 objects, 14474240 bytes 3.9% parse_node 130160 objects, 10412800 bytes 2.8% verb_conjugation 160 objects, 7425280 bytes - 2.7% parse_node_annotation_array 459 x 500 = 229500 objects, 7358688 bytes + 2.7% parse_node_annotation_array 446 x 500 = 223000 objects, 7150272 bytes 2.3% inter_symbol_array 70 x 1024 = 71680 objects, 6310080 bytes - 1.8% linked_list 8915 objects, 4992400 bytes + 1.8% linked_list 8916 objects, 4992960 bytes 1.3% pcalc_prop_array 24 x 1000 = 24000 objects, 3648768 bytes 1.1% map_data 660 objects, 3131040 bytes 0.9% kind_array 65 x 1000 = 65000 objects, 2602080 bytes @@ -46,7 +46,7 @@ Total memory consumption was 257150K = 251 MB ---- linguistic_stock_item 3317 objects, 159216 bytes ---- stacked_variable_owner_list_array 38 x 100 = 3800 objects, 153216 bytes ---- index_lexicon_entry 395 objects, 142200 bytes - ---- nonterminal 756 objects, 139104 bytes + ---- nonterminal 755 objects, 138920 bytes ---- action_pattern_array 6 x 100 = 600 objects, 129792 bytes ---- documentation_ref 1275 objects, 112200 bytes ---- hierarchy_location 731 objects, 105264 bytes @@ -72,7 +72,7 @@ Total memory consumption was 257150K = 251 MB ---- inter_node_list 750 objects, 42000 bytes ---- activity_list_array 1 x 1000 objects, 40032 bytes ---- response_message 407 objects, 35816 bytes - ---- production_list 619 objects, 34664 bytes + ---- production_list 618 objects, 34608 bytes ---- unary_predicate_array 8 x 1000 = 8000 objects, 32192 bytes ---- HTML_tag_array 1 x 1000 objects, 32032 bytes ---- regions_data 660 objects, 31680 bytes @@ -93,7 +93,7 @@ Total memory consumption was 257150K = 251 MB ---- adjective_iname_holder 320 objects, 15360 bytes ---- plugin 23 objects, 13432 bytes ---- literal_text 147 objects, 12936 bytes - ---- stopwatch_timer 156 objects, 12480 bytes + ---- stopwatch_timer 157 objects, 12560 bytes ---- understanding_reference_array 2 x 100 = 200 objects, 11264 bytes ---- pathname 265 objects, 10600 bytes ---- adjective 137 objects, 9864 bytes @@ -212,9 +212,9 @@ Total memory consumption was 257150K = 251 MB 37.4% was used for memory not allocated for objects: - 15.8% text stream storage 41853780 bytes in 263312 claims + 15.8% text stream storage 41853828 bytes in 263313 claims 3.5% dictionary storage 9265152 bytes in 16345 claims - ---- sorting 1112 bytes in 3 claims + ---- sorting 1120 bytes in 3 claims 2.7% source text 7200000 bytes in 3 claims 4.1% source text details 10800000 bytes in 2 claims ---- linguistic stock array 81920 bytes in 2 claims @@ -229,5 +229,5 @@ Total memory consumption was 257150K = 251 MB ---- emitter array storage 14368 bytes in 8 claims ---- code generation workspace for objects 9200 bytes in 9 claims -20.1% was overhead - 53145432 bytes = 51899K = 50 MB +20.2% was overhead - 53353448 bytes = 52102K = 50 MB diff --git a/inform7/Figures/preform-summary.txt b/inform7/Figures/preform-summary.txt index 1b72e27d0..744353af2 100644 --- a/inform7/Figures/preform-summary.txt +++ b/inform7/Figures/preform-summary.txt @@ -1,11 +1,11 @@ - hits 2097/23834 nti 25 constraint (none) extremes [1, infinity) + hits 2097/23834 nti 31 constraint (none) extremes [1, infinity) English: (@1)=1 (hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1] (@1)minus (@2)=1 - (hits 0/1279) constraint DS = {25} extremes [2, 2] + (hits 0/46) constraint DS = {31} extremes [2, 2] (@1)=1 (@2)( (@3)=2 (@4)) - (hits 273/698) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {25} extremes [4, 4] + (hits 273/583) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {31} extremes [4, 4] (@1)=1 (hits 1564/5548) (matched: 'Represents geographical locations, both indoor and outdoor, which are not necessarily areas in a building. A player in one @@ -14,12 +14,12 @@ =1 (hits 11/9909) (matched: 'plus infinity') constraint (none) extremes [1, infinity) (@1)=1 - (hits 78/228) (matched: 'false') constraint CS = {19} extremes [1, 1] + (hits 78/809) (matched: 'false') constraint CS = {25} extremes [1, 1] =1 - (hits 0/3243) constraint DS = {21} extremes [2, infinity) + (hits 0/2306) constraint DS = {27} extremes [2, infinity) (@1)unicode =1 - (hits 0/2910) constraint DS = {25} extremes [2, infinity) + (hits 0/1236) constraint DS = {31} extremes [2, infinity) =1 - (hits 0/3468) constraint DW = {22, 23, 24} extremes [2, 5] + (hits 0/3054) constraint DW = {28, 29, 30} extremes [2, 5] =1 (hits 0/9820) constraint (none) extremes [1, infinity) diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt index 54cb92f75..76c9fca49 100644 --- a/inform7/Figures/timings-diagnostics.txt +++ b/inform7/Figures/timings-diagnostics.txt @@ -1,44 +1,35 @@ 100.0% in inform7 run - 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// - 0.9% in //NewVerbs::ConjugateVerb// - 0.8% in //Phrases::Manager::traverse// + 67.5% in compilation to Inter + 25.7% in //Phrases::Manager::compile_first_block// + 9.6% in //Phrases::Manager::compile_as_needed// + 7.0% in //Strings::compile_responses// + 5.9% in //World::Compile::compile// + 3.5% in //Assertions::Traverse::traverse1// + 2.9% in //Classifying::traverse// + 2.0% in //Phrases::Manager::RulePrintingRule_routine// + 2.0% in //Phrases::Manager::rulebooks_array// + 1.1% in //NewVerbs::ConjugateVerb// + 0.9% in //Phrases::Manager::traverse// 0.5% in //Phrases::Manager::parse_rule_parameters// - 0.4% in //Phrases::Manager::compile_rulebooks// 0.3% in //Assertions::Traverse::traverse2// + 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 //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 //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 //World::complete_additions// - 3.0% not specifically accounted for - 31.0% in running Inter pipeline - 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.1% in //Task::load_types// + 0.1% in //World::complete// + 3.7% not specifically accounted for + 30.4% in running Inter pipeline + 10.0% in step preparation + 9.6% in inter step 2/12: link + 7.0% in inter step 12/12: generate inform6 -> auto.inf 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 3/12: merge-template <- none - 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.2% not specifically accounted for + 2.0% in supervisor diff --git a/inform7/Internal/Extensions/Graham Nelson/Basic Inform.i7x b/inform7/Internal/Extensions/Graham Nelson/Basic Inform.i7x index 38591d6bd..284abffd6 100644 --- a/inform7/Internal/Extensions/Graham Nelson/Basic Inform.i7x +++ b/inform7/Internal/Extensions/Graham Nelson/Basic Inform.i7x @@ -110,18 +110,18 @@ An object can be plural-named or singular-named. An object is usually singular-n An object can be proper-named or improper-named. An object is usually improper-named. An object can be ambiguously plural. -The indefinite article property translates into I6 as "article". -The printed plural name property translates into I6 as "plural". -The printed name property translates into I6 as "short_name". -The plural-named property translates into I6 as "pluralname". -The ambiguously plural property translates into I6 as "ambigpluralname". -The proper-named property translates into I6 as "proper". +The indefinite article property translates into Inter as "article". +The printed plural name property translates into Inter as "plural". +The printed name property translates into Inter as "short_name". +The plural-named property translates into Inter as "pluralname". +The ambiguously plural property translates into Inter as "ambigpluralname". +The proper-named property translates into Inter as "proper". A natural language is a kind of value. The language of play is a natural language that varies. The parameter-object is an object that varies. -The parameter-object variable translates into I6 as "parameter_value". +The parameter-object variable translates into Inter as "parameter_value". Startup rules is a rulebook. Startup rules have outcomes allow startup (success) and deny startup (failure). @@ -129,17 +129,19 @@ Shutdown rules is a rulebook. Starting the virtual machine (documented at act_startvm) is an activity. The enable Glulx acceleration rule is listed first in for starting the virtual machine. -The enable Glulx acceleration rule translates into I6 as "ENABLE_GLULX_ACCEL_R". +The enable Glulx acceleration rule translates into Inter as "ENABLE_GLULX_ACCEL_R". Printing the name of something (documented at act_pn) is an activity. The standard name printing rule is listed last in the for printing the name rulebook. -The standard name printing rule translates into I6 as "STANDARD_NAME_PRINTING_R". +The standard name printing rule translates into Inter as "STANDARD_NAME_PRINTING_R". Printing the plural name of something (documented at act_ppn) is an activity. -The standard printing the plural name rule is listed last in the for printing the plural name rulebook. -The standard printing the plural name rule translates into I6 as "STANDARD_PLURAL_NAME_PRINTING_R". +The standard printing the plural name rule is listed last in the for printing the +plural name rulebook. +The standard printing the plural name rule translates into Inter as +"STANDARD_PLURAL_NAME_PRINTING_R". Part Three - Phrasebook diff --git a/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateIntoEnglish.txt b/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateIntoEnglish.txt index f287a5dba..3a4a24705 100644 --- a/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateIntoEnglish.txt +++ b/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateIntoEnglish.txt @@ -1,8 +1,10 @@ -Inform 7 build 6L26 has started. +Inform 7 v10.1.0 has started. I've now read your source text, which is 13 words long. -I've also read Standard Rules by Graham Nelson, which is 42597 words long. -I've also read English Language by Graham Nelson, which is 2288 words long. +I've also read Basic Inform by Graham Nelson, which is 7645 words long. +I've also read English Language by Graham Nelson, which is 2328 words long. +I've also read Standard Rules by Graham Nelson, which is 32123 words long. Problem__ PM_CantTranslateIntoEnglish >--> You wrote 'A direction translates into English as a route' (source text, line 3): - but you can't translate into English, only out of it. -Inform 7 has finished: 16 centiseconds used. + but you can't translate from a language into itself, only from the current + language to a different one. +Inform 7 has finished. diff --git a/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateValue.txt b/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateValue.txt index 39a59cdc7..9ba4e2ed8 100644 --- a/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateValue.txt +++ b/inform7/Tests/Test Problems/_Results_Ideal/PM_CantTranslateValue.txt @@ -1,8 +1,10 @@ -Inform 7 build 6L26 has started. +Inform 7 v10.1.0 has started. I've now read your source text, which is 11 words long. -I've also read Standard Rules by Graham Nelson, which is 42597 words long. -I've also read English Language by Graham Nelson, which is 2288 words long. +I've also read Basic Inform by Graham Nelson, which is 7645 words long. +I've also read English Language by Graham Nelson, which is 2328 words long. +I've also read Standard Rules by Graham Nelson, which is 32123 words long. Problem__ PM_CantTranslateValue >--> You wrote '11 translates into French as onze' (source text, line 3): but - this isn't something which can be translated, that is, it isn't a kind. -Inform 7 has finished: 17 centiseconds used. + this isn't something which can be translated, that is, it isn't a kind or + instance. +Inform 7 has finished. diff --git a/inform7/core-module/Chapter 1/Core Module.w b/inform7/core-module/Chapter 1/Core Module.w index 2d4236f49..b51c88e8a 100644 --- a/inform7/core-module/Chapter 1/Core Module.w +++ b/inform7/core-module/Chapter 1/Core Module.w @@ -220,7 +220,6 @@ COMPILE_WRITER(phrase *, Phrases::log) COMPILE_WRITER(unary_predicate *, UnaryPredicates::log) COMPILE_WRITER(ph_usage_data *, Phrases::Usage::log) COMPILE_WRITER(kind *, Kinds::Textual::log) -COMPILE_WRITER_I(int, Sentences::VPs::log) COMPILE_WRITER(property *, Properties::log) COMPILE_WRITER(nonlocal_variable *, NonlocalVariables::log) COMPILE_WRITER(noun *, Nouns::log) @@ -233,6 +232,7 @@ void CoreModule::start(void) { @; @; @; + CorePreform::set_core_internal_NTIs(); } void CoreModule::end(void) { } @@ -385,7 +385,6 @@ we need to use the equivalent of traditional |malloc| and |calloc| routines. REGISTER_WRITER('r', UnaryPredicates::log); REGISTER_WRITER('U', Phrases::Usage::log); REGISTER_WRITER('u', Kinds::Textual::log); - REGISTER_WRITER_I('V', Sentences::VPs::log) REGISTER_WRITER('Y', Properties::log); REGISTER_WRITER('Z', NonlocalVariables::log); REGISTER_WRITER('z', Nouns::log); @@ -450,7 +449,6 @@ tree; though it's a little like itemising the baubles on a Christmas tree. @e grammar_token_literal_ANNOT /* int: for grammar tokens which are literal words */ @e grammar_token_relation_ANNOT /* |binary_predicate|: for relation tokens */ @e grammar_value_ANNOT /* |parse_node|: used as a marker when evaluating Understand grammar */ -@e imperative_ANNOT /* |int|: marking definitions of imperative verbs */ @e implicit_in_creation_of_ANNOT /* |inference_subject|: for assemblies */ @e implicitness_count_ANNOT /* int: keeping track of recursive assemblies */ @e indentation_level_ANNOT /* |int|: for routines written with Pythonesque indentation */ @@ -461,8 +459,7 @@ tree; though it's a little like itemising the baubles on a Christmas tree. @e kind_required_by_context_ANNOT /* |kind|: what if anything is expected here */ @e kind_resulting_ANNOT /* |kind|: what if anything is returned */ @e kind_variable_declarations_ANNOT /* |kind_variable_declaration|: and of these */ -@e listing_sense_ANNOT /* |int|: are we listing a rule into something, or out of it? */ -@e log_inclusion_sense_ANNOT /* |int|: should we include or exclude this from the debugging log? */ +@e rule_placement_sense_ANNOT /* |int|: are we listing a rule into something, or out of it? */ @e lpe_options_ANNOT /* |int|: options set for a literal pattern part */ @e modal_verb_ANNOT /* |verb_conjugation|: relevant only for that: e.g., "might" */ @e module_ANNOT /* |compilation_module|: set only for headings, routines and sentences */ diff --git a/inform7/core-module/Chapter 1/Core Preform.w b/inform7/core-module/Chapter 1/Core Preform.w new file mode 100644 index 000000000..6ec20d17b --- /dev/null +++ b/inform7/core-module/Chapter 1/Core Preform.w @@ -0,0 +1,116 @@ +[CorePreform::] Core Preform. + +To load, optimise and throw problem messages related to Preform syntax. + +@h Reading Preform declarations from Syntax files. +At present we do this only when |L| is English, but the infrastructure is general. + += +void CorePreform::load(inform_language *L) { + if (L == NULL) internal_error("can't load preform from null language"); + filename *F = Filenames::in(Languages::path_to_bundle(L), I"Syntax.preform"); + int nonterminals_declared = LoadPreform::load(F, L); + LOG("%d Preform nonterminals read from %f\n", nonterminals_declared, F); +} + +@h Converting Preform errors to problems. +Errors in Preform syntax are generated in the //words// module, and are +ordinarily issued in a low-level way, with terse lines printed to |STDERR|. +Providing the following allows us to give the Inform user a fuller message: + +@d PREFORM_ERROR_WORDS_CALLBACK CorePreform::preform_error + += +void CorePreform::preform_error(word_assemblage base_text, nonterminal *nt, + production *pr, char *message) { + if (pr) { + LOG("The production at fault is:\n"); + Instrumentation::log_production(pr, FALSE); LOG("\n"); + } + if (nt == NULL) + Problems::quote_text(1, "(no nonterminal)"); + else + Problems::quote_wide_text(1, Vocabulary::get_exemplar(nt->nonterminal_id, FALSE)); + Problems::quote_text(2, message); + StandardProblems::handmade_problem(Task::syntax_tree(), _p_(Untestable)); + if (WordAssemblages::nonempty(base_text)) { + Problems::quote_wa(5, &base_text); + Problems::issue_problem_segment( + "I'm having difficulties conjugating the verb '%5'. "); + } + + TEMPORARY_TEXT(TEMP) + if (pr) { + Problems::quote_number(3, &(pr->match_number)); + ptoken *pt; + for (pt = pr->first_pt; pt; pt = pt->next_pt) { + Instrumentation::write_ptoken(TEMP, pt); + if (pt->next_pt) WRITE_TO(TEMP, " "); + } + Problems::quote_stream(4, TEMP); + Problems::issue_problem_segment( + "There's a problem in Inform's linguistic grammar, which is probably " + "set by a translation extension. The problem occurs in line %3 of " + "%1 ('%4'): %2."); + } else { + Problems::issue_problem_segment( + "There's a problem in Inform's linguistic grammar, which is probably " + "set by a translation extension. The problem occurs in the definition of " + "%1: %2."); + } + Problems::issue_problem_end(); + DISCARD_TEXT(TEMP) +} + +@h Optimisation. +The following is fine-tuning for speed: if it weren't here, the compiler would +still function, but would be slower. With that said, it's possible to break +things by making the wrong settings here, so be wary of making changes. + +Setting up happens in two stages. Firstly, when this module (and therefore +the compiler) starts up, certain internally-defined Preform nonterminals -- +those defined by functions in the code, not loaded from Syntax files -- need +to be marked with NT incidence bits. (See //words: Nonterminal Incidences//.) + += +void CorePreform::set_core_internal_NTIs(void) { + NTI::give_nt_reserved_incidence_bit(, ADJECTIVE_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, PROPER_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); + NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); +} + +@ Later on, the //words// module calls the following function to mark that a +match to the given nonterminal must contain only words with certain NTI bits: +for example, a match to has to contain words with either the
    +bit or the bit set, which as we see above is |COMMON_NOUN_RES_NT_BIT|. + +@d MORE_PREFORM_OPTIMISER_WORDS_CALLBACK CorePreform::set_core_internal_requirements + += +void CorePreform::set_core_internal_requirements(void) { + NTI::every_word_in_match_must_have_my_NTI_bit(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); + CorePreform::mark_nt_as_requiring_itself_articled(); +} + +void CorePreform::mark_nt_as_requiring_itself_articled(nonterminal *nt) { + NTI::every_word_in_match_must_have_my_NTI_bit_or_this_one(nt, + NTI::nt_incidence_bit(
    )); +} diff --git a/inform7/core-module/Chapter 1/How To Compile.w b/inform7/core-module/Chapter 1/How To Compile.w index e382dda14..ababc7173 100644 --- a/inform7/core-module/Chapter 1/How To Compile.w +++ b/inform7/core-module/Chapter 1/How To Compile.w @@ -128,7 +128,8 @@ most of these worker functions are in the |core| module, some are not. BENCH(NewVerbs::add_inequalities) Task::advance_stage_to(SEMANTIC_I_CSEQ, I"Semantic analysis Ib", -1); - BENCH(Sentences::VPs::traverse) + BENCH(NewVerbs::bootstrap) + BENCH(Classifying::traverse) BENCH(Sentences::Rearrangement::tidy_up_ofs_and_froms) BENCH(Sentences::RuleSubtrees::register_recently_lexed_phrases) BENCH(Kinds::Knowledge::include_templates_for_kinds) @@ -289,4 +290,4 @@ most of these worker functions are in the |core| module, some are not. @ = Task::advance_stage_to(BIBLIOGRAPHIC_CSEQ, I"Bibliographic work", -1); BENCH_IF(bibliographic_plugin, PL::Bibliographic::Release::write_ifiction_and_blurb); - BENCH(NaturalLanguages::produce_index); + BENCH(I6T::produce_index); diff --git a/inform7/core-module/Chapter 1/Main Routine.w b/inform7/core-module/Chapter 1/Main Routine.w index 22e4b971e..93ed38957 100644 --- a/inform7/core-module/Chapter 1/Main Routine.w +++ b/inform7/core-module/Chapter 1/Main Routine.w @@ -210,7 +210,7 @@ int CoreMain::read_command_line(int argc, char *argv[]) { int proceed = CommandLine::read(argc, argv, NULL, &CoreMain::switch, &CoreMain::bareword); if (proceed) { path_to_inform7 = Pathnames::installation_path("INFORM7_PATH", I"inform7"); - Supervisor::optioneering_complete(NULL, TRUE, &Semantics::read_preform); + Supervisor::optioneering_complete(NULL, TRUE, &CorePreform::load); } return proceed; } diff --git a/inform7/core-module/Chapter 10/Verbal and Relative Clauses.w b/inform7/core-module/Chapter 10/Verbal and Relative Clauses.w index ba6497c18..076003656 100644 --- a/inform7/core-module/Chapter 10/Verbal and Relative Clauses.w +++ b/inform7/core-module/Chapter 10/Verbal and Relative Clauses.w @@ -86,8 +86,8 @@ handle its extra object: see below. = ::= | ==> { -, ExParser::Subtrees::verb_marker(RP[1], NULL, RP[2]) } - | ==> { -, ExParser::Subtrees::verb_marker(RP[1], RP[2], RP[3]) } - ==> { -, ExParser::Subtrees::verb_marker(RP[1], NULL, RP[2]) } + | ==> { -, ExParser::Subtrees::verb_marker(RP[1], RP[2], RP[3]) } + ==> { -, ExParser::Subtrees::verb_marker(RP[1], NULL, RP[2]) } @ The verb marker is a temporary node used just to store the verb or preposition usage; it's attached to the tree only briefly before sentence conversion @@ -144,9 +144,9 @@ relevant noun subtree with a representation of the player-object for those. not ==> { -, ExParser::Subtrees::verb_marker(negated_to_be, RP[1], RP[2]) } ::= - | ==> { -, ExParser::Subtrees::verb_marker(RP[2], NULL, RP[3]) } - | ==> { -, ExParser::Subtrees::verb_marker(RP[2], RP[3], RP[4]) } - ==> { -, ExParser::Subtrees::verb_marker(RP[2], NULL, RP[3]) } + | ==> { -, ExParser::Subtrees::verb_marker(RP[2], NULL, RP[3]) } + | ==> { -, ExParser::Subtrees::verb_marker(RP[2], RP[3], RP[4]) } + ==> { -, ExParser::Subtrees::verb_marker(RP[2], NULL, RP[3]) } @ = LOGIF(MATCHING, "So uncorrectedly RP[1] = $T\n", RP[1]); diff --git a/inform7/core-module/Chapter 2/Using Problems.w b/inform7/core-module/Chapter 2/Using Problems.w index c3e42225a..935a023ff 100644 --- a/inform7/core-module/Chapter 2/Using Problems.w +++ b/inform7/core-module/Chapter 2/Using Problems.w @@ -242,7 +242,7 @@ void Problems::Using::assertion_problem(parse_node_tree *T, SIGIL_ARGUMENTS, if ((i != Wordings::first_wn(Node::get_text(current_sentence->down))) && (Word::unexpectedly_upper_case(i) == FALSE)) { wording W = Wordings::from(Node::get_text(current_sentence), i); - int j = (W); + int j = (W); if (j > 0) RTW = Wordings::new(i, j); } Problems::quote_source(1, current_sentence); diff --git a/inform7/core-module/Chapter 21/Rule Placement Sentences.w b/inform7/core-module/Chapter 21/Rule Placement Sentences.w index 93469aa94..65bc596d5 100644 --- a/inform7/core-module/Chapter 21/Rule Placement Sentences.w +++ b/inform7/core-module/Chapter 21/Rule Placement Sentences.w @@ -57,7 +57,7 @@ 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 (((SW)) && ((OW))) { - Annotations::write_int(V, listing_sense_ANNOT, <>); + Annotations::write_int(V, rule_placement_sense_ANNOT, <>); parse_node *O = <>; (SW); V->next = <>; @@ -67,7 +67,7 @@ int Rules::Placement::listed_in_SMF(int task, parse_node *V, wording *NPs) { break; case TRAVERSE_FOR_RULE_FILING_SMFT: Rules::Placement::place_in_rulebook(V->next, V->next->next, - Annotations::read_int(V, listing_sense_ANNOT)); + Annotations::read_int(V, rule_placement_sense_ANNOT)); break; } return FALSE; @@ -107,7 +107,7 @@ 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 (((SW)) && ((OW))) { - Annotations::write_int(V, listing_sense_ANNOT, <>); + Annotations::write_int(V, rule_placement_sense_ANNOT, <>); parse_node *O = <>; (SW); V->next = <>; @@ -117,7 +117,7 @@ int Rules::Placement::substitutes_for_SMF(int task, parse_node *V, wording *NPs) break; case TRAVERSE_FOR_RULE_FILING_SMFT: Rules::Placement::request_substitute(V->next, V->next->next, V->next->next->next, - Annotations::read_int(V, listing_sense_ANNOT)); + Annotations::read_int(V, rule_placement_sense_ANNOT)); break; } return FALSE; diff --git a/inform7/core-module/Chapter 22/Construction Sequence.w b/inform7/core-module/Chapter 22/Construction Sequence.w index ceffde732..4cc59d1ed 100644 --- a/inform7/core-module/Chapter 22/Construction Sequence.w +++ b/inform7/core-module/Chapter 22/Construction Sequence.w @@ -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 (Sentences::VPs::special(p->down)) + if (Assertions::Traverse::special(p->down)) Assertions::Traverse::try_special_meaning(TRAVERSE_FOR_RULE_FILING_SMFT, p->down); } } diff --git a/inform7/core-module/Chapter 26/I6 Template Interpreter.w b/inform7/core-module/Chapter 26/I6 Template Interpreter.w index c52f82d3b..10a5e06d7 100644 --- a/inform7/core-module/Chapter 26/I6 Template Interpreter.w +++ b/inform7/core-module/Chapter 26/I6 Template Interpreter.w @@ -283,23 +283,16 @@ time.) |{-index:name}| opens the index file called |name|. continue; } -@h Template errors. -Errors here used to be basically failed assertions, but inevitably people -reported this as a bug (0001596). It was never intended that I6T coding -be part of the outside-facing language, but for a handful of people -using template-hacking there are a handful of cases that can't be avoided, so... +@h Indexing. +And so, finally, the following triggers the indexing process. = -void I6T::error(char *message) { - Problems::quote_text(1, message); - StandardProblems::handmade_problem(Task::syntax_tree(), _p_(...)); - Problems::issue_problem_segment( - "I ran into a mistake in a template file command: %1. The I6 " - "template files (or .i6t files) are a very low-level part of Inform, " - "and errors like this will only occur if the standard installation " - "has been amended or damaged. One possibility is that you're using " - "an extension which does some 'template hacking', as it's called, " - "but made a mistake doing so."); - Problems::issue_problem_end(); +void I6T::produce_index(void) { + inform_project *project = Task::project(); + I6T::interpret_indext( + Filenames::in( + Languages::path_to_bundle( + Projects::get_language_of_index(project)), + Projects::index_structure(project))); } diff --git a/inform7/core-module/Chapter 26/Sentence Handler Registration.w b/inform7/core-module/Chapter 26/Sentence Handler Registration.w index 67ab4e25c..223708f96 100644 --- a/inform7/core-module/Chapter 26/Sentence Handler Registration.w +++ b/inform7/core-module/Chapter 26/Sentence Handler Registration.w @@ -1,23 +1,14 @@ [SHR::] Sentence Handler Registration. -This routine has to be placed close to the end of the code for boring +This function has to be placed close to the end of the code for boring compilation order reasons, not because it belongs here. -@h Registration of sentence handlers. -At this point in the tangled code, all of the assertion sentence handlers +@ At this point in the tangled code, all of the assertion sentence handlers -- with names like |TABLE_SH_handler| -- have now been created, so it is safe to expand the following macros. = void SHR::register_sentence_handlers(void) { - @; - @; -} - -@ This is all of the node types still present at the top level of the tree -at the end of sentence-breaking. - -@ = REGISTER_SENTENCE_HANDLER(TRACE_SH); REGISTER_SENTENCE_HANDLER(BEGINHERE_SH); REGISTER_SENTENCE_HANDLER(ENDHERE_SH); @@ -31,10 +22,4 @@ at the end of sentence-breaking. REGISTER_SENTENCE_HANDLER(EQUATION_SH); REGISTER_SENTENCE_HANDLER(HEADING_SH); REGISTER_SENTENCE_HANDLER(SENTENCE_SH); - -@ And here are all of the verb types found in |VERB_NT| nodes which are -first children of |SENTENCE_NT| nodes. - -@ = - REGISTER_SENTENCE_HANDLER(ASSERT_SH); - REGISTER_SENTENCE_HANDLER(SPECIAL_MEANING_SH); +} diff --git a/inform7/core-module/Chapter 26/Test Scripts.w b/inform7/core-module/Chapter 26/Test Scripts.w index 367aeb0c4..3c4881362 100644 --- a/inform7/core-module/Chapter 26/Test Scripts.w +++ b/inform7/core-module/Chapter 26/Test Scripts.w @@ -198,6 +198,8 @@ int PL::Parsing::TestScripts::test_with_SMF(int task, parse_node *V, wording *NP case TRAVERSE2_SMFT: PL::Parsing::TestScripts::new_test_text(V); break; + case ALLOW_IN_OPTIONS_FILE_SMFT: + return TRUE; } return FALSE; } diff --git a/inform7/core-module/Chapter 26/Use Options.w b/inform7/core-module/Chapter 26/Use Options.w index 16d931b78..579ef06cf 100644 --- a/inform7/core-module/Chapter 26/Use Options.w +++ b/inform7/core-module/Chapter 26/Use Options.w @@ -210,6 +210,8 @@ int UseOptions::use_SMF(int task, parse_node *V, wording *NPs) { (OW); V->next = <>; return TRUE; + case ALLOW_IN_OPTIONS_FILE_SMFT: + return TRUE; case TRAVERSE1_SMFT: case TRAVERSE2_SMFT: UseOptions::set_use_options(V->next); diff --git a/inform7/core-module/Chapter 3/Classifying Sentences.w b/inform7/core-module/Chapter 3/Classifying Sentences.w new file mode 100644 index 000000000..67cceaf9b --- /dev/null +++ b/inform7/core-module/Chapter 3/Classifying Sentences.w @@ -0,0 +1,198 @@ +[Classifying::] Classifying Sentences. + +To work out the verbs used and to diagram sentences in the source. + +@h Traversing for primary verbs. +The story so far: the //supervisor// module has arranged for the source +text to be read in by //words// and has made a rudimentary parse tree for +it using //syntax//. Certain "structural" sentences, such as headings, have +been taken care of, and turned into nodes with types like |HEADING_NT|. + +But the assertions we want to read -- such as "The Mona Lisa is in the Louvre", +or "The plural of major general is majors general" -- are all simply +|SENTENCE_NT| nodes with no children. The following traverse begins Inform's +compilation process in earnest: for each such |SENTENCE_NT| node, it asks +the //linguistics// module to identify a primary verb, noun phrases and so +on, placing them in a subtree. + += +int classification_traverse_done = FALSE; + +void Classifying::traverse(void) { + SyntaxTree::traverse(Task::syntax_tree(), Classifying::visit); + classification_traverse_done = TRUE; +} + +void Classifying::visit(parse_node *p) { + if (Node::get_type(p) == TRACE_NT) { + SyntaxTree::toggle_trace(Task::syntax_tree()); + Log::tracing_on(SyntaxTree::is_trace_set(Task::syntax_tree()), I"Diagramming"); + } + if (Node::get_type(p) == SENTENCE_NT) { + Classifying::sentence(p); + Sentences::Rearrangement::check_sentence_for_direction_creation(p); + } +} + +@ Certain extra sentences, called "inventions", are sometimes created after +that traverse takes place: those extra |SENTENCE_NT| nodes therefore won't +be caught. Extra sentences can happen in two ways: + +(a) When additional text is fed to the lexer and sentence-broken by the +//syntax// module, at which point //syntax// calls the function below +because we have given it as a callback. + +(b) When explicit rearrangement of the tree causes new |SENTENCE_NT| nodes +to be created. Any code doing this should call the following function +explicitly. + +@d NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK Classifying::visit_extra_sentence + += +void Classifying::visit_extra_sentence(parse_node *new) { + if (classification_traverse_done) Classifying::sentence(new); +} + +@h Textual sentences. +"Textual" sentences are not really sentences at all, and are just double-quoted +text used in isolation -- Inform sometimes recognises these as being implicit +property values, as for the description of a room just created. These sentences +are necessarily exempt from having a primary verb. + += +int Classifying::sentence_is_textual(parse_node *p) { + if ((Wordings::length(Node::get_text(p)) == 1) && + (Vocabulary::test_flags( + Wordings::first_wn(Node::get_text(p)), TEXT_MC+TEXTWITHSUBS_MC))) + return TRUE; + return FALSE; +} + +@h Classifying a single sentence. +Every |SENTENCE_NT| node, however it is constructed, therefore ends up here, +and we ask the //linguistics// module to "diagram" it. + +See //linguistics: About Sentence Diagrams// for many examples. + += +void Classifying::sentence(parse_node *p) { + if (Classifying::sentence_is_textual(p) == FALSE) { + wording W = Node::get_text(p); + if ((W)) { + parse_node *VP_PN = <>; + switch (Annotations::read_int(VP_PN, linguistic_error_here_ANNOT)) { + case TwoLikelihoods_LINERROR: @; break; + } + SyntaxTree::graft(Task::syntax_tree(), VP_PN, p); + if (SyntaxTree::is_trace_set(Task::syntax_tree())) LOG("$T\n", p); + @; + } else { + LOG("$T\n", p); + (W); + } + } +} + +@ = + StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_TwoLikelihoods), + "this sentence seems to have a likelihood qualification on both " + "sides of the verb", + "which is not allowed. 'The black door certainly is usually open' " + "might possibly be grammatical English in some idioms, but Inform " + "doesn't like a sentence in this shape because the 'certainly' " + "on one side of the verb and the 'usually' on the other are " + "rival indications of certainty."); + +@ Only special-meaning sentences are allowed in Options files, and not all +of those. + +@ = + if (Wordings::within(Node::get_text(p), options_file_wording)) { + special_meaning_holder *sm = Node::get_special_meaning(p->down); + if ((sm == NULL) || + (SpecialMeanings::call(sm, ALLOW_IN_OPTIONS_FILE_SMFT, NULL, NULL) == FALSE)) + StandardProblems::unlocated_problem(Task::syntax_tree(), + _p_(BelievedImpossible), /* not convenient to test automatically, anyway */ + "The options file placed in this installation of Inform's folder " + "is incorrect, making use of a sentence form which isn't allowed " + "in that situation. The options file is only allowed to contain " + "use options, Test ... with..., and Release along with... " + "instructions."); + } + +@ From the earliest beta-testing, the problem message for "I can't find a verb" +split into cases. Inform is quite sensitive to punctuation errors as between +comma, paragraph break and semicolon, and this is where that sensitivity begins +to bite. The grammar below is just a set of heuristics, really: once we enter +this, a problem message of some kind will certainly result. + += + ::= + ... | + before/every/after/when/instead/check/carry/report ... | ==> @ + if ... | ==> @ + ... , ... | ==> @ + ... ==> @ + + ::= + ... | ==> { advance Wordings::delta(WR[1], W) } + ... | ==> { advance Wordings::delta(WR[1], W) } + ... | ==> @ + ... ==> @ + +@ = + StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_RuleWithoutColon), + "I can't find a verb that I know how to deal with, so can't do anything " + "with this sentence. It looks as if it might be a rule definition", + "but if so then it is lacking the necessary colon (or comma). " + "The punctuation style for rules is 'Rule conditions: do this; " + "do that; do some more.' Perhaps you used a full stop instead " + "of the colon?"); + +@ = + StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_IfOutsidePhrase), + "I can't find a verb that I know how to deal with. This looks like an 'if' " + "phrase which has slipped its moorings", + "so I am ignoring it. ('If' phrases, like all other such " + "instructions, belong inside definitions of rules or phrases - " + "not as sentences which have no context. Maybe a full stop or a " + "skipped line was accidentally used instead of semicolon, so that you " + "inadvertently ended the last rule early?)"); + +@ = + Problems::quote_source(1, current_sentence); + StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerbComma)); + Problems::issue_problem_segment( + "In the sentence %1, I can't find a verb that I know how to deal with. " + "(I notice there's a comma here, which is sometimes used to abbreviate " + "rules which would normally be written with a colon - for instance, " + "'Before taking: say \"You draw breath.\"' can be abbreviated to 'Before " + "taking, say...' - but that's only allowed for Before, Instead and " + "After rules. I mention all this in case you meant this sentence " + "as a rule in some rulebook, but used a comma where there should " + "have been a colon ':'?)"); + Problems::issue_problem_end(); + +@ = + Problems::quote_source(1, current_sentence); + StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerb)); + Problems::issue_problem_segment( + "In the sentence %1, I can't find a verb that I know how to deal with."); + Problems::issue_problem_end(); + +@ = + if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) { + Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE); + StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_NonPresentTense), + "assertions about the initial state of play must be given in the " + "present tense", + "so 'The cat is in the basket' is fine but not 'The cat has been in " + "the basket'. Time is presumed to start only when the game begins, so " + "there is no anterior state which we can speak of."); + } + +@ = + if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) { + Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE); + StandardProblems::negative_sentence_problem(Task::syntax_tree(), _p_(PM_NegatedVerb1)); + } diff --git a/inform7/core-module/Chapter 3/Debugging Log Requests.w b/inform7/core-module/Chapter 3/Debugging Log Requests.w new file mode 100644 index 000000000..6429301c2 --- /dev/null +++ b/inform7/core-module/Chapter 3/Debugging Log Requests.w @@ -0,0 +1,101 @@ +[Sentences::DLRs::] Debugging Log Requests. + +Special sentences for changing what goes into the debugging log. + +@ These are the special meaning functions for the sentences: + +>> Include ... in the debugging log. Omit ... from the debugging log. + +Which have identical semantics except for the positive or negative sense. +The object phrase has to be exactly "the debugging log", so: + += + ::= + the debugging log + +@ = +int Sentences::DLRs::include_in_SMF(int task, parse_node *V, wording *NPs) { + return Sentences::DLRs::dl_SMF(task, V, NPs, TRUE); +} + +int Sentences::DLRs::omit_from_SMF(int task, parse_node *V, wording *NPs) { + return Sentences::DLRs::dl_SMF(task, V, NPs, FALSE); +} + +@ The subject phrase, however, can be a list... + += +int Sentences::DLRs::dl_SMF(int task, parse_node *V, wording *NPs, int sense) { + wording SW = (NPs)?(NPs[2]):EMPTY_WORDING; + wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; + switch (task) { + case ACCEPT_SMFT: + if ((OW)) { + (SW); + V->next = <>; + Sentences::DLRs::switch_dl_mode(V->next, sense); + return TRUE; + } + return FALSE; + case ALLOW_IN_OPTIONS_FILE_SMFT: + return TRUE; + } + return FALSE; +} + +void Sentences::DLRs::switch_dl_mode(parse_node *PN, int sense) { + if (Node::get_type(PN) == AND_NT) { + Sentences::DLRs::switch_dl_mode(PN->down, sense); + Sentences::DLRs::switch_dl_mode(PN->down->next, sense); + return; + } + Sentences::DLRs::set_aspect_from_text(Node::get_text(PN), sense); +} + +@ Each list entry must match the following, which returns a bitmap of +modifiers and a pointer to a Preform nonterminal if one has been named. + +@d ONLY_DLR 1 +@d EVERYTHING_DLR 2 +@d NOTHING_DLR 4 +@d SOMETHING_DLR 8 +@d PREFORM_DLR 16 + += + ::= + only | ==> { R[1] | ONLY_DLR, RP[1] } + ==> { pass 1 } + + ::= + everything | ==> { EVERYTHING_DLR, NULL } + nothing | ==> { NOTHING_DLR, NULL } + | ==> { PREFORM_DLR, RP[1] } + ... ==> { SOMETHING_DLR, NULL } + +@ = +void Sentences::DLRs::set_aspect_from_text(wording W, int new_state) { + LOGIF(DEBUGGING_LOG_INCLUSIONS, + "Set contents of debugging log: %W -> %s\n", + W, new_state?"TRUE":"FALSE"); + + (W); + if (<> & ONLY_DLR) Log::set_all_aspects(new_state?FALSE:TRUE); + if (<> & EVERYTHING_DLR) { Log::set_all_aspects(new_state); return; } + if (<> & NOTHING_DLR) { Log::set_all_aspects(1-new_state); return; } + if (<> & SOMETHING_DLR) { + TEMPORARY_TEXT(req) + WRITE_TO(req, "%W", GET_RW(, 1)); + int rv = Log::set_aspect_from_command_line(req, FALSE); + DISCARD_TEXT(req) + if (rv) return; + } + if (<> & PREFORM_DLR) { Instrumentation::watch(<>, new_state); return; } + + Problems::quote_source(1, current_sentence); + Problems::quote_wording(2, W); + StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_UnknownDA)); + Problems::issue_problem_segment( + "In the sentence %1, you asked to include '%2' in the " + "debugging log, but there is no such debugging log topic."); + Problems::issue_problem_end(); +} diff --git a/inform7/core-module/Chapter 3/Natural Languages.w b/inform7/core-module/Chapter 3/Natural Languages.w deleted file mode 100644 index daa267c9e..000000000 --- a/inform7/core-module/Chapter 3/Natural Languages.w +++ /dev/null @@ -1,153 +0,0 @@ -[NaturalLanguages::] Natural Languages. - -To manage definitions of natural languages, such as English or French, -which may be used either to write Inform or to read the works it compiles. - -@h Indexing. - -= -void NaturalLanguages::produce_index(void) { - inform_project *project = Task::project(); - I6T::interpret_indext( - Filenames::in( - Languages::path_to_bundle( - Projects::get_language_of_index(project)), - Projects::index_structure(project))); -} - -@ - -@d NATURAL_LANGUAGES_PRESENT - -@h Parsing. -The following matches the English-language name of a language: for example, -"French". It will only make a match if Inform has successfully found a -bundle for that language during its initial scan. - -= - internal { - inform_language *L; - LOOP_OVER(L, inform_language) - if (Wordings::match(W, Wordings::first_word(L->instance_name))) { - ==> { -, L }; - return TRUE; - } - ==> { fail }; -} - -@h The natural language kind. -Inform has a kind built in called "natural language", whose values are -enumerated names: English language, French language, German language and so on. -When the kind is created, the following routine makes these instances. We do -this exactly as we would to create any other instance -- we write a logical -proposition claiming its existence, then assert this to be true. It's an -interesting question whether the possibility of the game having been written -in German "belongs" in the model world, if in fact the game wasn't written -in German; but this is how we'll do it, anyway. - -= -void NaturalLanguages::stock_nl_kind(kind *K) { - inform_language *L; - LOOP_OVER(L, inform_language) { - pcalc_prop *prop = - Calculus::Propositions::Abstract::to_create_something(K, L->instance_name); - Calculus::Propositions::Assert::assert_true(prop, CERTAIN_CE); - L->nl_instance = latest_instance; - } -} - -@h The adaptive person. -The following is only relevant for the language of play, whose extension will -always be read in. That in turn is expected to contain a declaration like -this one: - ->> The adaptive text viewpoint of the French language is second person singular. - -The following routine picks up on the result of this declaration. (We cache -this because we need access to it very quickly when parsing text substitutions.) - -@d ADAPTIVE_PERSON_LINGUISTICS_CALLBACK NaturalLanguages::adaptive_person -@d ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK NaturalLanguages::adaptive_number - -= -int NaturalLanguages::adaptive_person(inform_language *L) { - int C = NaturalLanguages::adaptive_combination(L); - return C % NO_KNOWN_PERSONS; -} - -int NaturalLanguages::adaptive_number(inform_language *L) { - int C = NaturalLanguages::adaptive_combination(L); - return C / NO_KNOWN_PERSONS; -} - -int NaturalLanguages::adaptive_combination(inform_language *L) { - #ifdef IF_MODULE - if ((L->adaptive_person == -1) && (P_adaptive_text_viewpoint)) { - instance *I = L->nl_instance; - parse_node *spec = World::Inferences::get_prop_state( - Instances::as_subject(I), P_adaptive_text_viewpoint); - if (Node::is(spec, CONSTANT_NT)) { - instance *V = Node::get_constant_instance(spec); - L->adaptive_person = Instances::get_numerical_value(V)-1; - } - } - #endif - if (L->adaptive_person == -1) return FIRST_PERSON + 3; /* i.e., plural */ - return L->adaptive_person; -} - -@h Including Preform syntax. -At present we do this only for English, but some day... - -= -int NaturalLanguages::load_preform(inform_language *L) { - if (L == NULL) internal_error("can't load preform from null language"); - filename *preform_file = - Filenames::in(Languages::path_to_bundle(L), I"Syntax.preform"); - return LoadPreform::load(preform_file, L); -} - -@ Preform errors are handled here: - -= -void NaturalLanguages::preform_error(word_assemblage base_text, nonterminal *nt, - production *pr, char *message) { - if (pr) { - LOG("The production at fault is:\n"); - Instrumentation::log_production(pr, FALSE); LOG("\n"); - } - if (nt == NULL) - Problems::quote_text(1, "(no nonterminal)"); - else - Problems::quote_wide_text(1, Vocabulary::get_exemplar(nt->nonterminal_id, FALSE)); - Problems::quote_text(2, message); - StandardProblems::handmade_problem(Task::syntax_tree(), _p_(Untestable)); - if (WordAssemblages::nonempty(base_text)) { - Problems::quote_wa(5, &base_text); - Problems::issue_problem_segment( - "I'm having difficulties conjugating the verb '%5'. "); - } - - TEMPORARY_TEXT(TEMP) - if (pr) { - Problems::quote_number(3, &(pr->match_number)); - ptoken *pt; - for (pt = pr->first_pt; pt; pt = pt->next_pt) { - Instrumentation::write_ptoken(TEMP, pt); - if (pt->next_pt) WRITE_TO(TEMP, " "); - } - Problems::quote_stream(4, TEMP); - Problems::issue_problem_segment( - "There's a problem in Inform's linguistic grammar, which is probably " - "set by a translation extension. The problem occurs in line %3 of " - "%1 ('%4'): %2."); - } else { - Problems::issue_problem_segment( - "There's a problem in Inform's linguistic grammar, which is probably " - "set by a translation extension. The problem occurs in the definition of " - "%1: %2."); - } - Problems::issue_problem_end(); - DISCARD_TEXT(TEMP) -} - diff --git a/inform7/core-module/Chapter 3/Plural Dictionary.w b/inform7/core-module/Chapter 3/Pluralisation Requests.w similarity index 56% rename from inform7/core-module/Chapter 3/Plural Dictionary.w rename to inform7/core-module/Chapter 3/Pluralisation Requests.w index f70823e6d..ecc889ad1 100644 --- a/inform7/core-module/Chapter 3/Plural Dictionary.w +++ b/inform7/core-module/Chapter 3/Pluralisation Requests.w @@ -1,29 +1,31 @@ -[Plurals::] Plural Dictionary. +[Plurals::] Pluralisation Requests. -To parse sentences like "The plural of woman is women". +Special sentences for setting exotic plural forms of nouns. -@h Stocking the plurals dictionary. -The user gives us plurals with special sentences, whose subject is like so: +@ Sentences like "the plural of cherub is cherubim" are hardly needed now, +because the //inflections// module now contains a full implementation of +Conway's algorithm. Still, we keep the syntax around, and it may one day be +useful again for languages other than English. + +The subject phrase must match: = ::= -
    plural of | ==> { TRUE, RP[2] } - plural of ==> { TRUE, RP[1] } +
    plural of | ==> { pass 2 } + plural of ==> { pass 1 } -@ We take immediate action on parsing the sentence, and after that ignore it -as having been dealt with. +@ Note that we are saved later grief by not allowing a plural form which +would be illegal as a new noun: allowing "The plural of thing is ," would not +end well. -Note that we are entirely allowed to register a new plural for a phrase -which already has a plural in the dictionary, which is why we do not -trouble to search the existing dictionary here. +Otherwise, though, we simply send the request to //inflections: Pluralisation//. = int Plurals::plural_SMF(int task, parse_node *V, wording *NPs) { wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - switch (task) { /* "The plural of woman is women." */ + switch (task) { /* "The plural of seraph is seraphim." */ case ACCEPT_SMFT: - FSW = SW; FOW = OW; if ((SW)) { V->next = <>; (OW); @@ -45,8 +47,9 @@ text anyway, so the following problem messages are not too gratuitous. @ = LOOP_THROUGH_WORDING(i, S) - if (Vocabulary::test_flags(i, TEXT_MC+TEXTWITHSUBS_MC)) { - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_PluralOfQuoted), + if (Vocabulary::test_flags(i, TEXT_MC + TEXTWITHSUBS_MC)) { + StandardProblems::sentence_problem(Task::syntax_tree(), + _p_(PM_PluralOfQuoted), "declares a plural for a phrase containing quoted text", "which is forbidden. Sentences like this are supposed to " "declare plurals without quotation marks: for instance, " @@ -54,8 +57,9 @@ text anyway, so the following problem messages are not too gratuitous. return TRUE; } LOOP_THROUGH_WORDING(i, P) - if (Vocabulary::test_flags(i, TEXT_MC+TEXTWITHSUBS_MC)) { - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_PluralIsQuoted), + if (Vocabulary::test_flags(i, TEXT_MC + TEXTWITHSUBS_MC)) { + StandardProblems::sentence_problem(Task::syntax_tree(), + _p_(PM_PluralIsQuoted), "declares a plural for a phrase using quoted text", "which is forbidden. Sentences like this are supposed to " "declare plurals without quotation marks: for instance, " diff --git a/inform7/core-module/Chapter 3/Translation Requests.w b/inform7/core-module/Chapter 3/Translation Requests.w new file mode 100644 index 000000000..3ebb87798 --- /dev/null +++ b/inform7/core-module/Chapter 3/Translation Requests.w @@ -0,0 +1,151 @@ +[Translations::] Translation Requests. + +Three unrelated senses of "X translates into Y as Z" sentences. + +@h Translation into natural languages. +The sentence "X translates into Y as Z" has this sense provided Y matches: + += + ::= + ==> { pass 1 } + +@ = +int Translations::translates_into_language_as_SMF(int task, parse_node *V, wording *NPs) { + wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; + wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; + wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; + switch (task) { /* "Thing translates into French as chose" */ + case ACCEPT_SMFT: + if ((O2W)) { + inform_language *nl = (inform_language *) (<>); + (SW); + V->next = <>; + (OW); + V->next->next = <>; + Node::set_defn_language(V->next->next, nl); + return TRUE; + } + break; + case TRAVERSE1_SMFT: + @; + break; + } + return FALSE; +} + +@ The subject phrase can only be parsed on traverse 1, since it only makes +sense once kinds and instances exist. + +@d TRANS_KIND 1 +@d TRANS_INSTANCE 2 + += + ::= + | ==> { TRANS_KIND, RP[1] } + ==> { TRANS_INSTANCE, RP[1] } + +@ = + inform_language *L = Node::get_defn_language(V->next->next); + int g = Annotations::read_int(V->next->next, explicit_gender_marker_ANNOT); + if (L == NULL) internal_error("No such NL"); + if (L == DefaultLanguage::get(NULL)) { + StandardProblems::sentence_problem(Task::syntax_tree(), + _p_(PM_CantTranslateIntoEnglish), + "you can't translate from a language into itself", + "only from the current language to a different one."); + return FALSE; + } + + if (((Node::get_text(V->next))) == FALSE) { + StandardProblems::sentence_problem(Task::syntax_tree(), + _p_(PM_CantTranslateValue), + "this isn't something which can be translated", + "that is, it isn't a kind or instance."); + return FALSE; + } + + switch (<>) { + case TRANS_INSTANCE: { + instance *I = <>; + noun *t = Instances::get_noun(I); + if (t == NULL) internal_error("stuck on instance name"); + Nouns::supply_text(t, Node::get_text(V->next->next), L, g, + SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT); + break; + } + case TRANS_KIND: { + kind *K = <>; + kind_constructor *KC = Kinds::get_construct(K); + if (KC == NULL) internal_error("stuck on kind name"); + noun *t = Kinds::Constructors::get_noun(KC); + if (t == NULL) internal_error("further stuck on kind name"); + Nouns::supply_text(t, Node::get_text(V->next->next), L, g, + SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT + WITH_PLURAL_FORMS_NTOPT); + break; + } + default: internal_error("bad translation category"); + } + +@h Translation into Unicode. +The sentence "X translates into Y as Z" has this sense provided Y matches: + += + ::= + unicode + +@ = +int Translations::translates_into_unicode_as_SMF(int task, parse_node *V, wording *NPs) { + wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; + wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; + wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; + switch (task) { /* "Black king chess piece translates into Unicode as 9818" */ + case ACCEPT_SMFT: + if ((O2W)) { + (SW); + V->next = <>; + (OW); + V->next->next = <>; + return TRUE; + } + break; + case TRAVERSE2_SMFT: + UnicodeTranslations::unicode_translates(V); + break; + } + return FALSE; +} + +@h Translation into Inter. +The sentence "X translates into Y as Z" has this sense provided Y matches the +following. Before the coming of Inter code, the only conceivable compilation +target was Inform 6, but these now set Inter identifiers, so really the first +wording is to be preferred. + += + ::= + inter | + i6 | + inform 6 + +@ = +int Translations::translates_into_Inter_as_SMF(int task, parse_node *V, wording *NPs) { + wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; + wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; + wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; + switch (task) { /* "The taking inventory action translates into Inter as "Inv"" */ + case ACCEPT_SMFT: + if ((O2W)) { + (SW); + V->next = <>; + (OW); + V->next->next = <>; + return TRUE; + } + break; + case TRAVERSE1_SMFT: + case TRAVERSE2_SMFT: + IdentifierTranslations::as(V); + break; + } + return FALSE; +} diff --git a/inform7/core-module/Chapter 4/Introduction to Semantics.w b/inform7/core-module/Chapter 4/Introduction to Semantics.w index d3acad524..6273f1c7d 100644 --- a/inform7/core-module/Chapter 4/Introduction to Semantics.w +++ b/inform7/core-module/Chapter 4/Introduction to Semantics.w @@ -197,49 +197,3 @@ have meanings which might be pointers to a bewildering range of structures etc.) but these pointers are held together inside the S-parser by a single unifying construction: the |parse_node|. And we will eventually turn the whole thing into a |specification| for the rest of Inform to use. - -@ - -@d MORE_PREFORM_OPTIMISER_WORDS_CALLBACK Semantics::mark_preform_requirements -@d PREFORM_ERROR_WORDS_CALLBACK NaturalLanguages::preform_error - -= -void Semantics::read_preform(inform_language *L) { - @; - int nonterminals_declared = NaturalLanguages::load_preform(L); - LOG("%d declarations read\n", nonterminals_declared); -} - -@ = - NTI::give_nt_reserved_incidence_bit(, ADJECTIVE_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, PROPER_NOUN_RES_NT_BIT /* COMMON_NOUN_RES_NT_BIT */ ); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - NTI::give_nt_reserved_incidence_bit(, COMMON_NOUN_RES_NT_BIT); - -@ = -void Semantics::mark_preform_requirements(void) { - NTI::every_word_in_match_must_have_my_NTI_bit(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); - Semantics::mark_nt_as_requiring_itself_articled(); -} - -void Semantics::mark_nt_as_requiring_itself_articled(nonterminal *nt) { - NTI::every_word_in_match_must_have_my_NTI_bit_or_this_one(nt, - NTI::nt_incidence_bit(
    )); -} diff --git a/inform7/core-module/Chapter 5/Using Nametags.w b/inform7/core-module/Chapter 5/Using Nametags.w index 2abd15b91..f283e900f 100644 --- a/inform7/core-module/Chapter 5/Using Nametags.w +++ b/inform7/core-module/Chapter 5/Using Nametags.w @@ -105,61 +105,3 @@ void UseNouns::visit_to_name(parse_node *p) { "in any event."); } -@h Translation. - -@d TRANS_KIND 1 -@d TRANS_INSTANCE 2 - -@ This is for translation of nouns into different natural languages, -and is a somewhat provisional feature for now. - ->> Thing translates into French as chose (f). - -= - ::= - | ==> { TRANS_KIND, RP[1] } - ==> { TRANS_INSTANCE, RP[1] } - -@ = -void UseNouns::nl_translates(parse_node *pn) { - /* the object */ - inform_language *nl = Node::get_defn_language(pn->next->next); - int g = Annotations::read_int(pn->next->next, explicit_gender_marker_ANNOT); - if (nl == NULL) internal_error("No such NL"); - if (nl == DefaultLanguage::get(NULL)) { - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_CantTranslateIntoEnglish), - "you can't translate into English", - "only out of it."); - return; - } - - if (((Node::get_text(pn->next))) == FALSE) { - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_CantTranslateValue), - "this isn't something which can be translated", - "that is, it isn't a kind."); - return; - } - - switch (<>) { - case TRANS_INSTANCE: { - instance *I = <>; - noun *t = Instances::get_noun(I); - if (t == NULL) internal_error("stuck on instance name"); - Nouns::supply_text(t, Node::get_text(pn->next->next), nl, g, - SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT); - break; - } - case TRANS_KIND: { - kind *K = <>; - kind_constructor *KC = Kinds::get_construct(K); - if (KC == NULL) internal_error("stuck on kind name"); - noun *t = Kinds::Constructors::get_noun(KC); - if (t == NULL) internal_error("further stuck on kind name"); - Nouns::supply_text(t, Node::get_text(pn->next->next), nl, g, - SINGULAR_NUMBER, ADD_TO_LEXICON_NTOPT + WITH_PLURAL_FORMS_NTOPT); - break; - } - default: - internal_error("bad translation category"); - } -} diff --git a/inform7/core-module/Chapter 6/New Verbs.w b/inform7/core-module/Chapter 6/New Verbs.w index 5c5fa8f2b..584a0bdec 100644 --- a/inform7/core-module/Chapter 6/New Verbs.w +++ b/inform7/core-module/Chapter 6/New Verbs.w @@ -650,9 +650,9 @@ void NewVerbs::bootstrap(void) { SpecialMeanings::declare(Rules::Placement::does_nothing_SMF, I"rule-does-nothing", 1); SpecialMeanings::declare(Rules::Placement::does_nothing_if_SMF, I"rule-does-nothing-if", 1); SpecialMeanings::declare(Rules::Placement::does_nothing_unless_SMF, I"rule-does-nothing-unless", 1); - SpecialMeanings::declare(Sentences::VPs::translates_into_unicode_as_SMF, I"translates-into-unicode", 1); - SpecialMeanings::declare(Sentences::VPs::translates_into_I6_as_SMF, I"translates-into-i6", 1); - SpecialMeanings::declare(Sentences::VPs::translates_into_language_as_SMF, I"translates-into-language", 1); + SpecialMeanings::declare(Translations::translates_into_unicode_as_SMF, I"translates-into-unicode", 1); + SpecialMeanings::declare(Translations::translates_into_Inter_as_SMF, I"translates-into-i6", 1); + SpecialMeanings::declare(Translations::translates_into_language_as_SMF, I"translates-into-language", 1); SpecialMeanings::declare(UseOptions::use_translates_as_SMF, I"use-translates", 4); #ifdef IF_MODULE SpecialMeanings::declare(PL::Parsing::TestScripts::test_with_SMF, I"test-with", 1); @@ -663,8 +663,8 @@ void NewVerbs::bootstrap(void) { SpecialMeanings::declare(PL::Bibliographic::Release::release_along_with_SMF,I"release-along-with", 4); SpecialMeanings::declare(PL::EPSMap::index_map_with_SMF, I"index-map-with", 4); #endif - SpecialMeanings::declare(Sentences::VPs::include_in_SMF, I"include-in", 4); - SpecialMeanings::declare(Sentences::VPs::omit_from_SMF, I"omit-from", 4); + SpecialMeanings::declare(Sentences::DLRs::include_in_SMF, I"include-in", 4); + SpecialMeanings::declare(Sentences::DLRs::omit_from_SMF, I"omit-from", 4); word_assemblage infinitive = PreformUtilities::wording(, 0); verb_conjugation *vc = Conjugation::conjugate(infinitive, DefaultLanguage::get(NULL)); diff --git a/inform7/core-module/Chapter 7/Headings.w b/inform7/core-module/Chapter 7/Headings.w index 10d9c639a..06cab397f 100644 --- a/inform7/core-module/Chapter 7/Headings.w +++ b/inform7/core-module/Chapter 7/Headings.w @@ -4,7 +4,7 @@ To keep track of the hierarchy of headings and subheadings found in the source text. @h World objects under each heading. -Every heading must carry with it a linked list of the nametags created in +Every heading must carry with it a linked list of the nouns created in sentences which belong to it. So when any noun is created, the following is called to let the current sentence's heading know that it has a new friend. diff --git a/inform7/core-module/Chapter 7/Nonstructural Sentences.w b/inform7/core-module/Chapter 7/Nonstructural Sentences.w deleted file mode 100644 index 4cb14f745..000000000 --- a/inform7/core-module/Chapter 7/Nonstructural Sentences.w +++ /dev/null @@ -1,511 +0,0 @@ -[Sentences::VPs::] Nonstructural Sentences. - -To construct verb-phrase nodes in the parse tree. - -@h Definitions. - -@ At this point in the narrative, we have read files from disc, lexed the text -into a stream of words, and broken this into a list of sentences; we have -identified requests to include extensions, and fully acted on these, so that -we can now forget about that whole complication; and we have built a tree -of headings and subheadings (and file divisions) so that we have a clear map -of the overall structure of the source text. Sentences intended for use only -in some circumstances (for instance, when compiling for the Glulx virtual -machine) have been omitted as necessary, so that we can forget about that -complication, too. - -This gives as much information as we can squeeze out by easily specified -mechanical means: we have attacked the text at the very small scale, letters -and words, and at the very large, headings and files. This zig-zag in scale -will continue. In the rest of this chapter, we find the overall structure of -sentences. - -@ The parse tree is currently a long, long list: each sentence is a node -which is a child of the root, but no sentence has any child nodes of its own. -(That is about to change.) We can divide these sentences into three: - -(a) Structural sentences -- headings, extension requests, extension bookends. -All these have now been dealt with. - -(b) Sentences inside rules: rule preambles (|RULE_NT| nodes) -and phrases (|INVOCATION_LIST_NT|). These will not even be looked at until the -second phase of compilation, after the model world has been created. - -(c) Sentences with primary verbs, having node type |SENTENCE_NT|. These are -the assertions: they make statements about the initial state of the model -world -- the existence of places and things, and their properties at the -start of play -- and which describe patterns of behaviour during play. - -In the present section of code, then, we identify the primary verbs of -assertion sentences, and deal right away with some of the easier cases, -while leaving the harder ones for later. - -@ Every |SENTENCE_NT| node is annotated with a verb type from the enumeration -below. All of the assertions which create objects and kinds, and put them -into relationships with each other -- a tremendous variety of possible -sentences, between them making up about three-quarters of all |SENTENCE_NT| -nodes in typical source -- fall into one of two verb types: - -@d ASSERT_VB 10 /* "The bat and ball are on the table." */ - -@ Finally, the remaining verb types are all direct commands to Inform -- -note the imperative forms they take: Use, Understand, Include, and so forth. -In a sense the whole source text is an instruction to Inform, but mostly -it's a passive one: the implicit message is "make the world so that all -this comes right". Here, on the other hand, the user actually speaks -directly. This is a point of the design which has sometimes seemed a little -doubtful -- wouldn't it be more consistent for all of these sentences to be -more passively worded? -- but pragmatism won out: circumlocutions such as -"American dialect is used." or "The story file is released along with..." -are plausible enough, but - ->> "take noun" is understood as taking the noun. - -would mean a lot of important sentences being oddly punctuated with no -initial capital letter, while forcing meaningless extra words, as in - ->> The command "take noun" is understood as taking the noun. - -might prove annoying. Users seem to find the directness of the imperative -easier to use, at any rate, and perhaps the difference in mood helps to -clarify that these are sentences rather different in implication from -the usual sort. - -@d SPECIAL_MEANING_VB 70 - -@ This isn't a verb, and is used only to mark errors: - -@d BAD_NONVERB 1000 - -@ - -= (early code) -wording FOW, FSW; - -@h Traversing for primary verbs. -As with headings, so with |SENTENCE_NT| nodes: we want the ability to -come back later and add some more. That means that the primary-verb-finder -needs to be able to make more than one pass through. To handle this, all -|SENTENCE_NT| nodes are annotated on creation with the "sentence -unparsed" marker: we run through the top level of the parse tree, -look at all nodes with this marker, parse their associated sentences, -and remove the marker from them. (So, for instance, if this is run twice -in quick succession, the second run-through does nothing.) - -= -void Sentences::VPs::traverse(void) { - SyntaxTree::traverse(Task::syntax_tree(), Sentences::VPs::visit); -} -void Sentences::VPs::visit(parse_node *p) { - if (Node::get_type(p) == TRACE_NT) { - SyntaxTree::toggle_trace(Task::syntax_tree()); - Log::tracing_on(SyntaxTree::is_trace_set(Task::syntax_tree()), I"Diagramming"); - } - if ((Node::get_type(p) == SENTENCE_NT) && - (Annotations::read_int(p, sentence_unparsed_ANNOT))) { - Sentences::VPs::seek(p); - @; - Sentences::Rearrangement::check_sentence_for_direction_creation(p); - Annotations::write_int(p, sentence_unparsed_ANNOT, FALSE); - } -} - -@ = - if (Wordings::within(Node::get_text(p), options_file_wording)) { - special_meaning_holder *sm = Node::get_special_meaning(p->down); - int err = TRUE; - if ((SpecialMeanings::is(sm, UseOptions::use_SMF)) || - (SpecialMeanings::is(sm, PL::Parsing::TestScripts::test_with_SMF)) || - (SpecialMeanings::is(sm, Sentences::VPs::include_in_SMF)) || - (SpecialMeanings::is(sm, Sentences::VPs::omit_from_SMF))) err = FALSE; - #ifdef IF_MODULE - if (SpecialMeanings::is(sm, PL::Bibliographic::Release::release_along_with_SMF)) err = FALSE; - #endif - if (err) - StandardProblems::unlocated_problem(Task::syntax_tree(), _p_(BelievedImpossible), /* not usefully testable, anyway */ - "The options file placed in this installation of Inform's folder " - "is incorrect, making use of a sentence form which isn't allowed " - "in that situation. The options file is only allowed to contain " - "use options, Test ... with..., and Release along with... " - "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 grammar, -and if that doesn't work, we feed it to -to look for a good contextual problem message. - -= -parse_node *nss_tree_head = NULL; -int bootstrapped = FALSE; - -void Sentences::VPs::seek(parse_node *PN) { - if (bootstrapped == FALSE) { - NewVerbs::bootstrap(); - bootstrapped = TRUE; - } - nss_tree_head = PN; - CLEAR_RW(); - if (!((Node::get_text(PN)))) - (Node::get_text(PN)); -} - -@ = - ::= - the debugging log - -@ = -int Sentences::VPs::include_in_SMF(int task, parse_node *V, wording *NPs) { - wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; - switch (task) { /* "Index map with ..." */ - case ACCEPT_SMFT: - if ((OW)) { - (O2W); - V->next = <>; - Sentences::VPs::switch_dl_mode(V->next, TRUE); - return TRUE; - } - return FALSE; - } - return FALSE; -} - -int Sentences::VPs::omit_from_SMF(int task, parse_node *V, wording *NPs) { - wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; - switch (task) { /* "Index map with ..." */ - case ACCEPT_SMFT: - if ((OW)) { - (O2W); - V->next = <>; - Sentences::VPs::switch_dl_mode(V->next, FALSE); - return TRUE; - } - return FALSE; - } - return FALSE; -} - - - -@ = -void Sentences::VPs::switch_dl_mode(parse_node *PN, int sense) { - if (Node::get_type(PN) == AND_NT) { - Sentences::VPs::switch_dl_mode(PN->down, sense); - Sentences::VPs::switch_dl_mode(PN->down->next, sense); - return; - } - Sentences::VPs::set_aspect_from_text(Node::get_text(PN), sense); -} - -@ = - ::= - only | ==> { R[1] | ONLY_DLR, RP[1] } - ==> { pass 1 } - - ::= - everything | ==> { EVERYTHING_DLR, NULL } - nothing | ==> { NOTHING_DLR, NULL } - | ==> { PREFORM_DLR, RP[1] } - ... ==> { SOMETHING_DLR, NULL } - -= -void Sentences::VPs::set_aspect_from_text(wording W, int new_state) { - LOGIF(DEBUGGING_LOG_INCLUSIONS, "Set contents of debugging log: %W -> %s\n", - W, new_state?"TRUE":"FALSE"); - - @; - - Problems::quote_source(1, current_sentence); - Problems::quote_wording(2, W); - StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_UnknownDA)); - Problems::issue_problem_segment( - "In the sentence %1, you asked to include '%2' in the " - "debugging log, but there is no such debugging log topic."); - Problems::issue_problem_end(); -} - -@ Requests can be divided as "R and S" (and can even use the serial comma), -and we also understand "only R" and "everything" and "nothing". - -@d ONLY_DLR 1 -@d EVERYTHING_DLR 2 -@d NOTHING_DLR 4 -@d SOMETHING_DLR 8 -@d PREFORM_DLR 16 - -@ = - (W); - if (<> & ONLY_DLR) Log::set_all_aspects(1-new_state); - if (<> & EVERYTHING_DLR) { Log::set_all_aspects(new_state); return; } - if (<> & NOTHING_DLR) { Log::set_all_aspects(1-new_state); return; } - if (<> & SOMETHING_DLR) { - wording RQW = GET_RW(, 1); - @; - } - if (<> & PREFORM_DLR) { Instrumentation::watch(<>, new_state); return; } - -@ Otherwise a request must be the name of a single debugging aspect. - -@ = - TEMPORARY_TEXT(req) - LOOP_THROUGH_WORDING(j, RQW) { - WRITE_TO(req, "%N", j); - if (j. - -It's large because of the many exceptional, ad-hoc-looking syntaxes, and at -first sight those seem unnecessary: why not simply define more built-in verbs -and relations, and handle them as regular sentences? The answer to this is that -they have an irregular structure to them. Consider: - ->> Trampling is an action applying to nothing. - -This doesn't conform to the pattern of a verb plus a subject and object -noun phrase, each of which refers to some value. - -An arguably inconsistent feature of the design of Inform is that some of these -sentences take the imperative mood: - ->> Release along with the solution. - -rather than the indicative ("The ball is in the box") which is otherwise -used for all Inform sentences other than rule definitions. Sometimes I think -this is a mistake, sometimes a virtue. In the case of "Release along", for -instance, we're telling the computer to do something, rather than telling -the computer about something -- which seems a worthwhile distinction. In the -case of "Understand X as Y", though, it could be argued that an indicative -use of "X means Y" would work better. (It was actually Andrew Plotkin's -suggestion that we use "Understand", and it stuck.) At any rate, it's too -late now, and I ask translators into natural languages to follow the same -pattern: use imperatives if the English does, and use indicatives otherwise. - -Note also that "Index map with..." is an imperative, with the verb being -"to index", that is, it's an instruction to make a map; "index map" is -not a noun phrase here. - -The ordering of the sentences in this nonterminal is important. A few notes: - -(a) We check Unicode translations first of all, because we haven't any control -over the wording of character names in the Unicode standard. Among the 12,997 -definitions used in the Unicode Full Character Names extension are such choice -examples as "downwards arrow from bar", "arabic hamza above", "kangxi -radical use" and so forth, and we don't want to misread "from", "above", -"use", and so on, as prepositions or verbs: in sentences like this one -they are nouns. - -(b) Any sentence form with "is" or "has" in it must be checked before -regular sentences are checked: "X is an action...", for instance, is -otherwise easily mistaken for a regular assertion. - -(c) We could conceivably have implemented "action" and "activity" as -pseudo-kinds, and thus handled sentences like these through ordinary -assertions, but it would have been a lot of fuss. So we do it the -simple-minded way. - -(d) Note that activity declarations always simply end "is an activity.", -thus having nothing interesting by way of an object noun phrase, whereas -action declarations continue with usually extensive further text: -"... is an action applying to two visible things.", say. - -= - ::= - ==> @ - -@ = - parse_node *VP_PN = RP[1]; - if (Annotations::read_int(VP_PN, linguistic_error_here_ANNOT) == TwoLikelihoods_LINERROR) - @; - SyntaxTree::graft(Task::syntax_tree(), VP_PN, nss_tree_head); - - if (SyntaxTree::is_trace_set(Task::syntax_tree())) { - LOG("$T\n", nss_tree_head); STREAM_FLUSH(DL); - } - ==> { 0, - }; - -@ = - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_TwoLikelihoods), - "this sentence seems to have a likelihood qualification on both " - "sides of the verb", - "which is not allowed. 'The black door certainly is usually open' " - "might possibly be grammatical English in some idioms, but Inform " - "doesn't like a sentence in this shape because the 'certainly' " - "on one side of the verb and the 'usually' on the other are " - "rival indications of certainty."); - -@ In all other cases it's routine to construct the subtree, which typically -gives the sentence node three children: verb phrase, subject noun phrase, -object noun phrase. -= (text) - SENTENCE_NT "Railway Departure begins when the player is in the train" - VERB_NT "begins when" - PROPER_NOUN_NT "Railway Departure" - PROPER_NOUN_NT "the player is in the train" -= - -@ 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 -particular form: for instance matches any text ending -in the word "figure". - - is an awkward necessity, designed to prevent the -regular sentence - ->> The impulse is an action name that varies. - -from being parsed as an instance of "... is an action ...", creating a -new action. - -= - ::= - figure ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } - - ::= - sound ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } - - ::= - ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } - - ::= - ^ ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } - - ::= - *** that/which vary/varies | - *** variable - -@ "I6" and "Inform 6" are synonymous here. - -= - ::= - unicode ==> { TRUE, NULL } - - ::= - i6 | ==> { TRUE, NULL } - inform 6 ==> { TRUE, NULL } - - ::= - ==> { TRUE, RP[1] } - -@ = -int Sentences::VPs::translates_into_unicode_as_SMF(int task, parse_node *V, wording *NPs) { - wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; - wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; - switch (task) { /* "Black king chess piece translates into Unicode as 9818" */ - case ACCEPT_SMFT: - if ((O2W)) { - (SW); - V->next = <>; - (OW); - V->next->next = <>; - return TRUE; - } - break; - case TRAVERSE2_SMFT: - UnicodeTranslations::unicode_translates(V); - break; - } - return FALSE; -} - -int Sentences::VPs::translates_into_I6_as_SMF(int task, parse_node *V, wording *NPs) { - wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; - wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; - switch (task) { /* "Black king chess piece translates into Unicode as 9818" */ - case ACCEPT_SMFT: - if ((O2W)) { - (SW); - V->next = <>; - (OW); - V->next->next = <>; - return TRUE; - } - break; - case TRAVERSE1_SMFT: - case TRAVERSE2_SMFT: - IdentifierTranslations::as(V); - break; - } - return FALSE; -} - -int Sentences::VPs::translates_into_language_as_SMF(int task, parse_node *V, wording *NPs) { - wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; - wording OW = (NPs)?(NPs[1]):EMPTY_WORDING; - wording O2W = (NPs)?(NPs[2]):EMPTY_WORDING; - switch (task) { /* "Black king chess piece translates into Unicode as 9818" */ - case ACCEPT_SMFT: - if ((O2W)) { - inform_language *nl = (inform_language *) (<>); - (SW); - V->next = <>; - (OW); - V->next->next = <>; - Node::set_defn_language(V->next->next, nl); - return TRUE; - } - break; - case TRAVERSE1_SMFT: - UseNouns::nl_translates(V); - break; - } - return FALSE; -} - - -@ This final case never matches a legal sentence: it simply hoovers up -usages of past tense assertion verbs in order to give them a better -Problem message than the one they will otherwise receive later on. - -= - ::= - ... - - ::= - ... | ==> { advance Wordings::delta(WR[1], W) } - ... | ==> { advance Wordings::delta(WR[1], W) } - ... | ==> @ - ... ==> @ - -@ = - if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) { - Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE); - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_NonPresentTense), - "assertions about the initial state of play must be given in the " - "present tense", - "so 'The cat is in the basket' is fine but not 'The cat has been in " - "the basket'. Time is presumed to start only when the game begins, so " - "there is no anterior state which we can speak of."); - } - -@ This catches sentences like "Timothy does not carry the ring". - -@ = - if (Annotations::read_int(current_sentence, verb_problem_issued_ANNOT) == FALSE) { - Annotations::write_int(current_sentence, verb_problem_issued_ANNOT, TRUE); - StandardProblems::negative_sentence_problem(Task::syntax_tree(), _p_(PM_NegatedVerb1)); - } - -@h Logging verb numbers. - -= -void Sentences::VPs::log(int verb_number) { - switch(verb_number) { - case ASSERT_VB: LOG("ASSERT_VB"); break; - case SPECIAL_MEANING_VB: LOG("SPECIAL_MEANING_VB"); break; - default: LOG("(number %d)", verb_number); break; - } -} diff --git a/inform7/core-module/Chapter 7/Of and From.w b/inform7/core-module/Chapter 7/Of and From.w index 0dc2a5a68..cecea9cea 100644 --- a/inform7/core-module/Chapter 7/Of and From.w +++ b/inform7/core-module/Chapter 7/Of and From.w @@ -141,7 +141,7 @@ We therefore look for this subtree structure: the new property. @ = - if ((Sentences::VPs::special(pn) == FALSE) + if ((Assertions::Traverse::special(pn) == FALSE) && (pn->next) && (pn->next->next) && (Assertions::Copular::possessive(pn->next->next)) @@ -279,12 +279,12 @@ 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 = Sentences::VPs::special(pn->down); + int vn = Assertions::Traverse::special(pn->down); if (((vn == FALSE) || (Annotations::read_int(pn->down, examine_for_ofs_ANNOT))) && ((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 */ - Sentences::VPs::seek(pn); /* ...in order to make a new one */ + Classifying::visit_extra_sentence(pn); /* ...in order to make a new one */ } } } diff --git a/inform7/core-module/Chapter 7/Parse Tree Usage.w b/inform7/core-module/Chapter 7/Parse Tree Usage.w index 85982e743..aeb30144e 100644 --- a/inform7/core-module/Chapter 7/Parse Tree Usage.w +++ b/inform7/core-module/Chapter 7/Parse Tree Usage.w @@ -183,7 +183,6 @@ void ParseTreeUsage::write_permissions(void) { Annotations::allow_for_category(L2_NCAT, clears_pronouns_ANNOT); Annotations::allow_for_category(L2_NCAT, interpretation_of_subject_ANNOT); - Annotations::allow_for_category(L2_NCAT, sentence_unparsed_ANNOT); Annotations::allow_for_category(L2_NCAT, verb_problem_issued_ANNOT); Annotations::allow(RULE_NT, indentation_level_ANNOT); Annotations::allow(SENTENCE_NT, implicit_in_creation_of_ANNOT); @@ -202,10 +201,8 @@ void ParseTreeUsage::write_permissions(void) { Annotations::allow(ADJECTIVE_NT, aph_ANNOT); 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, imperative_ANNOT); Annotations::allow(VERB_NT, examine_for_ofs_ANNOT); - Annotations::allow(VERB_NT, listing_sense_ANNOT); + Annotations::allow(VERB_NT, rule_placement_sense_ANNOT); Annotations::allow(COMMON_NOUN_NT, action_meaning_ANNOT); Annotations::allow(COMMON_NOUN_NT, creation_site_ANNOT); Annotations::allow(COMMON_NOUN_NT, multiplicity_ANNOT); @@ -216,7 +213,6 @@ void ParseTreeUsage::write_permissions(void) { Annotations::allow(PROPER_NOUN_NT, creation_site_ANNOT); Annotations::allow(UNPARSED_NOUN_NT, defn_language_ANNOT); Annotations::allow(PROPER_NOUN_NT, defn_language_ANNOT); - Annotations::allow(PROPER_NOUN_NT, log_inclusion_sense_ANNOT); Annotations::allow(PROPER_NOUN_NT, lpe_options_ANNOT); Annotations::allow(PROPER_NOUN_NT, multiplicity_ANNOT); Annotations::allow(PROPER_NOUN_NT, negated_boolean_ANNOT); @@ -249,10 +245,7 @@ void ParseTreeUsage::write_permissions(void) { Annotations::allow_for_category(L4_NCAT, verb_problem_issued_ANNOT); Annotations::allow_for_category(L4_NCAT, problem_falls_under_ANNOT); Annotations::allow_for_category(L4_NCAT, module_ANNOT); - Annotations::allow(CODE_BLOCK_NT, sentence_unparsed_ANNOT); Annotations::allow(INVOCATION_LIST_NT, from_text_substitution_ANNOT); - Annotations::allow(INVOCATION_LIST_NT, sentence_unparsed_ANNOT); - Annotations::allow(INVOCATION_LIST_SAY_NT, sentence_unparsed_ANNOT); Annotations::allow(INVOCATION_LIST_SAY_NT, suppress_newlines_ANNOT); Annotations::allow(INVOCATION_NT, epistemological_status_ANNOT); Annotations::allow(INVOCATION_NT, kind_resulting_ANNOT); @@ -487,8 +480,3 @@ void ParseTreeUsage::verify(void) { VerifyTree::verify_integrity(Task::syntax_tree()); VerifyTree::verify_structure(Task::syntax_tree()); } - -@ - -@d PARSE_TREE_TRAVERSE_TYPE instance - diff --git a/inform7/core-module/Chapter 9/The Creator.w b/inform7/core-module/Chapter 9/The Creator.w index 82edb3b55..28b8fe64f 100644 --- a/inform7/core-module/Chapter 9/The Creator.w +++ b/inform7/core-module/Chapter 9/The Creator.w @@ -1064,3 +1064,23 @@ int Assertions::Creator::vet_name_for_noun(wording W) { } return TRUE; } + +@h The natural language kind. +Inform has a kind built in called "natural language", whose values are +enumerated names: English language, French language, German language and so on. +When the kind is created, the following routine makes these instances. We do +this exactly as we would to create any other instance -- we write a logical +proposition claiming its existence, then assert it to be true. + +@d NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK Assertions::Creator::stock_nl_kind + += +void Assertions::Creator::stock_nl_kind(kind *K) { + inform_language *L; + LOOP_OVER(L, inform_language) { + pcalc_prop *prop = + Calculus::Propositions::Abstract::to_create_something(K, L->instance_name); + Calculus::Propositions::Assert::assert_true(prop, CERTAIN_CE); + L->nl_instance = latest_instance; + } +} diff --git a/inform7/core-module/Chapter 9/To Be and To Have.w b/inform7/core-module/Chapter 9/To Be and To Have.w index f526db728..9e5485e43 100644 --- a/inform7/core-module/Chapter 9/To Be and To Have.w +++ b/inform7/core-module/Chapter 9/To Be and To Have.w @@ -32,8 +32,6 @@ box" (not just a leaf, since it will be a tree showing the containment relationship as well as the noun). = -sentence_handler ASSERT_SH_handler = { SENTENCE_NT, ASSERT_VB, 0, Assertions::Copular::assertion }; - void Assertions::Copular::assertion(parse_node *pv) { if (Assertions::Copular::possessive(pv->down->next->next)) Assertions::Copular::to_have(pv); diff --git a/inform7/core-module/Chapter 9/Traverse for Assertions.w b/inform7/core-module/Chapter 9/Traverse for Assertions.w index 61c87642b..8c61ebca5 100644 --- a/inform7/core-module/Chapter 9/Traverse for Assertions.w +++ b/inform7/core-module/Chapter 9/Traverse for Assertions.w @@ -31,6 +31,7 @@ exception to Inform's normal rules.) @e TRAVERSE_FOR_MAP1_SMFT @e TRAVERSE_FOR_MAP2_SMFT @e TRAVERSE_FOR_MAP_INDEX_SMFT +@e ALLOW_IN_OPTIONS_FILE_SMFT = (early code) int traverse; /* always 1 or 2 */ @@ -67,7 +68,6 @@ typedef struct sentence_handler { = sentence_handler *how_to_handle_nodes[MAX_OF_NTS_AND_VBS]; /* for non-|SENTENCE_NT| nodes */ -sentence_handler *how_to_handle_sentences[MAX_OF_NTS_AND_VBS]; /* for |SENTENCE_NT| nodes */ @ We recognise either node types |*_NT|, or node type |SENTENCE_NT| plus an associated verb number |*_VB|. The following macro registers a sentence handler @@ -75,9 +75,6 @@ by entering a pointer to it into one of the above tables: @d REGISTER_SENTENCE_HANDLER(sh_name) { sentence_handler *the_sh = &sh_name##_handler; - if ((the_sh->sentence_node_type == SENTENCE_NT) && (the_sh->verb_type != -1)) - how_to_handle_sentences[the_sh->verb_type] = the_sh; - else how_to_handle_nodes[the_sh->sentence_node_type - ENUMERATED_NT_BASE] = the_sh; } @@ -177,10 +174,7 @@ handlers until right at the end of the program. The routine which does so, 14. @ = - for (int i=0; i = if ((p->down) && (p->down->next)) { @@ -263,6 +257,11 @@ refers on to other sentence handlers accordingly: sentence_handler SENTENCE_SH_handler = { SENTENCE_NT, -1, 0, Assertions::Traverse::handle_sentence_with_primary_verb }; +int Assertions::Traverse::special(parse_node *p) { + if (Node::get_special_meaning(p)) return TRUE; + return FALSE; +} + void Assertions::Traverse::handle_sentence_with_primary_verb(parse_node *p) { prevailing_mood = UNKNOWN_CE; if (Annotations::read_int(p, language_element_ANNOT)) return; @@ -281,13 +280,11 @@ the description or initial appearance of the most recent object, but in all other eventualities we must produce a "no such sentence" problem. @ = - if ((Wordings::length(Node::get_text(p)) == 1) && - (Vocabulary::test_flags(Wordings::first_wn(Node::get_text(p)), TEXT_MC+TEXTWITHSUBS_MC))) { + if (Classifying::sentence_is_textual(p)) { if (traverse == 2) Assertions::Traverse::set_appearance(Wordings::first_wn(Node::get_text(p))); return; } - (Node::get_text(p)); - return; + internal_error("sentence unclassified"); @ We now use the other sentence-handler table, with almost the same code as for the first (above). A small point of difference is that it's allowed for @@ -295,19 +292,8 @@ a valid verb number to have no handler: if so, we handle the verb by doing nothing on either traverse, of course. @ = - 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\n"); - internal_error_on_node_type(p->down); - } - if (how_to_handle_sentences[vn]) { - int desired = how_to_handle_sentences[vn]->handle_on_traverse; - if (((traverse == desired) || (desired == 0)) && - (how_to_handle_sentences[vn]->handling_routine)) - (*(how_to_handle_sentences[vn]->handling_routine))(p); - } + if (Assertions::Traverse::special(p->down)) Assertions::Traverse::special_meaning(p); + else Assertions::Copular::assertion(p); @ During early beta-testing, the problem message for "I can't find a verb" split into cases. Inform is quite sensitive to punctuation errors as between @@ -316,51 +302,6 @@ to bite. = ::= - before/every/after/when/instead/check/carry/report ... | ==> @ - if ... | ==> @ - ... , ... | ==> @ - ... ==> @ - -@ = - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_RuleWithoutColon), - "I can't find a verb that I know how to deal with, so can't do anything " - "with this sentence. It looks as if it might be a rule definition", - "but if so then it is lacking the necessary colon (or comma). " - "The punctuation style for rules is 'Rule conditions: do this; " - "do that; do some more.' Perhaps you used a full stop instead " - "of the colon?"); - -@ = - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_IfOutsidePhrase), - "I can't find a verb that I know how to deal with. This looks like an 'if' " - "phrase which has slipped its moorings", - "so I am ignoring it. ('If' phrases, like all other such " - "instructions, belong inside definitions of rules or phrases - " - "not as sentences which have no context. Maybe a full stop or a " - "skipped line was accidentally used instead of semicolon, so that you " - "inadvertently ended the last rule early?)"); - -@ = - Problems::quote_source(1, current_sentence); - StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerbComma)); - Problems::issue_problem_segment( - "In the sentence %1, I can't find a verb that I know how to deal with. " - "(I notice there's a comma here, which is sometimes used to abbreviate " - "rules which would normally be written with a colon - for instance, " - "'Before taking: say \"You draw breath.\"' can be abbreviated to 'Before " - "taking, say...' - but that's only allowed for Before, Instead and " - "After rules. I mention all this in case you meant this sentence " - "as a rule in some rulebook, but used a comma where there should " - "have been a colon ':'?)"); - Problems::issue_problem_end(); - -@ = - LOG("$T\n", current_sentence); - Problems::quote_source(1, current_sentence); - StandardProblems::handmade_problem(Task::syntax_tree(), _p_(PM_NoSuchVerb)); - Problems::issue_problem_segment( - "In the sentence %1, I can't find a verb that I know how to deal with."); - Problems::issue_problem_end(); @ Inform source text does not make much use of parentheses to group subexpressions, but the ability does exist, and we defend it a little here: @@ -538,15 +479,12 @@ void Assertions::Traverse::subject_of_discussion_a_list(void) { } @ = -sentence_handler SPECIAL_MEANING_SH_handler = - { SENTENCE_NT, SPECIAL_MEANING_VB, 0, Assertions::Traverse::special_meaning }; - void Assertions::Traverse::special_meaning(parse_node *pn) { Assertions::Traverse::try_special_meaning(traverse, pn->down); } void Assertions::Traverse::try_special_meaning(int task, parse_node *pn) { - if (Sentences::VPs::special(pn)) { + if (Assertions::Traverse::special(pn)) { special_meaning_holder *sm = Node::get_special_meaning(pn); if (sm) SpecialMeanings::call(sm, task, pn, NULL); } diff --git a/inform7/core-module/Contents.w b/inform7/core-module/Contents.w index ea4931919..67782935b 100644 --- a/inform7/core-module/Contents.w +++ b/inform7/core-module/Contents.w @@ -13,6 +13,7 @@ Chapter 1: Configuration and Control Main Routine What To Compile How To Compile + Core Preform Progress Percentages Chapter 2: Bridge to Problems Module @@ -24,8 +25,10 @@ Chapter 2: Bridge to Problems Module Chapter 3: Bridge to Words Module "Reading source text as a stream of characters and dividing it up into words." - Natural Languages - Plural Dictionary + Classifying Sentences + Debugging Log Requests + Pluralisation Requests + Translation Requests Chapter 4: Bridge to Linguistics Module "Miscellaneous grammatical features other than nouns, verbs and adjectives." @@ -62,7 +65,6 @@ material intended only for certain target virtual machines included or excluded as need be." Parse Tree Usage Headings - Nonstructural Sentences Of and From Rule Subtrees diff --git a/inform7/extensions/basic_inform/Sections/Miscellaneous Definitions.w b/inform7/extensions/basic_inform/Sections/Miscellaneous Definitions.w index 95c7b871e..3b28bd5d3 100644 --- a/inform7/extensions/basic_inform/Sections/Miscellaneous Definitions.w +++ b/inform7/extensions/basic_inform/Sections/Miscellaneous Definitions.w @@ -32,17 +32,15 @@ An object can be plural-named or singular-named. An object is usually singular-n An object can be proper-named or improper-named. An object is usually improper-named. An object can be ambiguously plural. -@ In the age of Inter as a target language, "translates into I6" is not to -be taken literally. These are instead identifier names which will be used to -annotate our Inter code. +@ These are Inter identifier names. = -The indefinite article property translates into I6 as "article". -The printed plural name property translates into I6 as "plural". -The printed name property translates into I6 as "short_name". -The plural-named property translates into I6 as "pluralname". -The ambiguously plural property translates into I6 as "ambigpluralname". -The proper-named property translates into I6 as "proper". +The indefinite article property translates into Inter as "article". +The printed plural name property translates into Inter as "plural". +The printed name property translates into Inter as "short_name". +The plural-named property translates into Inter as "pluralname". +The ambiguously plural property translates into Inter as "ambigpluralname". +The proper-named property translates into Inter as "proper". @h Variables. Most of the built-in kinds and kind constructors, such as "number" and @@ -65,7 +63,7 @@ despite the definition below, it is not necessarily an object.) = The parameter-object is an object that varies. -The parameter-object variable translates into I6 as "parameter_value". +The parameter-object variable translates into Inter as "parameter_value". @h Rulebooks. The Standard Rules (for interactive fiction) create a wealth of rulebooks @@ -87,7 +85,7 @@ Shutdown rules is a rulebook. Starting the virtual machine (documented at act_startvm) is an activity. The enable Glulx acceleration rule is listed first in for starting the virtual machine. -The enable Glulx acceleration rule translates into I6 as "ENABLE_GLULX_ACCEL_R". +The enable Glulx acceleration rule translates into Inter as "ENABLE_GLULX_ACCEL_R". @ However, the two activities for printing names of objects are indeed functional in Basic Inform. @@ -96,10 +94,12 @@ functional in Basic Inform. Printing the name of something (documented at act_pn) is an activity. The standard name printing rule is listed last in the for printing the name rulebook. -The standard name printing rule translates into I6 as "STANDARD_NAME_PRINTING_R". +The standard name printing rule translates into Inter as "STANDARD_NAME_PRINTING_R". Printing the plural name of something (documented at act_ppn) is an activity. -The standard printing the plural name rule is listed last in the for printing the plural name rulebook. -The standard printing the plural name rule translates into I6 as "STANDARD_PLURAL_NAME_PRINTING_R". +The standard printing the plural name rule is listed last in the for printing the +plural name rulebook. +The standard printing the plural name rule translates into Inter as +"STANDARD_PLURAL_NAME_PRINTING_R". diff --git a/inform7/extensions/standard_rules/Sections/Actions.w b/inform7/extensions/standard_rules/Sections/Actions.w index 9f768ccf1..1f63ea774 100644 --- a/inform7/extensions/standard_rules/Sections/Actions.w +++ b/inform7/extensions/standard_rules/Sections/Actions.w @@ -36,7 +36,7 @@ To win is a verb. Section 2 - Standard actions concerning the actor's possessions Taking inventory is an action applying to nothing. -The taking inventory action translates into I6 as "Inv". +The taking inventory action translates into Inter as "Inv". The specification of the taking inventory action is "Taking an inventory of one's immediate possessions: the things being carried, either directly or in @@ -80,7 +80,7 @@ Report an actor taking inventory (this is the report other people taking = Taking is an action applying to one thing. -The taking action translates into I6 as "Take". +The taking action translates into Inter as "Take". The specification of the taking action is "The taking action is the only way an action in the Standard Rules can cause something to be carried by an actor. @@ -205,7 +205,7 @@ Report an actor taking (this is the standard report taking rule): = Removing it from is an action applying to two things. -The removing it from action translates into I6 as "Remove". +The removing it from action translates into Inter as "Remove". The specification of the removing it from action is "Removing is not really an action in its own right. Whereas there are many ways to put something down @@ -245,7 +245,7 @@ inside rule in the check removing it from rules. = Dropping is an action applying to one thing. -The dropping action translates into I6 as "Drop". +The dropping action translates into Inter as "Drop". The specification of the dropping action is "Dropping is one of five actions by which an actor can get rid of something carried: the others are inserting @@ -333,7 +333,7 @@ Report an actor dropping (this is the standard report dropping rule): = Putting it on is an action applying to two things. -The putting it on action translates into I6 as "PutOn". +The putting it on action translates into Inter as "PutOn". The specification of the putting it on action is "By this action, an actor puts something he is holding on top of a supporter: for instance, putting an apple @@ -408,7 +408,7 @@ Report an actor putting something on (this is the standard report putting rule): = Inserting it into is an action applying to two things. -The inserting it into action translates into I6 as "Insert". +The inserting it into action translates into Inter as "Insert". The specification of the inserting it into action is "By this action, an actor puts something he is holding into a container: for instance, putting a coin into a @@ -492,7 +492,7 @@ Report an actor inserting something into (this is the standard report inserting = Eating is an action applying to one thing. -The eating action translates into I6 as "Eat". +The eating action translates into Inter as "Eat". The specification of the eating action is "Eating is the only one of the built-in actions which can, in effect, destroy something: the carry out @@ -555,7 +555,7 @@ Report an actor eating (this is the standard report eating rule): Section 3 - Standard actions which move the actor Going is an action applying to one visible thing. -The going action translates into I6 as "Go". +The going action translates into Inter as "Go". The specification of the going action is "This is the action which allows people to move from one room to another, using whatever map connections and doors are @@ -738,7 +738,7 @@ Report an actor going (this is the describe room gone into rule): = Entering is an action applying to one thing. -The entering action translates into I6 as "Enter". +The entering action translates into Inter as "Enter". The specification of the entering action is "Whereas the going action allows people to move from one location to another in the model world, the entering @@ -886,7 +886,7 @@ Report an actor entering (this is the describe contents entered into rule): = Exiting is an action applying to nothing. -The exiting action translates into I6 as "Exit". +The exiting action translates into Inter as "Exit". The exiting action has an object called the container exited from (matched as "from"). The specification of the exiting action is "Whereas the going action allows @@ -960,7 +960,7 @@ Report an actor exiting (this is the describe room emerged into rule): = Getting off is an action applying to one thing. -The getting off action translates into I6 as "GetOff". +The getting off action translates into Inter as "GetOff". The specification of the getting off action is "The getting off action is for actors who are currently on top of a supporter: perhaps standing on a platform, @@ -1004,7 +1004,7 @@ Report an actor getting off (this is the describe room stood up into rule): Section 4 - Standard actions concerning the actor's vision Looking is an action applying to nothing. -The looking action translates into I6 as "Look". +The looking action translates into Inter as "Look". The specification of the looking action is "The looking action describes the player's current room and any visible items, but is made more complicated @@ -1141,7 +1141,7 @@ Report an actor looking (this is the other people looking rule): = Examining is an action applying to one visible thing and requiring light. -The examining action translates into I6 as "Examine". +The examining action translates into Inter as "Examine". The specification of the examining action is "The act of looking closely at something. Note that the noun could be either a direction or a thing, which @@ -1219,7 +1219,7 @@ Report an actor examining (this is the report other people examining rule): = Looking under is an action applying to one visible thing and requiring light. -The looking under action translates into I6 as "LookUnder". +The looking under action translates into Inter as "LookUnder". The specification of the looking under action is "The standard Inform world model does not have a concept of things being under other things, so this @@ -1253,7 +1253,7 @@ Report an actor looking under (this is the report other people looking under rul = Searching is an action applying to one thing and requiring light. -The searching action translates into I6 as "Search". +The searching action translates into Inter as "Search". The specification of the searching action is "Searching looks at the contents of an open or transparent container, or at the items on top of a supporter. @@ -1315,7 +1315,7 @@ Report an actor searching (this is the report other people searching rule): = Consulting it about is an action applying to one thing and one topic. -The consulting it about action translates into I6 as "Consult". +The consulting it about action translates into Inter as "Consult". The specification of the consulting it about action is "Consulting is a very flexible and potentially powerful action, but only because it leaves almost @@ -1343,7 +1343,7 @@ Report an actor consulting something about (this is the block consulting rule): Section 5 - Standard actions which change the state of things Locking it with is an action applying to one thing and one carried thing. -The locking it with action translates into I6 as "Lock". +The locking it with action translates into Inter as "Lock". The specification of the locking it with action is "Locking is the act of using an object such as a key to ensure that something such as a door or @@ -1426,7 +1426,7 @@ Report an actor locking something with (this is the standard report locking rule = Unlocking it with is an action applying to one thing and one carried thing. -The unlocking it with action translates into I6 as "Unlock". +The unlocking it with action translates into Inter as "Unlock". The specification of the unlocking it with action is "Unlocking undoes the effect of locking, and renders the noun openable again provided that the @@ -1501,7 +1501,7 @@ Report an actor unlocking something with (this is the standard report unlocking = Switching on is an action applying to one thing. -The switching on action translates into I6 as "SwitchOn". +The switching on action translates into Inter as "SwitchOn". The specification of the switching on action is "The switching on and switching off actions are for the simplest kind of machinery operation: they are for @@ -1544,7 +1544,7 @@ Report an actor switching on (this is the standard report switching on rule): = Switching off is an action applying to one thing. -The switching off action translates into I6 as "SwitchOff". +The switching off action translates into Inter as "SwitchOff". The specification of the switching off action is "The switching off and switching on actions are for the simplest kind of machinery operation: they are for @@ -1587,7 +1587,7 @@ Report an actor switching off (this is the standard report switching off rule): = Opening is an action applying to one thing. -The opening action translates into I6 as "Open". +The opening action translates into Inter as "Open". The specification of the opening action is "Opening makes something no longer a physical barrier. The action can be performed on any kind of thing which @@ -1670,7 +1670,7 @@ Report an actor opening (this is the standard report opening rule): = Closing is an action applying to one thing. -The closing action translates into I6 as "Close". +The closing action translates into Inter as "Close". The specification of the closing action is "Closing makes something into a physical barrier. The action can be performed on any kind of thing which @@ -1729,7 +1729,7 @@ Report an actor closing (this is the standard report closing rule): = Wearing is an action applying to one carried thing. -The wearing action translates into I6 as "Wear". +The wearing action translates into Inter as "Wear". The specification of the wearing action is "The Standard Rules give Inform only a simple model of clothing. A thing can be worn only if it has the @@ -1784,7 +1784,7 @@ Report an actor wearing (this is the standard report wearing rule): = Taking off is an action applying to one thing. -The taking off action translates into I6 as "Disrobe". +The taking off action translates into Inter as "Disrobe". Does the player mean taking off something worn: it is very likely. @@ -1837,7 +1837,7 @@ Report an actor taking off (this is the standard report taking off rule): Section 6 - Standard actions concerning other people Giving it to is an action applying to one carried thing and one thing. -The giving it to action translates into I6 as "Give". +The giving it to action translates into Inter as "Give". The specification of the giving it to action is "This action is indexed by Inform under 'Actions concerning other people', but it could just as easily @@ -1917,7 +1917,7 @@ Report an actor giving something to (this is the standard report giving rule): = Showing it to is an action applying to one carried thing and one visible thing. -The showing it to action translates into I6 as "Show". +The showing it to action translates into Inter as "Show". The specification of the showing it to action is "Anyone can show anyone else something which they are carrying, but not some nearby piece of @@ -1958,7 +1958,7 @@ Check an actor showing something to (this is the block showing rule): = Waking is an action applying to one thing. -The waking action translates into I6 as "WakeOther". +The waking action translates into Inter as "WakeOther". The specification of the waking action is "This is the act of jostling a sleeping person to wake him or her up, and it finds its way into the @@ -1980,7 +1980,7 @@ Check an actor waking (this is the block waking rule): = Throwing it at is an action applying to one carried thing and one visible thing. -The throwing it at action translates into I6 as "ThrowAt". +The throwing it at action translates into Inter as "ThrowAt". The specification of the throwing it at action is "Throwing something at someone or something is difficult for Inform to model. So many considerations @@ -2030,7 +2030,7 @@ Check an actor throwing something at (this is the block throwing at rule): = Attacking is an action applying to one thing. -The attacking action translates into I6 as "Attack". +The attacking action translates into Inter as "Attack". The specification of the attacking action is "Violence is seldom the answer, and attempts to attack another person are normally blocked as being unrealistic @@ -2052,7 +2052,7 @@ Check an actor attacking (this is the block attacking rule): = Kissing is an action applying to one thing. -The kissing action translates into I6 as "Kiss". +The kissing action translates into Inter as "Kiss". The specification of the kissing action is "Possibly because Inform was originally written by an Englishman, attempts at kissing another person are @@ -2078,7 +2078,7 @@ Check an actor kissing (this is the block kissing rule): = Answering it that is an action applying to one thing and one topic. -The answering it that action translates into I6 as "Answer". +The answering it that action translates into Inter as "Answer". The specification of the answering it that action is "The Standard Rules do not include any systematic way to handle conversation: instead, Inform is @@ -2114,7 +2114,7 @@ Report an actor answering something that (this is the block answering rule): = Telling it about is an action applying to one thing and one topic. -The telling it about action translates into I6 as "Tell". +The telling it about action translates into Inter as "Tell". The specification of the telling it about action is "The Standard Rules do not include any systematic way to handle conversation: instead, Inform is @@ -2155,7 +2155,7 @@ Report an actor telling something about (this is the block telling rule): = Asking it about is an action applying to one thing and one topic. -The asking it about action translates into I6 as "Ask". +The asking it about action translates into Inter as "Ask". The specification of the asking it about action is "The Standard Rules do not include any systematic way to handle conversation: instead, Inform is @@ -2190,7 +2190,7 @@ Report an actor asking something about (this is the block asking rule): = Asking it for is an action applying to two things. -The asking it for action translates into I6 as "AskFor". +The asking it for action translates into Inter as "AskFor". The specification of the asking it for action is "The Standard Rules do not include any systematic way to handle conversation, but this is @@ -2223,7 +2223,7 @@ Check an actor asking something for (this is the translate asking for to giving Section 7 - Standard actions which are checked but then do nothing unless rules intervene Waiting is an action applying to nothing. -The waiting action translates into I6 as "Wait". +The waiting action translates into Inter as "Wait". The specification of the waiting action is "The inaction action: where would we be without waiting? Waiting does not cause time to pass by - that happens @@ -2250,7 +2250,7 @@ Report an actor waiting (this is the standard report waiting rule): = Touching is an action applying to one thing. -The touching action translates into I6 as "Touch". +The touching action translates into Inter as "Touch". The specification of the touching action is "Touching is just that, touching something without applying pressure: a touch-sensitive screen or a living @@ -2298,7 +2298,7 @@ Report an actor touching (this is the report touching things rule): = Waving is an action applying to one thing. -The waving action translates into I6 as "Wave". +The waving action translates into Inter as "Wave". The specification of the waving action is "Waving in this sense is like waving a sceptre: the item to be waved must be directly held (or worn) @@ -2332,7 +2332,7 @@ Report an actor waving (this is the report waving things rule): = Pulling is an action applying to one thing. -The Pulling action translates into I6 as "Pull". +The Pulling action translates into Inter as "Pull". The specification of the pulling action is "Pulling is the act of pulling something not grossly larger than the actor by an amount which would not @@ -2381,7 +2381,7 @@ Report an actor pulling (this is the report pulling rule): = Pushing is an action applying to one thing. -The Pushing action translates into I6 as "Push". +The Pushing action translates into Inter as "Push". The specification of the pushing action is "Pushing is the act of pushing something not grossly larger than the actor by an amount which would not @@ -2431,7 +2431,7 @@ Report an actor pushing something (this is the report pushing rule): = Turning is an action applying to one thing. -The Turning action translates into I6 as "Turn". +The Turning action translates into Inter as "Turn". The specification of the turning action is "Turning is the act of rotating something - say, a dial. @@ -2477,7 +2477,7 @@ Report an actor turning (this is the report turning rule): = Pushing it to is an action applying to one thing and one visible thing. -The Pushing it to action translates into I6 as "PushDir". +The Pushing it to action translates into Inter as "PushDir". The specification of the pushing it to action is "This action covers pushing a large object, not being carried, so that the actor pushes it from one room @@ -2529,7 +2529,7 @@ Check an actor pushing something to (this is the block pushing in directions rul = Squeezing is an action applying to one thing. -The Squeezing action translates into I6 as "Squeeze". +The Squeezing action translates into Inter as "Squeeze". The specification of the squeezing action is "Squeezing is an action which can conveniently vary from squeezing something hand-held, like a washing-up @@ -2566,7 +2566,7 @@ Report an actor squeezing (this is the report squeezing rule): Section 8 - Standard actions which always do nothing unless rules intervene Saying yes is an action applying to nothing. -The Saying yes action translates into I6 as "Yes". +The Saying yes action translates into Inter as "Yes". The specification of the saying yes action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2588,7 +2588,7 @@ Check an actor saying yes (this is the block saying yes rule): = Saying no is an action applying to nothing. -The Saying no action translates into I6 as "No". +The Saying no action translates into Inter as "No". The specification of the saying no action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2610,7 +2610,7 @@ Check an actor saying no (this is the block saying no rule): = Burning is an action applying to one thing. -The Burning action translates into I6 as "Burn". +The Burning action translates into Inter as "Burn". The specification of the burning action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2632,7 +2632,7 @@ Check an actor burning (this is the block burning rule): = Waking up is an action applying to nothing. -The Waking up action translates into I6 as "Wake". +The Waking up action translates into Inter as "Wake". The specification of the waking up action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2655,7 +2655,7 @@ Check an actor waking up (this is the block waking up rule): = Thinking is an action applying to nothing. -The Thinking action translates into I6 as "Think". +The Thinking action translates into Inter as "Think". The specification of the thinking action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2677,7 +2677,7 @@ Check an actor thinking (this is the block thinking rule): = Smelling is an action applying to nothing or one thing. -The Smelling action translates into I6 as "Smell". +The Smelling action translates into Inter as "Smell". The specification of the smelling action is "The Standard Rules define this action in only a minimal way, replying only @@ -2697,7 +2697,7 @@ Report an actor smelling (this is the report smelling rule): = Listening to is an action applying to nothing or one thing and abbreviable. -The Listening to action translates into I6 as "Listen". +The Listening to action translates into Inter as "Listen". The specification of the listening to action is "The Standard Rules define this action in only a minimal way, replying only @@ -2717,7 +2717,7 @@ Report an actor listening to (this is the report listening rule): = Tasting is an action applying to one thing. -The Tasting action translates into I6 as "Taste". +The Tasting action translates into Inter as "Taste". The specification of the tasting action is "The Standard Rules define this action in only a minimal way, replying only @@ -2737,7 +2737,7 @@ Report an actor tasting (this is the report tasting rule): = Cutting is an action applying to one thing. -The Cutting action translates into I6 as "Cut". +The Cutting action translates into Inter as "Cut". The specification of the cutting action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2759,7 +2759,7 @@ Check an actor cutting (this is the block cutting rule): = Jumping is an action applying to nothing. -The Jumping action translates into I6 as "Jump". +The Jumping action translates into Inter as "Jump". The specification of the jumping action is "The Standard Rules define this action in only a minimal way, simply reporting @@ -2779,7 +2779,7 @@ Report an actor jumping (this is the report jumping rule): = Tying it to is an action applying to two things. -The Tying it to action translates into I6 as "Tie". +The Tying it to action translates into Inter as "Tie". The specification of the tying it to action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2801,7 +2801,7 @@ Check an actor tying something to (this is the block tying rule): = Drinking is an action applying to one thing. -The Drinking action translates into I6 as "Drink". +The Drinking action translates into Inter as "Drink". The specification of the drinking action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2824,7 +2824,7 @@ Check an actor drinking (this is the block drinking rule): = Saying sorry is an action applying to nothing. -The Saying sorry action translates into I6 as "Sorry". +The Saying sorry action translates into Inter as "Sorry". The specification of the saying sorry action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2847,7 +2847,7 @@ Check an actor saying sorry (this is the block saying sorry rule): = Swinging is an action applying to one thing. -The Swinging action translates into I6 as "Swing". +The Swinging action translates into Inter as "Swing". The specification of the swinging action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2870,7 +2870,7 @@ Check an actor swinging (this is the block swinging rule): = Rubbing is an action applying to one thing. -The Rubbing action translates into I6 as "Rub". +The Rubbing action translates into Inter as "Rub". The specification of the rubbing action is "The Standard Rules define this action in only a minimal way, simply reporting @@ -2899,7 +2899,7 @@ Report an actor rubbing (this is the report rubbing rule): = Setting it to is an action applying to one thing and one topic. -The Setting it to action translates into I6 as "SetTo". +The Setting it to action translates into Inter as "SetTo". The specification of the setting it to action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2921,7 +2921,7 @@ Check an actor setting something to (this is the block setting it to rule): = Waving hands is an action applying to nothing. -The Waving hands action translates into I6 as "WaveHands". +The Waving hands action translates into Inter as "WaveHands". The specification of the waving hands action is "The Standard Rules define this action in only a minimal way, simply reporting @@ -2941,7 +2941,7 @@ Report an actor waving hands (this is the report waving hands rule): = Buying is an action applying to one thing. -The Buying action translates into I6 as "Buy". +The Buying action translates into Inter as "Buy". The specification of the buying action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2964,7 +2964,7 @@ Check an actor buying (this is the block buying rule): = Climbing is an action applying to one thing. -The Climbing action translates into I6 as "Climb". +The Climbing action translates into Inter as "Climb". The specification of the climbing action is "The Standard Rules define this action in only a minimal way, blocking it @@ -2986,7 +2986,7 @@ Check an actor climbing (this is the block climbing rule): = Sleeping is an action applying to nothing. -The Sleeping action translates into I6 as "Sleep". +The Sleeping action translates into Inter as "Sleep". The specification of the sleeping action is "The Standard Rules define this action in only a minimal way, blocking it @@ -3015,60 +3015,60 @@ is the current VM: so these are close to the metal, as they say. Section 9 - Standard actions which happen out of world Quitting the game is an action out of world and applying to nothing. -The quitting the game action translates into I6 as "Quit". +The quitting the game action translates into Inter as "Quit". The quit the game rule is listed in the carry out quitting the game rulebook. -The quit the game rule translates into I6 as "QUIT_THE_GAME_R" with +The quit the game rule translates into Inter as "QUIT_THE_GAME_R" with "Are you sure you want to quit? " (A). Saving the game is an action out of world and applying to nothing. -The saving the game action translates into I6 as "Save". +The saving the game action translates into Inter as "Save". The save the game rule is listed in the carry out saving the game rulebook. -The save the game rule translates into I6 as "SAVE_THE_GAME_R" with +The save the game rule translates into Inter as "SAVE_THE_GAME_R" with "Save failed." (A), "Ok." (B). Restoring the game is an action out of world and applying to nothing. -The restoring the game action translates into I6 as "Restore". +The restoring the game action translates into Inter as "Restore". The restore the game rule is listed in the carry out restoring the game rulebook. -The restore the game rule translates into I6 as "RESTORE_THE_GAME_R" with +The restore the game rule translates into Inter as "RESTORE_THE_GAME_R" with "Restore failed." (A), "Ok." (B). Restarting the game is an action out of world and applying to nothing. -The restarting the game action translates into I6 as "Restart". +The restarting the game action translates into Inter as "Restart". The restart the game rule is listed in the carry out restarting the game rulebook. -The restart the game rule translates into I6 as "RESTART_THE_GAME_R" with +The restart the game rule translates into Inter as "RESTART_THE_GAME_R" with "Are you sure you want to restart? " (A), "Failed." (B). Verifying the story file is an action out of world and applying to nothing. -The verifying the story file action translates into I6 as "Verify". +The verifying the story file action translates into Inter as "Verify". The verify the story file rule is listed in the carry out verifying the story file rulebook. -The verify the story file rule translates into I6 as "VERIFY_THE_STORY_FILE_R" with +The verify the story file rule translates into Inter as "VERIFY_THE_STORY_FILE_R" with "The game file has verified as intact." (A), "The game file did not verify as intact, and may be corrupt." (B). Switching the story transcript on is an action out of world and applying to nothing. -The switching the story transcript on action translates into I6 as "ScriptOn". +The switching the story transcript on action translates into Inter as "ScriptOn". The switch the story transcript on rule is listed in the carry out switching the story transcript on rulebook. -The switch the story transcript on rule translates into I6 as "SWITCH_TRANSCRIPT_ON_R" with +The switch the story transcript on rule translates into Inter as "SWITCH_TRANSCRIPT_ON_R" with "Transcripting is already on." (A), "Start of a transcript of" (B), "Attempt to begin transcript failed." (C). Switching the story transcript off is an action out of world and applying to nothing. -The switching the story transcript off action translates into I6 as "ScriptOff". +The switching the story transcript off action translates into Inter as "ScriptOff". The switch the story transcript off rule is listed in the carry out switching the story transcript off rulebook. -The switch the story transcript off rule translates into I6 as "SWITCH_TRANSCRIPT_OFF_R" with +The switch the story transcript off rule translates into Inter as "SWITCH_TRANSCRIPT_OFF_R" with "Transcripting is already off." (A), "[line break]End of transcript." (B), "Attempt to end transcript failed." (C). @@ -3081,11 +3081,11 @@ different formats being compiled to. = Requesting the story file version is an action out of world and applying to nothing. -The requesting the story file version action translates into I6 as "Version". +The requesting the story file version action translates into Inter as "Version". The announce the story file version rule is listed in the carry out requesting the story file version rulebook. -The announce the story file version rule translates into I6 as "ANNOUNCE_STORY_FILE_VERSION_R". +The announce the story file version rule translates into Inter as "ANNOUNCE_STORY_FILE_VERSION_R". @ There's really no very good reason why we provide the out-of-world command SCORE but not (say) TIME, or any one of dozens of other traditional what's-my-status @@ -3096,10 +3096,10 @@ removal would be a gesture too far. = Requesting the score is an action out of world and applying to nothing. -The requesting the score action translates into I6 as "Score". +The requesting the score action translates into Inter as "Score". The announce the score rule is listed in the carry out requesting the score rulebook. -The announce the score rule translates into I6 as "ANNOUNCE_SCORE_R" with +The announce the score rule translates into Inter as "ANNOUNCE_SCORE_R" with "[if the story has ended]In that game you scored[otherwise]You have so far scored[end if] [score] out of a possible [maximum score], in [turn count] turn[s]" (A), ", earning you the rank of " (B), @@ -3115,46 +3115,46 @@ and does no harm. = Preferring abbreviated room descriptions is an action out of world and applying to nothing. -The preferring abbreviated room descriptions action translates into I6 as "LMode3". +The preferring abbreviated room descriptions action translates into Inter as "LMode3". The prefer abbreviated room descriptions rule is listed in the carry out preferring abbreviated room descriptions rulebook. -The prefer abbreviated room descriptions rule translates into I6 as "PREFER_ABBREVIATED_R". +The prefer abbreviated room descriptions rule translates into Inter as "PREFER_ABBREVIATED_R". The standard report preferring abbreviated room descriptions rule is listed in the report preferring abbreviated room descriptions rulebook. The standard report preferring abbreviated room descriptions rule translates into - I6 as "REP_PREFER_ABBREVIATED_R" with + Inter as "REP_PREFER_ABBREVIATED_R" with " is now in its 'superbrief' mode, which always gives short descriptions of locations (even if you haven't been there before)." (A). Preferring unabbreviated room descriptions is an action out of world and applying to nothing. -The preferring unabbreviated room descriptions action translates into I6 as "LMode2". +The preferring unabbreviated room descriptions action translates into Inter as "LMode2". The prefer unabbreviated room descriptions rule is listed in the carry out preferring unabbreviated room descriptions rulebook. -The prefer unabbreviated room descriptions rule translates into I6 as "PREFER_UNABBREVIATED_R". +The prefer unabbreviated room descriptions rule translates into Inter as "PREFER_UNABBREVIATED_R". The standard report preferring unabbreviated room descriptions rule is listed in the report preferring unabbreviated room descriptions rulebook. The standard report preferring unabbreviated room descriptions rule translates into - I6 as "REP_PREFER_UNABBREVIATED_R" with + Inter as "REP_PREFER_UNABBREVIATED_R" with " is now in its 'verbose' mode, which always gives long descriptions of locations (even if you've been there before)." (A). Preferring sometimes abbreviated room descriptions is an action out of world and applying to nothing. -The preferring sometimes abbreviated room descriptions action translates into I6 as "LMode1". +The preferring sometimes abbreviated room descriptions action translates into Inter as "LMode1". The prefer sometimes abbreviated room descriptions rule is listed in the carry out preferring sometimes abbreviated room descriptions rulebook. -The prefer sometimes abbreviated room descriptions rule translates into I6 as +The prefer sometimes abbreviated room descriptions rule translates into Inter as "PREFER_SOMETIMES_ABBREVIATED_R". The standard report preferring sometimes abbreviated room descriptions rule is listed in the report preferring sometimes abbreviated room descriptions rulebook. The standard report preferring sometimes abbreviated room descriptions rule translates - into I6 as "REP_PREFER_SOMETIMES_ABBR_R" with + into Inter as "REP_PREFER_SOMETIMES_ABBR_R" with " is now in its 'brief' printing mode, which gives long descriptions of places never before visited and short descriptions otherwise." (A). @@ -3162,39 +3162,39 @@ The standard report preferring sometimes abbreviated room descriptions rule tran = Switching score notification on is an action out of world and applying to nothing. -The switching score notification on action translates into I6 as "NotifyOn". +The switching score notification on action translates into Inter as "NotifyOn". The switch score notification on rule is listed in the carry out switching score notification on rulebook. -The switch score notification on rule translates into I6 as "SWITCH_SCORE_NOTIFY_ON_R". +The switch score notification on rule translates into Inter as "SWITCH_SCORE_NOTIFY_ON_R". The standard report switching score notification on rule is listed in the report switching score notification on rulebook. The standard report switching score notification on rule translates into - I6 as "REP_SWITCH_NOTIFY_ON_R" with "Score notification on." (A). + Inter as "REP_SWITCH_NOTIFY_ON_R" with "Score notification on." (A). Switching score notification off is an action out of world and applying to nothing. -The switching score notification off action translates into I6 as "NotifyOff". +The switching score notification off action translates into Inter as "NotifyOff". The switch score notification off rule is listed in the carry out switching score notification off rulebook. -The switch score notification off rule translates into I6 as "SWITCH_SCORE_NOTIFY_OFF_R". +The switch score notification off rule translates into Inter as "SWITCH_SCORE_NOTIFY_OFF_R". The standard report switching score notification off rule is listed in the report switching score notification off rulebook. The standard report switching score notification off rule translates into - I6 as "REP_SWITCH_NOTIFY_OFF_R" with "Score notification off." (A). + Inter as "REP_SWITCH_NOTIFY_OFF_R" with "Score notification off." (A). @ Lastly, the "pronouns" verb, which is perhaps more often used by people debugging the I6 parser than by actual players. = Requesting the pronoun meanings is an action out of world and applying to nothing. -The requesting the pronoun meanings action translates into I6 as "Pronouns". +The requesting the pronoun meanings action translates into Inter as "Pronouns". The announce the pronoun meanings rule is listed in the carry out requesting the pronoun meanings rulebook. -The announce the pronoun meanings rule translates into I6 as "ANNOUNCE_PRONOUN_MEANINGS_R" with +The announce the pronoun meanings rule translates into Inter as "ANNOUNCE_PRONOUN_MEANINGS_R" with "At the moment, " (A), "means " (B), "is unset" (C), diff --git a/inform7/extensions/standard_rules/Sections/Activities.w b/inform7/extensions/standard_rules/Sections/Activities.w index 2a47e53aa..cc90ca1d5 100644 --- a/inform7/extensions/standard_rules/Sections/Activities.w +++ b/inform7/extensions/standard_rules/Sections/Activities.w @@ -31,7 +31,7 @@ activity on responses. The standard issuing the response text rule is listed last in for issuing the response text. -The standard issuing the response text rule translates into I6 as +The standard issuing the response text rule translates into Inter as "STANDARD_RESPONSE_ISSUING_R". @h Naming and listing. @@ -70,7 +70,7 @@ grouped together: = Listing contents of something (documented at act_lc) is an activity. The standard contents listing rule is listed last in the for listing contents rulebook. -The standard contents listing rule translates into I6 as "STANDARD_CONTENTS_LISTING_R". +The standard contents listing rule translates into Inter as "STANDARD_CONTENTS_LISTING_R". Grouping together something (documented at act_gt) is an activity. @ And such lists of names are formed up in turn into room descriptions. @@ -195,7 +195,7 @@ Rule for supplying a missing noun while an actor going (this is the block vaguel = The standard implicit taking rule is listed last in for implicitly taking. -The standard implicit taking rule translates into I6 as "STANDARD_IMPLICIT_TAKING_R" with +The standard implicit taking rule translates into Inter as "STANDARD_IMPLICIT_TAKING_R" with "(first taking [the noun])[command clarification break]" (A), "([the second noun] first taking [the noun])[command clarification break]" (B). @@ -215,12 +215,12 @@ The print obituary headline rule is listed last in for printing the player's obi The print final score rule is listed last in for printing the player's obituary. The display final status line rule is listed last in for printing the player's obituary. -The print obituary headline rule translates into I6 as "PRINT_OBITUARY_HEADLINE_R" +The print obituary headline rule translates into Inter as "PRINT_OBITUARY_HEADLINE_R" with " You have died " (A), " You have won " (B), " The End " (C). -The print final score rule translates into I6 as "PRINT_FINAL_SCORE_R". -The display final status line rule translates into I6 as "DISPLAY_FINAL_STATUS_LINE_R". +The print final score rule translates into Inter as "PRINT_FINAL_SCORE_R". +The display final status line rule translates into Inter as "DISPLAY_FINAL_STATUS_LINE_R". @ There is one last question: the one which usually reads "Would you like to RESTART, RESTORE a saved game, or QUIT?", but which sometimes provides other @@ -238,10 +238,10 @@ who wants to call them. (In the default implementation below, we put references to them into a table.) = -The immediately restart the VM rule translates into I6 as "IMMEDIATELY_RESTART_VM_R". -The immediately restore saved game rule translates into I6 as "IMMEDIATELY_RESTORE_SAVED_R". -The immediately quit rule translates into I6 as "IMMEDIATELY_QUIT_R". -The immediately undo rule translates into I6 as "IMMEDIATELY_UNDO_R" with +The immediately restart the VM rule translates into Inter as "IMMEDIATELY_RESTART_VM_R". +The immediately restore saved game rule translates into Inter as "IMMEDIATELY_RESTORE_SAVED_R". +The immediately quit rule translates into Inter as "IMMEDIATELY_QUIT_R". +The immediately undo rule translates into Inter as "IMMEDIATELY_UNDO_R" with "The use of 'undo' is forbidden in this story." (A), "You can't 'undo' what hasn't been done!" (B), "Your interpreter does not provide 'undo'. Sorry!" (C), @@ -264,7 +264,7 @@ The standard respond to final question rule is listed last in for handling the f This is the print the final prompt rule: say "> [run paragraph on]" (A). -The read the final answer rule translates into I6 as "READ_FINAL_ANSWER_R". +The read the final answer rule translates into Inter as "READ_FINAL_ANSWER_R". @ That clears away the underbrush and reduces us to two matching tasks: (i) to print the question, (ii) to parse the answer, given that we want to be diff --git a/inform7/extensions/standard_rules/Sections/Command Grammar.w b/inform7/extensions/standard_rules/Sections/Command Grammar.w index 4b767ea7d..5d29b22eb 100644 --- a/inform7/extensions/standard_rules/Sections/Command Grammar.w +++ b/inform7/extensions/standard_rules/Sections/Command Grammar.w @@ -233,4 +233,4 @@ Understand "notify off" as switching score notification off. fact used in the default grammar above, but is available for authors. = -The understand token a time period translates into I6 as "RELATIVE_TIME_TOKEN". +The understand token a time period translates into Inter as "RELATIVE_TIME_TOKEN". diff --git a/inform7/extensions/standard_rules/Sections/Phrase Definitions.w b/inform7/extensions/standard_rules/Sections/Phrase Definitions.w index 7fcbe6ed4..ed159a65b 100644 --- a/inform7/extensions/standard_rules/Sections/Phrase Definitions.w +++ b/inform7/extensions/standard_rules/Sections/Phrase Definitions.w @@ -717,7 +717,7 @@ To say pronoun dictionary word: To say recap of command: (- PrintCommand(); -). The pronoun reference object is an object that varies. -The pronoun reference object variable translates into I6 as "pronoun_obj". +The pronoun reference object variable translates into Inter as "pronoun_obj". To say pronoun i6 dictionary word: (- print (address) pronoun_word; -). diff --git a/inform7/extensions/standard_rules/Sections/Physical World Model.w b/inform7/extensions/standard_rules/Sections/Physical World Model.w index 6b72cca3b..25f24338b 100644 --- a/inform7/extensions/standard_rules/Sections/Physical World Model.w +++ b/inform7/extensions/standard_rules/Sections/Physical World Model.w @@ -410,8 +410,8 @@ Down has opposite up. Understand "d" as down. Inside has opposite outside. Understand "in" as inside. Outside has opposite inside. Understand "out" as outside. -The inside object translates into I6 as "in_obj". -The outside object translates into I6 as "out_obj". +The inside object translates into Inter as "in_obj". +The outside object translates into Inter as "out_obj". The verb to be above means the reversed mapping up relation. The verb to be mapped above means the reversed mapping up relation. @@ -471,7 +471,7 @@ the relation data is stored at run-time. = A door has an object called other side. -The other side property translates into I6 as "door_to". +The other side property translates into Inter as "door_to". Leading-through relates one room (called the other side) to various doors. The verb to be through means the leading-through relation. @@ -699,7 +699,7 @@ Understand "your former self" or "my former self" or "former self" or The description of yourself is usually "As good-looking as ever." -The yourself object translates into I6 as "selfobj". +The yourself object translates into Inter as "selfobj". @h Non-fundamental kinds. We have now finished defining the nine fundamental kinds which Inform requires @@ -929,39 +929,39 @@ this sort of reuse seemed sensible in the early 1990s, especially as the meanings were basically similar. = -Section 16 - Inform 6 equivalents +Section 16 - Inter identifier equivalents -The wearable property translates into I6 as "clothing". -The undescribed property translates into I6 as "concealed". -The edible property translates into I6 as "edible". -The enterable property translates into I6 as "enterable". -The female property translates into I6 as "female". -The mentioned property translates into I6 as "mentioned". -The lit property translates into I6 as "light". -The lighted property translates into I6 as "light". -The lockable property translates into I6 as "lockable". -The locked property translates into I6 as "locked". -The handled property translates into I6 as "moved". -The neuter property translates into I6 as "neuter". -The switched on property translates into I6 as "on". -The open property translates into I6 as "open". -The openable property translates into I6 as "openable". -The privately-named property translates into I6 as "privately_named". -The pushable between rooms property translates into I6 as "pushable". -The scenery property translates into I6 as "scenery". -The fixed in place property translates into I6 as "static". -The transparent property translates into I6 as "transparent". -The visited property translates into I6 as "visited". -The marked for listing property translates into I6 as "workflag". -The list grouping key property translates into I6 as "list_together". +The wearable property translates into Inter as "clothing". +The undescribed property translates into Inter as "concealed". +The edible property translates into Inter as "edible". +The enterable property translates into Inter as "enterable". +The female property translates into Inter as "female". +The mentioned property translates into Inter as "mentioned". +The lit property translates into Inter as "light". +The lighted property translates into Inter as "light". +The lockable property translates into Inter as "lockable". +The locked property translates into Inter as "locked". +The handled property translates into Inter as "moved". +The neuter property translates into Inter as "neuter". +The switched on property translates into Inter as "on". +The open property translates into Inter as "open". +The openable property translates into Inter as "openable". +The privately-named property translates into Inter as "privately_named". +The pushable between rooms property translates into Inter as "pushable". +The scenery property translates into Inter as "scenery". +The fixed in place property translates into Inter as "static". +The transparent property translates into Inter as "transparent". +The visited property translates into Inter as "visited". +The marked for listing property translates into Inter as "workflag". +The list grouping key property translates into Inter as "list_together". @ Second, the I7 value properties mapping onto I6 properties. Again, |map_region| is a new I6 property of our own, while the rest are I6 staples. And see also "other side", which is translated above for timing reasons. = -The carrying capacity property translates into I6 as "capacity". -The description property translates into I6 as "description". -The initial appearance property translates into I6 as "initial". -The map region property translates into I6 as "map_region". -The matching key property translates into I6 as "with_key". +The carrying capacity property translates into Inter as "capacity". +The description property translates into Inter as "description". +The initial appearance property translates into Inter as "initial". +The map region property translates into Inter as "map_region". +The matching key property translates into Inter as "with_key". diff --git a/inform7/extensions/standard_rules/Sections/Variables and Rulebooks.w b/inform7/extensions/standard_rules/Sections/Variables and Rulebooks.w index 2af8320b9..586085ddc 100644 --- a/inform7/extensions/standard_rules/Sections/Variables and Rulebooks.w +++ b/inform7/extensions/standard_rules/Sections/Variables and Rulebooks.w @@ -14,7 +14,7 @@ perspective during play and become somebody else -- at which point the Note that "player" is a name given to a variable explicitly defined in the |srules| template with a given name (in this case |player|), so it -has a "translates into I6" sentence. +has a "translates into Inter" sentence. = @@ -25,7 +25,7 @@ Chapter 1 - Variables Section 1 - Situation The player is a person that varies. -The player variable translates into I6 as "player". +The player variable translates into Inter as "player". @ The I7 variable "location" corresponds to I6's |real_location|, not |location|. Its value is never equal to a pseudo-room representing darkness: @@ -46,12 +46,12 @@ The turn count is a number that varies. The time of day -- documented at var_time -- is a time that varies. The darkness witnessed is a truth state that varies. -The location variable translates into I6 as "real_location". -The score variable translates into I6 as "score". -The last notified score variable translates into I6 as "last_score". -The maximum score variable translates into I6 as "MAX_SCORE". -The turn count variable translates into I6 as "turns". -The time of day variable translates into I6 as "the_time". +The location variable translates into Inter as "real_location". +The score variable translates into Inter as "score". +The last notified score variable translates into Inter as "last_score". +The maximum score variable translates into Inter as "MAX_SCORE". +The turn count variable translates into Inter as "turns". +The time of day variable translates into Inter as "the_time". @ It is arguable that "noun", "second noun" and "person asked" ought to be rulebook variables belonging to the action-processing rules, so that @@ -79,11 +79,11 @@ The reason the action failed -- documented at var_reason -- is an action name based rule producing nothing that varies. The item described is an object that varies. -The noun variable translates into I6 as "noun". -The second noun variable translates into I6 as "second". -The person asked variable translates into I6 as "actor". -The reason the action failed variable translates into I6 as "reason_the_action_failed". -The item described variable translates into I6 as "self". +The noun variable translates into Inter as "noun". +The second noun variable translates into Inter as "second". +The person asked variable translates into Inter as "actor". +The reason the action failed variable translates into Inter as "reason_the_action_failed". +The item described variable translates into Inter as "self". @ "Person reaching" turns out to have exactly the same meaning as "person asked" -- they are both the |actor|, in Inter terms, but are used in different @@ -97,10 +97,10 @@ The container in question is an object that varies. The supporter in question is an object that varies. The particular possession -- documented at var_particular -- is a thing that varies. -The person reaching variable translates into I6 as "actor". -The container in question variable translates into I6 as "parameter_object". -The supporter in question variable translates into I6 as "parameter_object". -The particular possession variable translates into I6 as "particular_possession". +The person reaching variable translates into Inter as "actor". +The container in question variable translates into Inter as "parameter_object". +The supporter in question variable translates into Inter as "parameter_object". +The particular possession variable translates into Inter as "particular_possession". @ Parsing variables follow. The I6 parser tends to put any data read as part of a command into the variable |parsed_number|, but then, Inter is typeless: @@ -130,10 +130,10 @@ The topic understood is a snippet that varies. The truth state understood is a truth state that varies. The current item from the multiple object list is an object that varies. -The player's command variable translates into I6 as "players_command". -The matched text variable translates into I6 as "matched_text". -The topic understood variable translates into I6 as "parsed_number". -The current item from the multiple object list variable translates into I6 as +The player's command variable translates into Inter as "players_command". +The matched text variable translates into Inter as "matched_text". +The topic understood variable translates into Inter as "parsed_number". +The current item from the multiple object list variable translates into Inter as "multiple_object_item". @ = @@ -145,11 +145,11 @@ The command prompt is ">". The left hand status line -- documented at var_sl -- is a text that varies. The right hand status line is a text that varies. -The left hand status line variable translates into I6 as "left_hand_status_line". -The right hand status line variable translates into I6 as "right_hand_status_line". +The left hand status line variable translates into Inter as "left_hand_status_line". +The right hand status line variable translates into Inter as "right_hand_status_line". The listing group size is a number that varies. -The listing group size variable translates into I6 as "listing_size". +The listing group size variable translates into Inter as "listing_size". @ Now some linguistic variables: @@ -157,7 +157,7 @@ The listing group size variable translates into I6 as "listing_size". Section 6 - Language generation The prior named object is an object that varies. -The prior named object variable translates into I6 as "prior_named_noun". +The prior named object variable translates into Inter as "prior_named_noun". An object has a text called list grouping key. @ ...but they are not the last global variables created by the Standard Rules. @@ -193,7 +193,7 @@ The release number is usually 1. The story headline is usually "An Interactive Fiction". The story genre is usually "Fiction". -The story title variable translates into I6 as "Story". +The story title variable translates into Inter as "Story". Section SR2/6b - Unindexed Standard Rules variables - Unindexed (for figures language element only) @@ -241,10 +241,10 @@ run-time for what is in the end only a label.) Section 8 - Unindexed Standard Rules variables - Unindexed The I6-nothing-constant is an object that varies. -The I6-nothing-constant variable translates into I6 as "nothing". +The I6-nothing-constant variable translates into Inter as "nothing". The I6-varying-global is an object that varies. -The I6-varying-global variable translates into I6 as "nothing". +The I6-varying-global variable translates into Inter as "nothing". @ The remaining secret variables are: @@ -264,13 +264,13 @@ preambles to rules in object-based rulebooks. = The item-pushed-between-rooms is an object that varies. -The item-pushed-between-rooms variable translates into I6 as "move_pushing". +The item-pushed-between-rooms variable translates into Inter as "move_pushing". The actor-location is an object that varies. [*] -The actor-location variable translates into I6 as "actor_location". +The actor-location variable translates into Inter as "actor_location". The scene being changed is a scene that varies. [*] -The scene being changed variable translates into I6 as "parameter_value". +The scene being changed variable translates into Inter as "parameter_value". @h Rulebooks. Whereas Basic Inform equips the language with only a handful of rulebooks @@ -480,7 +480,7 @@ automatically to a safely neutral default value. It makes no decision. = Section 2 - The Standard Rules -The little-used do nothing rule translates into I6 as "LITTLE_USED_DO_NOTHING_R". +The little-used do nothing rule translates into Inter as "LITTLE_USED_DO_NOTHING_R". @h Startup. Every rulebook contains a (possibly empty) run of "first" rules, then @@ -546,11 +546,11 @@ The seed random number generator rule is listed first in the startup rulebook. [ The virtual machine startup rule is listed first in the startup rulebook. [2nd.] The initialise memory rule is listed first in the startup rulebook. [1st.] -The virtual machine startup rule translates into I6 as "VIRTUAL_MACHINE_STARTUP_R". -The initialise memory rule translates into I6 as "INITIALISE_MEMORY_R". -The seed random number generator rule translates into I6 as "SEED_RANDOM_NUMBER_GENERATOR_R". -The update chronological records rule translates into I6 as "UPDATE_CHRONOLOGICAL_RECORDS_R". -The position player in model world rule translates into I6 as "POSITION_PLAYER_IN_MODEL_R". +The virtual machine startup rule translates into Inter as "VIRTUAL_MACHINE_STARTUP_R". +The initialise memory rule translates into Inter as "INITIALISE_MEMORY_R". +The seed random number generator rule translates into Inter as "SEED_RANDOM_NUMBER_GENERATOR_R". +The update chronological records rule translates into Inter as "UPDATE_CHRONOLOGICAL_RECORDS_R". +The position player in model world rule translates into Inter as "POSITION_PLAYER_IN_MODEL_R". This is the start in the correct scenes rule: follow the scene changing rules. @@ -704,17 +704,17 @@ This is the notify score changes rule: I6 primitives in the template layer. = -The adjust light rule translates into I6 as "ADJUST_LIGHT_R" with +The adjust light rule translates into Inter as "ADJUST_LIGHT_R" with "[It] [are] [if story tense is present tense]now [end if]pitch dark in [if story tense is present tense]here[else]there[end if]!" (A). -The advance time rule translates into I6 as "ADVANCE_TIME_R". -The generate action rule translates into I6 as "GENERATE_ACTION_R" with +The advance time rule translates into Inter as "ADVANCE_TIME_R". +The generate action rule translates into Inter as "GENERATE_ACTION_R" with "(considering the first sixteen objects only)[command clarification break]" (A), "Nothing to do!" (B). -The note object acquisitions rule translates into I6 as "NOTE_OBJECT_ACQUISITIONS_R". -The parse command rule translates into I6 as "PARSE_COMMAND_R". -The timed events rule translates into I6 as "TIMED_EVENTS_R". +The note object acquisitions rule translates into Inter as "NOTE_OBJECT_ACQUISITIONS_R". +The parse command rule translates into Inter as "PARSE_COMMAND_R". +The timed events rule translates into Inter as "TIMED_EVENTS_R". @h Shutdown. Goodbye is not the hardest word to say, but it does involve a little bit of @@ -749,8 +749,8 @@ This is the when play ends stage rule: follow the when play ends rulebook. This is the print player's obituary rule: carry out the printing the player's obituary activity. -The resurrect player if asked rule translates into I6 as "RESURRECT_PLAYER_IF_ASKED_R". -The ask the final question rule translates into I6 as "ASK_FINAL_QUESTION_R". +The resurrect player if asked rule translates into Inter as "RESURRECT_PLAYER_IF_ASKED_R". +The ask the final question rule translates into Inter as "ASK_FINAL_QUESTION_R". @h Scene changing. Scene changing is handled by a routine called |DetectSceneChange| which is @@ -763,7 +763,7 @@ use of this opportunity. = The scene change machinery rule is listed last in the scene changing rulebook. -The scene change machinery rule translates into I6 as "SCENE_CHANGE_MACHINERY_R". +The scene change machinery rule translates into Inter as "SCENE_CHANGE_MACHINERY_R". @ We couldn't do this earlier (because creating a scene automatically generates two rulebooks, and that would have thrown the rulebook numbering), so let's @@ -914,18 +914,18 @@ instance, "check taking" is the specific check rulebook for the the names aren't so visible). = -The basic accessibility rule translates into I6 as "BASIC_ACCESSIBILITY_R" with +The basic accessibility rule translates into Inter as "BASIC_ACCESSIBILITY_R" with "You must name something more substantial." (A). -The basic visibility rule translates into I6 as "BASIC_VISIBILITY_R" with +The basic visibility rule translates into Inter as "BASIC_VISIBILITY_R" with "[It] [are] pitch dark, and [we] [can't see] a thing." (A). -The carrying requirements rule translates into I6 as "CARRYING_REQUIREMENTS_R". -The requested actions require persuasion rule translates into I6 as +The carrying requirements rule translates into Inter as "CARRYING_REQUIREMENTS_R". +The requested actions require persuasion rule translates into Inter as "REQUESTED_ACTIONS_REQUIRE_R" with "[The noun] [have] better things to do." (A). -The carry out requested actions rule translates into I6 as +The carry out requested actions rule translates into Inter as "CARRY_OUT_REQUESTED_ACTIONS_R" with "[The noun] [are] unable to do that." (A). -The descend to specific action-processing rule translates into I6 as +The descend to specific action-processing rule translates into Inter as "DESCEND_TO_SPECIFIC_ACTION_R". @h Specific action-processing. @@ -988,7 +988,7 @@ they record the action's specific check, carry out and report rulebooks, and whether or not it is in world. = -The work out details of specific action rule translates into I6 as +The work out details of specific action rule translates into Inter as "WORK_OUT_DETAILS_OF_SPECIFIC_R". @h Player's action awareness. @@ -1029,7 +1029,7 @@ Section 5 - Accessibility The access through barriers rule is listed last in the accessibility rules. -The access through barriers rule translates into I6 as +The access through barriers rule translates into Inter as "ACCESS_THROUGH_BARRIERS_R" with "[regarding the noun][Those] [aren't] available." (A). @@ -1045,10 +1045,10 @@ The can't reach inside rooms rule is listed last in the reaching inside rules. [ The can't reach inside closed containers rule is listed last in the reaching inside rules. [Last.] -The can't reach inside closed containers rule translates into I6 as +The can't reach inside closed containers rule translates into Inter as "CANT_REACH_INSIDE_CLOSED_R" with "[The noun] [aren't] open." (A). -The can't reach inside rooms rule translates into I6 as +The can't reach inside rooms rule translates into Inter as "CANT_REACH_INSIDE_ROOMS_R" with "[We] [can't] reach into [the noun]." (A). @@ -1059,7 +1059,7 @@ reaching on both the inbound and outbound directions, = The can't reach outside closed containers rule is listed last in the reaching outside rules. -The can't reach outside closed containers rule translates into I6 as +The can't reach outside closed containers rule translates into Inter as "CANT_REACH_OUTSIDE_CLOSED_R" with "[The noun] [aren't] open." (A). @@ -1149,7 +1149,7 @@ A command parser error is a kind of value. The command parser errors are didn't understand addressee's last name error. The latest parser error is a command parser error that varies. -The latest parser error variable translates into I6 as "etype". +The latest parser error variable translates into Inter as "etype". @h Internal rules. These rules do nothing in themselves, and are really just hooks on which @@ -1158,7 +1158,7 @@ some response texts can be hung. = Section 9 - Responses for internal rules -The list writer internal rule translates into I6 as +The list writer internal rule translates into Inter as "LIST_WRITER_INTERNAL_R" with " (" (A), ")" (B), @@ -1186,7 +1186,7 @@ The list writer internal rule translates into I6 as "Nothing" (X), "nothing" (Y). -The action processing internal rule translates into I6 as +The action processing internal rule translates into Inter as "ACTION_PROCESSING_INTERNAL_R" with "[bracket]That command asks to do something outside of play, so it can only make sense from you to me. [The noun] cannot be asked to do this.[close @@ -1203,7 +1203,7 @@ The action processing internal rule translates into I6 as cut short.)" (J), "I didn't understand that instruction." (K). -The parser error internal rule translates into I6 as +The parser error internal rule translates into Inter as "PARSER_ERROR_INTERNAL_R" with "I didn't understand that sentence." (A), "I only understood you as far as wanting to " (B), @@ -1232,7 +1232,7 @@ The parser error internal rule translates into I6 as "To talk to someone, try 'someone, hello' or some such." (W), "I beg your pardon?" (X). -The parser nothing error internal rule translates into I6 as +The parser nothing error internal rule translates into Inter as "PARSER_N_ERROR_INTERNAL_R" with "Nothing to do!" (A), "[There] [adapt the verb are from the third person plural] none at all available!" (B), @@ -1241,17 +1241,17 @@ The parser nothing error internal rule translates into I6 as "[The noun] [aren't] open." (E), "[The noun] [are] empty." (F). -The darkness name internal rule translates into I6 as "DARKNESS_NAME_INTERNAL_R" with +The darkness name internal rule translates into Inter as "DARKNESS_NAME_INTERNAL_R" with "Darkness" (A). -The parser command internal rule translates into I6 as +The parser command internal rule translates into Inter as "PARSER_COMMAND_INTERNAL_R" with "Sorry, that can't be corrected." (A), "Think nothing of it." (B), "'Oops' can only correct a single word." (C), "You can hardly repeat that." (D). -The parser clarification internal rule translates into I6 as +The parser clarification internal rule translates into Inter as "PARSER_CLARIF_INTERNAL_R" with "Who do you mean, " (A), "Which do you mean, " (B), @@ -1264,11 +1264,11 @@ The parser clarification internal rule translates into I6 as "that" (G), " or " (H). -The yes or no question internal rule translates into I6 as +The yes or no question internal rule translates into Inter as "YES_OR_NO_QUESTION_INTERNAL_R" with "Please answer yes or no." (A). -The print protagonist internal rule translates into I6 as +The print protagonist internal rule translates into Inter as "PRINT_PROTAGONIST_INTERNAL_R" with "[We]" (A), "[ourselves]" (B), diff --git a/inform7/if-module/Chapter 2/Release Instructions.w b/inform7/if-module/Chapter 2/Release Instructions.w index 92268a6ef..69859f488 100644 --- a/inform7/if-module/Chapter 2/Release Instructions.w +++ b/inform7/if-module/Chapter 2/Release Instructions.w @@ -111,6 +111,8 @@ int PL::Bibliographic::Release::release_along_with_SMF(int task, parse_node *V, (OW); V->next = <>; return TRUE; + case ALLOW_IN_OPTIONS_FILE_SMFT: + return TRUE; case TRAVERSE1_SMFT: PL::Bibliographic::Release::handle_release_declaration_inner(V->next); break; diff --git a/inform7/if-module/Chapter 3/The Naming Thicket.w b/inform7/if-module/Chapter 3/The Naming Thicket.w index 8306ba25b..19bdd9530 100644 --- a/inform7/if-module/Chapter 3/The Naming Thicket.w +++ b/inform7/if-module/Chapter 3/The Naming Thicket.w @@ -492,3 +492,43 @@ void PL::Naming::compile_cap_short_name(void) { Hierarchy::make_available(Emit::tree(), iname); } } + +@h The adaptive person. +The following is only relevant for the language of play, whose extension will +always be read in. That in turn is expected to contain a declaration like +this one: + +>> The adaptive text viewpoint of the French language is second person singular. + +The following routine picks up on the result of this declaration. (We cache +this because we need access to it very quickly when parsing text substitutions.) + +@d ADAPTIVE_PERSON_LINGUISTICS_CALLBACK PL::Naming::adaptive_person +@d ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK PL::Naming::adaptive_number + += +int PL::Naming::adaptive_person(inform_language *L) { + int C = PL::Naming::adaptive_combination(L); + if (C < 0) return -1; + return C % NO_KNOWN_PERSONS; +} + +int PL::Naming::adaptive_number(inform_language *L) { + int C = PL::Naming::adaptive_combination(L); + if (C < 0) return -1; + return C / NO_KNOWN_PERSONS; +} + +int PL::Naming::adaptive_combination(inform_language *L) { + if (L->adaptive_person >= 0) return L->adaptive_person; + if ((L->adaptive_person == -1) && (P_adaptive_text_viewpoint)) { + instance *I = L->nl_instance; + parse_node *val = World::Inferences::get_prop_state( + Instances::as_subject(I), P_adaptive_text_viewpoint); + if (Node::is(val, CONSTANT_NT)) { + instance *V = Node::get_constant_instance(val); + L->adaptive_person = Instances::get_numerical_value(V)-1; + } + } + return L->adaptive_person; +} diff --git a/inform7/if-module/Chapter 4/Actions.w b/inform7/if-module/Chapter 4/Actions.w index 1606096ca..f47b0fc79 100644 --- a/inform7/if-module/Chapter 4/Actions.w +++ b/inform7/if-module/Chapter 4/Actions.w @@ -705,6 +705,13 @@ void PL::Actions::compile_action_name_var_creators(void) { } @ This handles the special meaning "X is an action...". + is an awkward necessity, designed to prevent the +regular sentence + +>> The impulse is an action name that varies. + +from being parsed as an instance of "... is an action ...", creating a +new action. = ::= @@ -715,6 +722,13 @@ void PL::Actions::compile_action_name_var_creators(void) { action | ==> { TRUE, RP[1] } action ==> @ + ::= + ^ ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } + + ::= + *** that/which vary/varies | + *** variable + @ = Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadActionDeclaration), "it is not sufficient to say that something is an 'action'", diff --git a/inform7/index-module/Chapter 2/Lexicon Index.w b/inform7/index-module/Chapter 2/Lexicon Index.w index c515ac0c5..557df9368 100644 --- a/inform7/index-module/Chapter 2/Lexicon Index.w +++ b/inform7/index-module/Chapter 2/Lexicon Index.w @@ -209,7 +209,7 @@ on. (Sometimes these will also be listed separately with an adjectival sense.) "indefinite article", NULL); PreformUtilities::enter_lexicon(, MISCELLANEOUS_LEXE, "definite article", NULL); - PreformUtilities::enter_lexicon(, MISCELLANEOUS_LEXE, + PreformUtilities::enter_lexicon(, MISCELLANEOUS_LEXE, "connective", "used to place a further condition on a description: like 'which' in " "'A which is B', or 'A which carries B', for instance."); diff --git a/inform7/kinds-module/Chapter 2/Kinds.w b/inform7/kinds-module/Chapter 2/Kinds.w index 1f338797e..b113102c4 100644 --- a/inform7/kinds-module/Chapter 2/Kinds.w +++ b/inform7/kinds-module/Chapter 2/Kinds.w @@ -203,7 +203,7 @@ Inform. Some standard kinds: kind *K_action_name = NULL; kind *K_equation = NULL; kind *K_grammatical_gender = NULL; -kind *K_inform_language = NULL; +kind *K_natural_language = NULL; kind *K_number = NULL; kind *K_object = NULL; kind *K_real_number = NULL; @@ -662,9 +662,9 @@ kind *Kinds::new_base(parse_node_tree *T, wording W, kind *super) { if ((W)) { Kinds::Constructors::mark_as_linguistic(K->construct); switch (<>) { - case 0: K_inform_language = K; - #ifdef NATURAL_LANGUAGES_PRESENT - NaturalLanguages::stock_nl_kind(K); + case 0: K_natural_language = K; + #ifdef NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK + NOTIFY_NATURAL_LANGUAGE_KINDS_CALLBACK(K); #endif break; case 1: K_grammatical_gender = K; break; diff --git a/inform7/multimedia-module/Chapter 2/External Files.w b/inform7/multimedia-module/Chapter 2/External Files.w index 417129c8a..7ebdb2b35 100644 --- a/inform7/multimedia-module/Chapter 2/External Files.w +++ b/inform7/multimedia-module/Chapter 2/External Files.w @@ -129,6 +129,9 @@ letters or digits, with the first being a letter. ::= called ==> { TRUE, RP[1] } + ::= + ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } + @ = int PL::Files::new_file_SMF(int task, parse_node *V, wording *NPs) { wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; diff --git a/inform7/multimedia-module/Chapter 2/Figures.w b/inform7/multimedia-module/Chapter 2/Figures.w index 6c0a3148f..ab38235d8 100644 --- a/inform7/multimedia-module/Chapter 2/Figures.w +++ b/inform7/multimedia-module/Chapter 2/Figures.w @@ -82,6 +82,9 @@ blorb_figure *PL::Figures::new_blorb_figure(instance *nc) { ::= file ==> { TRUE, RP[1] } + ::= + figure ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } + @ = int PL::Figures::new_figure_SMF(int task, parse_node *V, wording *NPs) { wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; diff --git a/inform7/multimedia-module/Chapter 2/Sound Effects.w b/inform7/multimedia-module/Chapter 2/Sound Effects.w index 482ec5111..a811079a5 100644 --- a/inform7/multimedia-module/Chapter 2/Sound Effects.w +++ b/inform7/multimedia-module/Chapter 2/Sound Effects.w @@ -74,6 +74,9 @@ blorb_sound *PL::Sounds::new_blorb_sound(instance *nc) { ::= file ==> { TRUE, RP[1] } + ::= + sound ... ==> { 0, Diagrams::new_UNPARSED_NOUN(W) } + @ = int PL::Sounds::new_sound_SMF(int task, parse_node *V, wording *NPs) { wording SW = (NPs)?(NPs[0]):EMPTY_WORDING; diff --git a/services/linguistics-module/Chapter 1/Diagrams.w b/services/linguistics-module/Chapter 1/Diagrams.w index 6eb3699d9..7dc48799e 100644 --- a/services/linguistics-module/Chapter 1/Diagrams.w +++ b/services/linguistics-module/Chapter 1/Diagrams.w @@ -55,8 +55,7 @@ MAKE_ANNOTATION_FUNCTIONS(second_preposition, preposition) MAKE_ANNOTATION_FUNCTIONS(special_meaning, special_meaning_holder) MAKE_ANNOTATION_FUNCTIONS(occurrence, time_period) -@ The |linguistic_error_here_ANNOT| annotation is for any errors we find, -though at present there is just one: +@ The |linguistic_error_here_ANNOT| annotation is for any errors we find: @e TwoLikelihoods_LINERROR from 1 diff --git a/services/linguistics-module/Chapter 3/Prepositions.w b/services/linguistics-module/Chapter 3/Prepositions.w index 516e118e2..423213632 100644 --- a/services/linguistics-module/Chapter 3/Prepositions.w +++ b/services/linguistics-module/Chapter 3/Prepositions.w @@ -177,7 +177,7 @@ with a given "permitted verb". @ = void Prepositions::mark_for_preform(void) { - Nonterminals::flag_words_with(, PREPOSITION_MC); + Nonterminals::flag_words_with(, PREPOSITION_MC); } void Prepositions::preform_optimiser(void) { diff --git a/services/linguistics-module/Chapter 3/Verb Usages.w b/services/linguistics-module/Chapter 3/Verb Usages.w index 388d9d267..14b33dac6 100644 --- a/services/linguistics-module/Chapter 3/Verb Usages.w +++ b/services/linguistics-module/Chapter 3/Verb Usages.w @@ -455,7 +455,7 @@ The following picks up any verb which can be used in an SVO sentence and which has a meaning. = - internal ? { + internal ? { verb_usage *vu; LOOP_OVER_USAGES(vu) { verb *vi = VerbUsages::get_verb(vu); @@ -670,7 +670,7 @@ or "the verb to be able to see" use these. = void VerbUsages::mark_as_verb(vocabulary_entry *ve) { - NTI::mark_vocabulary(ve, ); + NTI::mark_vocabulary(ve, ); NTI::mark_vocabulary(ve, ); NTI::mark_vocabulary(ve, ); NTI::mark_vocabulary(ve, ); @@ -679,7 +679,7 @@ void VerbUsages::mark_as_verb(vocabulary_entry *ve) { } void VerbUsages::preform_optimiser(void) { - NTI::first_word_in_match_must_have_my_NTI_bit(); + NTI::first_word_in_match_must_have_my_NTI_bit(); NTI::first_word_in_match_must_have_my_NTI_bit(); NTI::first_word_in_match_must_have_my_NTI_bit(); NTI::first_word_in_match_must_have_my_NTI_bit(); @@ -692,7 +692,9 @@ void VerbUsages::preform_optimiser(void) { = int VerbUsages::adaptive_person(NATURAL_LANGUAGE_WORDS_TYPE *X) { #ifdef ADAPTIVE_PERSON_LINGUISTICS_CALLBACK - return ADAPTIVE_PERSON_LINGUISTICS_CALLBACK(X); + int N = ADAPTIVE_PERSON_LINGUISTICS_CALLBACK(X); + if (N >= 0) return N; + return FIRST_PERSON; #endif #ifndef ADAPTIVE_PERSON_LINGUISTICS_CALLBACK return FIRST_PERSON; @@ -700,7 +702,9 @@ int VerbUsages::adaptive_person(NATURAL_LANGUAGE_WORDS_TYPE *X) { } int VerbUsages::adaptive_number(NATURAL_LANGUAGE_WORDS_TYPE *X) { #ifdef ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK - return ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK(X); + int N = ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK(X); + if (N >= 0) return N; + return PLURAL_NUMBER; #endif #ifndef ADAPTIVE_NUMBER_LINGUISTICS_CALLBACK return PLURAL_NUMBER; diff --git a/services/linguistics-module/Chapter 4/Verb Phrases.w b/services/linguistics-module/Chapter 4/Verb Phrases.w index f69ad569b..585aeb017 100644 --- a/services/linguistics-module/Chapter 4/Verb Phrases.w +++ b/services/linguistics-module/Chapter 4/Verb Phrases.w @@ -161,7 +161,7 @@ it read "Velma is a doer". if ((Lexer::word(pos) == CLOSEBRACKET_V) || (Lexer::word(pos) == CLOSEBRACE_V)) bl--; int i = pos - Wordings::first_wn(W); if (i >= VIABILITY_MAP_SIZE) break; - if (NTI::test_vocabulary(Lexer::word(pos), ) == FALSE) { + if (NTI::test_vocabulary(Lexer::word(pos), ) == FALSE) { viable[i] = 0; } else { if (bl == 0) viable[i] = 1; else viable[i] = 2; @@ -566,11 +566,11 @@ a word doesn't always mean we have a relative clause, so we will need to be a little careful using this nonterminal. = - ::= + ::= which/who/that ::= - ... + ... @ The following is used only in the reconstruction of existential sentences such as "There is a cat called Puss in Boots", where we want to prevent the diff --git a/services/linguistics-module/Figures/simple-raw.txt b/services/linguistics-module/Figures/simple-raw.txt index 9295be93c..eaf0bdadb 100644 --- a/services/linguistics-module/Figures/simple-raw.txt +++ b/services/linguistics-module/Figures/simple-raw.txt @@ -1,4 +1,4 @@ -linguistics-test: sentence failed to parse +linguistics-test: sentence has no primary verb (1) arfle barfle gloop SENTENCE_NT'arfle barfle gloop' diff --git a/services/linguistics-test/Chapter 1/Diagramming.w b/services/linguistics-test/Chapter 1/Diagramming.w index c54e7f985..b93c2fba9 100644 --- a/services/linguistics-test/Chapter 1/Diagramming.w +++ b/services/linguistics-test/Chapter 1/Diagramming.w @@ -51,12 +51,16 @@ void Diagramming::diagram(parse_node *p) { wording W = Node::get_text(p); if ((W)) { parse_node *n = <>; - if (Annotations::read_int(p, linguistic_error_here_ANNOT) == TwoLikelihoods_LINERROR) - Errors::nowhere("sentence has two certainties"); - else - SyntaxTree::graft(syntax_tree, n, p); + switch (Annotations::read_int(p, linguistic_error_here_ANNOT)) { + case TwoLikelihoods_LINERROR: + Errors::nowhere("sentence has two certainties"); + break; + default: + SyntaxTree::graft(syntax_tree, n, p); + break; + } } else { - Errors::nowhere("sentence failed to parse"); + Errors::nowhere("sentence has no primary verb"); } } } diff --git a/services/linguistics-test/Tests/Test Diagrams/_Results_Ideal/simple-raw.txt b/services/linguistics-test/Tests/Test Diagrams/_Results_Ideal/simple-raw.txt index 9295be93c..eaf0bdadb 100644 --- a/services/linguistics-test/Tests/Test Diagrams/_Results_Ideal/simple-raw.txt +++ b/services/linguistics-test/Tests/Test Diagrams/_Results_Ideal/simple-raw.txt @@ -1,4 +1,4 @@ -linguistics-test: sentence failed to parse +linguistics-test: sentence has no primary verb (1) arfle barfle gloop SENTENCE_NT'arfle barfle gloop' diff --git a/services/syntax-module/Chapter 2/Node Annotations.w b/services/syntax-module/Chapter 2/Node Annotations.w index 9bfe4365c..7dc8a1215 100644 --- a/services/syntax-module/Chapter 2/Node Annotations.w +++ b/services/syntax-module/Chapter 2/Node Annotations.w @@ -171,7 +171,6 @@ void Annotations::copy(parse_node *to, parse_node *from) { @e heading_level_ANNOT from 1 /* int: for HEADING nodes, a hierarchical level, 0 (highest) to 9 (lowest) */ @e language_element_ANNOT /* int: this node is not really a sentence, but a language definition Use */ -@e sentence_unparsed_ANNOT /* int: set if verbs haven't been sought yet here */ @e suppress_heading_dependencies_ANNOT /* int: ignore extension dependencies on this heading node */ @e implied_heading_ANNOT /* int: set only for the heading of implied inclusions */ @@ -187,8 +186,6 @@ node will throw an internal error -- it must mean a bug in Inform. void Annotations::make_annotation_allowed_table(void) { Annotations::allow(HEADING_NT, heading_level_ANNOT); Annotations::allow(SENTENCE_NT, language_element_ANNOT); - Annotations::allow_for_category(L1_NCAT, sentence_unparsed_ANNOT); - Annotations::allow_for_category(L2_NCAT, sentence_unparsed_ANNOT); #ifdef ANNOTATION_PERMISSIONS_SYNTAX_CALLBACK ANNOTATION_PERMISSIONS_SYNTAX_CALLBACK(); #endif diff --git a/services/syntax-module/Chapter 3/Sentences.w b/services/syntax-module/Chapter 3/Sentences.w index 14500c005..a602ef4a3 100644 --- a/services/syntax-module/Chapter 3/Sentences.w +++ b/services/syntax-module/Chapter 3/Sentences.w @@ -354,7 +354,6 @@ is declared as if it were a super-heading in the text. if (Lexer::file_of_origin(Wordings::first_wn(W)) != sfsm->sf) { parse_node *implicit_heading = Node::new(HEADING_NT); Node::set_text(implicit_heading, W); - Annotations::write_int(implicit_heading, sentence_unparsed_ANNOT, FALSE); Annotations::write_int(implicit_heading, heading_level_ANNOT, 0); SyntaxTree::graft_sentence(T, implicit_heading); #ifdef NEW_HEADING_SYNTAX_CALLBACK @@ -423,7 +422,6 @@ in Headings to determine whether we should include the material. @ = new = Node::new(HEADING_NT); Node::set_text(new, W); - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE); Annotations::write_int(new, heading_level_ANNOT, heading_level); SyntaxTree::graft_sentence(T, new); #ifdef NEW_HEADING_SYNTAX_CALLBACK @@ -518,7 +516,6 @@ sentences and options-file sentences may have been read already.) @; /* none of that happened, so we have a SENTENCE node for certain */ - Annotations::write_int(new, sentence_unparsed_ANNOT, TRUE); #ifdef NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK NEW_NONSTRUCTURAL_SENTENCE_SYNTAX_CALLBACK(new); #endif @@ -576,7 +573,6 @@ commonest outcome is a SENTENCE node, so that's what we shall assume for now. @ = new = Node::new(SENTENCE_NT); Node::set_text(new, W); - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE); SyntaxTree::graft_sentence(T, new); @ Rules are sequences of phrases with a preamble in front, which we detect by @@ -671,7 +667,6 @@ it would be too late. LANGUAGE_ELEMENT_SYNTAX_CALLBACK(GET_RW(, 1)); #endif Annotations::write_int(new, language_element_ANNOT, TRUE); - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE); @ And for similar reasons: @@ -682,7 +677,6 @@ it would be too late. WRITE_TO(wd, "%+W", Wordings::one_word(Wordings::first_wn(W))); LoadPreform::parse_text(wd); DISCARD_TEXT(wd) - Annotations::write_int(new, sentence_unparsed_ANNOT, FALSE); @ Some tools using this module will want to push simple error messages out to the command line; others will want to translate them into elaborate problem