From d95addef9476f4e572a022fcd7c3d2fa14713e8a Mon Sep 17 00:00:00 2001
From: Graham Nelson §24.1. Construct ANL for anything24.1 =
+ §24.1. Construct ANL for anything to24.1 =
+ §24.2. Construct ANL for anything24.2 =
§24.2. Add to-clause to excluded ANL24.2 =
+ §24.3. Construct ANL for doing something with a tail24.3 =
+ §24.4. Add to-clause to excluded ANL24.4 =
§25. The trickiest form is:
@@ -922,7 +944,7 @@ for instance, we don't want to count the "in" from "fixed in place".
ActionNameLists::set_clause_wording(entry, TAIL_AP_CLAUSE, TW);
anl_entry *results = entry;
LOGIF(ACTION_PATTERN_PARSING, "Saw tail %W\n", TW);
- Extend the list to provide for clauses28.1.1;
+ Extend the list to provide for clauses24.1.1;
return results;
}
@@ -956,7 +978,7 @@ end, but it's syntactically valid.)
<anl-entry-with-action> internal {
anl_entry *results = NULL;
Parse the wording into a list of results29.1;
- if (experimental_anl_system) Extend the list to provide for clauses28.1.1;
+ if (experimental_anl_system) Extend the list to provide for clauses24.1.1;
if (results) {
==> { -, results }; return TRUE;
}
@@ -975,6 +997,7 @@ end, but it's syntactically valid.)
LOOP_OVER(an, action_name) {
Ready the trial entry for another test29.1.1;
wording RW = EMPTY_WORDING;
+ int abbreviated_to_tail = FALSE;
Make the trial entry fit this action, if possible, leaving remaining text in RW29.1.2;
Consider the trial entry for inclusion in the results list29.1.3;
NoMatch: ;
@@ -1005,9 +1028,15 @@ inelegant, but there's no elegant way to break out of nested loops in C.
int it_optional = ActionNameNames::it_optional(an);
int abbreviable = ActionNameNames::abbreviable(an);
wording XW = ActionNameNames::tensed(an, anl_parsing_tense);
- int w_m = Wordings::first_wn(W), x_m = Wordings::first_wn(XW);
+ int w_m = Wordings::first_wn(W), x_m = Wordings::first_wn(XW), n = 0;
while ((w_m <= Wordings::last_wn(W)) && (x_m <= Wordings::last_wn(XW))) {
- if (Lexer::word(x_m++) != Lexer::word(w_m++)) goto NoMatch;
+ if (Lexer::word(x_m++) != Lexer::word(w_m++)) {
+ if ((abbreviable) && (it_optional) && (n >= 1)) {
+ x_ended = TRUE; abbreviated_to_tail = TRUE; x_m--; w_m--;
+ } else goto NoMatch;
+ break;
+ }
+ n++;
if (x_m > Wordings::last_wn(XW)) { x_ended = TRUE; break; }
if (<object-pronoun>(Wordings::one_word(x_m))) {
if (w_m > Wordings::last_wn(W)) x_ended = TRUE; else {
@@ -1042,9 +1071,10 @@ inelegant, but there's no elegant way to break out of nested loops in C.
Include the trial entry29.1.3.1;
} else {
if (experimental_anl_system) {
- if (ActionSemantics::can_have_noun(an)) {
- if (ActionNameLists::parse_to_tail(trial_entry, RW))
+ if ((ActionSemantics::can_have_noun(an)) && (abbreviated_to_tail == FALSE)) {
+ if (ActionNameLists::parse_to_tail(trial_entry, RW)) {
Include the trial entry29.1.3.1;
+ }
} else {
ActionNameLists::set_clause_wording(trial_entry, TAIL_AP_CLAUSE, RW);
Include the trial entry29.1.3.1;
@@ -1086,7 +1116,7 @@ the trial entry for future trials.
trial_entry = ActionNameLists::new_entry_at(EMPTY_WORDING);
§28.1.1. Extend the list to provide for clauses28.1.1 =
+ §24.1.1. Extend the list to provide for clauses24.1.1 =
-
+ anl_entry *results = RP[1];
+ Extend the list to provide for clauses24.1.1;
+ ==> { TRUE, ActionNameLists::new_list(results, ANL_POSITIVE) }
+
+
+
@@ -789,7 +799,17 @@ something other than something — or ==> { TRUE, ActionNameLists::new_list(entry, ANL_POSITIVE) };
-
+ anl_entry *results = ActionNameLists::new_entry_at(W);
+ ActionNameLists::set_clause_wording(results, TAIL_AP_CLAUSE, TW);
+ Extend the list to provide for clauses24.1.1;
+ ==> { TRUE, ActionNameLists::new_list(results, ANL_POSITIVE) };
+
+
+
@@ -799,7 +819,9 @@ something other than something — or ==> { fail production };
}
ActionNameLists::add_parameter(entry, GET_RW(<excluded-list>, 1));
- ==> { FALSE, ActionNameLists::new_list(entry, ANL_NEGATED_ITEMWISE) };
+ anl_entry *results = entry;
+ Extend the list to provide for clauses24.1.1;
+ ==> { FALSE, ActionNameLists::new_list(results, ANL_NEGATED_ITEMWISE) };
-
@@ -1103,11 +1133,11 @@ the trial entry for future trials.
prev = entry;
}
-
+
-void ActionNameLists::explode(anl_entry *entry) {
+void ActionNameLists::explode(anl_entry *entry) {
int tc = -1;
if (ActionNameLists::has_clause(entry, TAIL_AP_CLAUSE)) tc = TAIL_AP_CLAUSE;
else if (ActionNameLists::has_clause(entry, SECOND_AP_CLAUSE)) tc = SECOND_AP_CLAUSE;
diff --git a/docs/if-module/4-as.html b/docs/if-module/4-as.html
index f401d9877..476e115ea 100644
--- a/docs/if-module/4-as.html
+++ b/docs/if-module/4-as.html
@@ -185,7 +185,7 @@ preferred way to do that is to use activities for selecting missing parameters.
-int ActionSemantics::can_have_noun(action_name *an) { +int ActionSemantics::can_have_noun(action_name *an) { if (an->semantics.max_parameters >= 1) return TRUE; return FALSE; } diff --git a/docs/if-module/4-pap.html b/docs/if-module/4-pap.html index 9c1f819a4..e2d25c7ef 100644 --- a/docs/if-module/4-pap.html +++ b/docs/if-module/4-pap.html @@ -566,7 +566,7 @@ to enable Inform to set up a stack frame if there isn't one already, and so on.-<ap-six> ::= +<ap-sixxxxx> ::= <ap-seven> in the presence of <s-ap-parameter> | ==> { 0, RP[1] }; APClauses::set_spec(RP[1], IN_THE_PRESENCE_OF_AP_CLAUSE, RP[2]); <ap-seven> ==> { 0, RP[1] };@@ -576,7 +576,7 @@ so what's left can't very efficiently be written in Preform.-<ap-seven> internal { +<ap-six> internal { if (Wordings::mismatched_brackets(W)) { ==> { fail nonterminal }; } if (parse_action_pattern_mode & SCANNING_ANL_ONLY) { action_name_list *list = ActionNameLists::parse(W, prevailing_ap_tense, NULL); @@ -588,8 +588,8 @@ so what's left can't very efficiently be written in Preform. } else { LOGIF(ACTION_PATTERN_PARSING, "Parsing action pattern: %W\n", W); LOG_INDENT; - action_pattern *ap1 = ParseClauses::parse(W); - LOGIF(ACTION_PATTERN_PARSING, "Method 1 on %W gives $A\n", W, ap1); + action_pattern *ap1 = ParseClauses::parse(W); + LOGIF(ACTION_PATTERN_PARSING, "Method 1 on %W gives $A\n", W, ap1); action_pattern *ap2 = ParseClauses::experiment(W); LOGIF(ACTION_PATTERN_PARSING, "Method 2 on %W gives $A\n", W, ap2); if ((ap1) && (ap2 == NULL)) { diff --git a/docs/if-module/4-pc.html b/docs/if-module/4-pc.html index ce0d79c87..df4ccc105 100644 --- a/docs/if-module/4-pc.html +++ b/docs/if-module/4-pc.html @@ -752,7 +752,7 @@ We treat words like "something" specially to avoid them being read as LOGIF(ACTION_PATTERN_PARSING, "Writing clause %d '%W'\n", c->clause_ID, c->clause_text); if (c->stv_to_match) APClauses::set_action_variable_spec(ap, c->stv_to_match, c->evaluation); else APClauses::set_spec(ap, c->clause_ID, c->evaluation); - Going::new_clause(ap, APClauses::clause(ap, c->clause_ID)); + Going::new_clause(ap, APClauses::clause(ap, c->clause_ID)); } return ap; } diff --git a/docs/if-module/5-tfg.html b/docs/if-module/5-tfg.html index 27ab6f17a..ae4dbbc1d 100644 --- a/docs/if-module/5-tfg.html +++ b/docs/if-module/5-tfg.html @@ -824,7 +824,7 @@ problem message for this case is now commented out. "text", "such as \"eternity\" or \"peruvian skies\"."); else if (TEST_COMPILATION_MODE(SPECIFICATIONS_CMODE)) - StandardProblems::sentence_problem(Task::syntax_tree(), _p_(PM_NontextualUnderstandInAP), + StandardProblems::sentence_problem(Task::syntax_tree(), _p_(BelievedImpossible), "the topic here should be in the form of a textual description", "as in 'asking about \"[something]\"'."); else diff --git a/inform7/Downloads/preform-diagnostics.txt b/inform7/Downloads/preform-diagnostics.txt index 7cddac14e..b8d277976 100644 --- a/inform7/Downloads/preform-diagnostics.txt +++ b/inform7/Downloads/preform-diagnostics.txt @@ -16,7 +16,7 @@internal nti 30 constraint (none) extremes [1, 1] - internal hits 2894/22722 nti 31 constraint (none) extremes [1, 1] + internal hits 2894/22688 nti 31 constraint (none) extremes [1, 1] internal nti 6 constraint (none) extremes [1, 1] @@ -4728,7 +4728,7 @@ twelfth constraint CS = {27} extremes [1, 1] - internal hits 200/22490 nti r0 constraint CS = {r0} extremes [1, 1] + internal hits 200/22402 nti r0 constraint CS = {r0} extremes [1, 1] internal nti r1 constraint CS = {r1} extremes [1, 1] @@ -4736,12 +4736,12 @@ internal hits 0/258 nti 25 constraint (none) extremes [1, infinity) - hits 36473/72946 nti 21 constraint (none) extremes [1, infinity) + hits 36284/72568 nti 21 constraint (none) extremes [1, infinity) English: {...} - (hits 7867/36473) (matched long text) constraint (none) extremes [2, infinity) + (hits 7821/36284) (matched long text) constraint (none) extremes [2, infinity) {...} - (hits 28606/28606) (matched long text) constraint (none) extremes [1, infinity) + (hits 28463/28463) (matched long text) constraint (none) extremes [1, infinity) nti 22 constraint (none) extremes [1, infinity) English: @@ -4750,23 +4750,23 @@ {...} constraint (none) extremes [1, infinity) - hits 83808/167616 nti 23 constraint (none) extremes [1, infinity) + hits 82877/165754 nti 23 constraint (none) extremes [1, infinity) English: {...} - (hits 16123/48040) (matched long text) constraint (none) extremes [2, infinity) + (hits 16066/47391) (matched long text) constraint (none) extremes [2, infinity) {...} - (hits 67685/67685) (matched long text) constraint (none) extremes [1, infinity) + (hits 66811/66811) (matched long text) constraint (none) extremes [1, infinity) nti 24 constraint (none) extremes [2, infinity) English: {...} constraint (none) extremes [2, infinity) - internal hits 16572/99654 nti r2 constraint (none) extremes [1, 1] + internal hits 16517/98332 nti r2 constraint (none) extremes [1, 1] - internal hits 20384/237512 nti r2 constraint (none) extremes [1, 1] + internal hits 20340/236494 nti r2 constraint (none) extremes [1, 1] - internal hits 2021/40684 nti r2 constraint (none) extremes [1, 1] + internal hits 2021/40590 nti r2 constraint (none) extremes [1, 1] nti r2 constraint CS = {r2} extremes [6, 6] English: @@ -4827,10 +4827,10 @@ other than constraint CS = {28} extremes [2, 2] - hits 16/21920 nti 29 constraint DS = {29} extremes [2, infinity) + hits 16/21832 nti 29 constraint DS = {29} extremes [2, infinity) English: not {...} - (hits 16/6087) (matched long text) constraint DS = {29} extremes [2, infinity) + (hits 16/6043) (matched long text) constraint DS = {29} extremes [2, infinity) hits 79/158 nti 30 constraint (none) extremes [1, infinity) English: @@ -4841,16 +4841,16 @@ {...} (hits 79/79) (matched: 'dvd carried by the person asked') constraint (none) extremes [1, infinity) - hits 0/21636 nti 31 constraint DS = {31} extremes [2, infinity) + hits 0/21548 nti 31 constraint DS = {31} extremes [2, infinity) English: no one {***} - (hits 0/6349) constraint DS = {31} extremes [2, infinity) + (hits 0/6333) constraint DS = {31} extremes [2, infinity) internal hits 92/1206 nti 25 constraint (none) extremes [1, 1] internal hits 7/56 nti 26 constraint (none) extremes [1, 1] - internal hits 602/21198 nti 27 constraint (none) extremes [1, 1] + internal hits 284/18534 nti 27 constraint (none) extremes [1, 1] internal nti 28 constraint (none) extremes [1, 1] @@ -4935,22 +4935,22 @@ internal nti 12 constraint DS = {12} extremes [1, infinity) - internal hits 635/16930 nti 13 constraint DS = {13} extremes [1, infinity) + internal hits 635/18736 nti 13 constraint DS = {13} extremes [1, infinity) internal hits 258/8488 nti 14 constraint DS = {14} extremes [1, infinity) - hits 67/4406 nti 13 constraint CS = {13} extremes [1, 1] + hits 67/4448 nti 13 constraint CS = {13} extremes [1, 1] English: always/certainly - (hits 10/1042) (matched: 'always') constraint CS = {13} extremes [1, 1] + (hits 10/1046) (matched: 'always') constraint CS = {13} extremes [1, 1] usually/normally - (hits 53/1032) (matched: 'usually') constraint CS = {13} extremes [1, 1] + (hits 53/1036) (matched: 'usually') constraint CS = {13} extremes [1, 1] rarely/seldom - (hits 0/979) constraint CS = {13} extremes [1, 1] + (hits 0/983) constraint CS = {13} extremes [1, 1] never - (hits 4/979) (matched: 'never') constraint CS = {13} extremes [1, 1] + (hits 4/983) (matched: 'never') constraint CS = {13} extremes [1, 1] initially - (hits 0/975) constraint CS = {13} extremes [1, 1] + (hits 0/979) constraint CS = {13} extremes [1, 1] hits 0/4304 nti 14 constraint DS = {14} extremes [1, infinity) English: @@ -5118,12 +5118,12 @@ (hits 0/981) constraint (none) extremes [1, infinity) - hits 85/1122 nti 29 constraint CS = {29} extremes [1, 1] + hits 83/1118 nti 29 constraint CS = {29} extremes [1, 1] English: thing/something - (hits 85/85) (matched: 'thing') constraint CS = {29} extremes [1, 1] + (hits 83/83) (matched: 'thing') constraint CS = {29} extremes [1, 1] - internal hits 476/23938 nti 24 constraint (none) extremes [1, 1] + internal hits 476/23876 nti 24 constraint (none) extremes [1, 1] hits 0/6 nti 22 constraint CS = {22} extremes [1, 2] English: @@ -5231,17 +5231,17 @@ hits 0/2764 nti 31 constraint DS = {13} extremes [2, infinity) English: {...} - (hits 0/1024) constraint DS = {13} extremes [2, infinity) + (hits 0/1026) constraint DS = {13} extremes [2, infinity) hits 67/2764 nti 6 constraint DS = {13} extremes [2, infinity) English: {...} - (hits 67/1179) (matched: 'usually table of general chitchat') constraint DS = {13} extremes [2, infinity) + (hits 67/1198) (matched: 'usually table of general chitchat') constraint DS = {13} extremes [2, infinity) - hits 691/24988 nti 30 constraint CS = {30} extremes [1, 1] + hits 691/25108 nti 30 constraint CS = {30} extremes [1, 1] English: which/who/that - (hits 691/5787) (matched: 'which') constraint CS = {30} extremes [1, 1] + (hits 691/5816) (matched: 'which') constraint CS = {30} extremes [1, 1] hits 2/2742 nti 7 constraint DS = {30} extremes [2, infinity) English: @@ -5271,7 +5271,7 @@ grammatical case (hits 1/1) (matched: 'grammatical case') constraint CS = {7} extremes [2, 2] - internal hits 2474/41934 nti 8 constraint (none) extremes [0, 0] + internal hits 2474/41942 nti 8 constraint (none) extremes [0, 0] internal hits 164/328 nti 9 constraint (none) extremes [1, infinity) @@ -5297,20 +5297,20 @@ (hits 5/5) (matched: 'value of kind k') constraint (none) extremes [1, infinity) - hits 5777/103758 nti r5 constraint (none) extremes [1, infinity) + hits 5788/103674 nti r5 constraint (none) extremes [1, infinity) English: ( ) - (hits 0/2059) constraint DS = {r5} & CW = {r2, r5} extremes [3, infinity) + (hits 0/2064) constraint DS = {r5} & CW = {r2, r5} extremes [3, infinity) ^ - (hits 1589/11278) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity) + (hits 1589/11280) (matched: 'k') constraint CW = {r2, r5} extremes [1, infinity) - (hits 201/9689) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity) + (hits 201/9691) (matched: 'sayable value of kind k') constraint CW = {r2, r5} extremes [1, infinity) - (hits 3626/9488) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity) + (hits 3637/9490) (matched: 'an ice cream cone') constraint CW = {r2, r5} extremes [1, infinity) - (hits 2/16005) (matched: 'object-based rulebook') constraint DS = {r5} extremes [2, infinity) + (hits 2/16092) (matched: 'object-based rulebook') constraint DS = {r5} extremes [2, infinity) - (hits 359/5860) (matched long text) constraint CW = {r2, r5} extremes [1, infinity) + (hits 359/5851) (matched long text) constraint CW = {r2, r5} extremes [1, infinity) hits 40/338 nti 10 constraint (none) extremes [1, infinity) English: @@ -5326,9 +5326,9 @@ of kind (hits 81/315) (matched: 'sayable value of kind k') constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity) - internal hits 3626/18976 nti r5 constraint CW = {r2, r5} extremes [1, infinity) + internal hits 3637/18980 nti r5 constraint CW = {r2, r5} extremes [1, infinity) - hits 2/32010 nti r5 constraint DS = {r5} extremes [2, infinity) + hits 2/32184 nti r5 constraint DS = {r5} extremes [2, infinity) English: indexed text (hits 0/1020) constraint CS = {r5} extremes [2, 2] @@ -5339,17 +5339,17 @@ stored actions (hits 0/1020) constraint CS = {r5} extremes [2, 2] object-based rulebook producing - (hits 0/5032) constraint DS = {r5} extremes [5, infinity) + (hits 0/5097) constraint DS = {r5} extremes [5, infinity) object-based rulebook producing - (hits 0/1073) constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity) + (hits 0/1078) constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity) object-based rulebook (hits 2/1020) (matched: 'object-based rulebook') constraint CS = {r5} extremes [2, 2] action-based rulebook (hits 0/1018) constraint CS = {r5} extremes [2, 2] object-based rule producing - (hits 0/5032) constraint DS = {r5} extremes [5, infinity) + (hits 0/5097) constraint DS = {r5} extremes [5, infinity) object-based rule producing - (hits 0/1073) constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity) + (hits 0/1078) constraint DS = {r5} & CW = {r2, r5} extremes [4, infinity) object-based rule (hits 0/1018) constraint CS = {r5} extremes [2, 2] action-based rule @@ -5357,7 +5357,7 @@ either-or property (hits 0/1018) constraint CS = {r5} extremes [2, 2] - internal hits 359/11720 nti r5 constraint CW = {r2, r5} extremes [1, infinity) + internal hits 359/11702 nti r5 constraint CW = {r2, r5} extremes [1, infinity) hits 150/300 nti r5 constraint (none) extremes [1, infinity) English: @@ -5402,7 +5402,7 @@ (hits 100/224) (matched: 'sayable value') constraint (none) extremes [1, infinity) - internal hits 1589/20082 nti r5 constraint CW = {r2, r5} extremes [1, 1] + internal hits 1589/20086 nti r5 constraint CW = {r2, r5} extremes [1, 1] internal hits 220/1414 nti r5 constraint CW = {r2, r5} extremes [1, 1] @@ -5479,7 +5479,7 @@ (hits 191/3215) (matched long text) constraint DS = {11} extremes [2, infinity) - (hits 8/3827) (matched long text) constraint DS = {12} extremes [3, infinity) + (hits 8/3512) (matched long text) constraint DS = {12} extremes [3, infinity) hits 191/2328 nti 11 constraint DS = {11} extremes [2, infinity) English: @@ -5494,12 +5494,12 @@ section {...} (hits 151/1124) (matched long text) constraint DS = {11} extremes [2, infinity) - hits 8/7654 nti 12 constraint DS = {12} extremes [3, infinity) + hits 8/7024 nti 12 constraint DS = {12} extremes [3, infinity) English: {...} begin/begins here - (hits 4/3827) (matched long text) constraint DS = {12} extremes [3, infinity) + (hits 4/3512) (matched long text) constraint DS = {12} extremes [3, infinity) {...} end/ends here - (hits 4/3823) (matched: 'the standard rules end here') constraint DS = {12} extremes [3, infinity) + (hits 4/3508) (matched: 'the standard rules end here') constraint DS = {12} extremes [3, infinity) hits 32/12958 nti 14 constraint (none) extremes [1, infinity) English: @@ -5508,7 +5508,7 @@ {...} (hits 0/6459) constraint (none) extremes [2, infinity) - (hits 0/6276) constraint DS = {13} extremes [4, infinity) + (hits 0/6302) constraint DS = {13} extremes [4, infinity) * constraint CS = {14} extremes [1, 1] * @@ -5537,12 +5537,12 @@ when {...} (hits 4/1102) (matched: 'when scene begins is a scene based rulebook') constraint DS = {15} extremes [2, infinity) - hits 0/12552 nti 13 constraint DS = {13} extremes [4, infinity) + hits 0/12604 nti 13 constraint DS = {13} extremes [4, infinity) English: include (- {###} in the preform grammar - (hits 0/117) constraint DS = {13} extremes [7, 7] + (hits 0/133) constraint DS = {13} extremes [7, 7] use {...} language element/elements - (hits 0/6276) constraint DS = {13} extremes [4, infinity) + (hits 0/6302) constraint DS = {13} extremes [4, infinity) hits 30/442 nti 21 constraint DS = {21} extremes [2, infinity) English: @@ -6122,7 +6122,7 @@ hits 0/856 nti 13 constraint DS = {13} extremes [3, infinity) English: defined by - (hits 0/204) constraint DS = {13} extremes [3, infinity) + (hits 0/210) constraint DS = {13} extremes [3, infinity) nti 6 constraint (none) extremes [1, infinity) English: @@ -6627,7 +6627,7 @@ hits 0/514 nti 12 constraint DS = {11, 12} extremes [4, infinity) English: {...} ( ) - (hits 0/37) constraint DS = {11, 12} extremes [4, infinity) + (hits 0/34) constraint DS = {11, 12} extremes [4, infinity) nti 11 constraint CS = {11} extremes [1, 1] English: @@ -7011,31 +7011,31 @@ {...} constraint (none) extremes [1, infinity) - hits 2097/23958 nti 12 constraint (none) extremes [1, infinity) + hits 2097/23850 nti 12 constraint (none) extremes [1, infinity) English: (hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1] minus - (hits 0/1887) constraint DS = {12} extremes [2, 2] + (hits 0/1866) constraint DS = {12} extremes [2, 2] ( ) - (hits 273/855) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {12} extremes [4, 4] + (hits 273/844) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {12} extremes [4, 4] - (hits 1564/5566) (matched: 'Represents geographical locations, both indoor + (hits 1564/5549) (matched: 'Represents geographical locations, both indoor and outdoor, which are not necessarily areas in a building. A player in one room is mostly unable to sense, or interact with, anything in a different room. Rooms are arranged in a map.') constraint (none) extremes [1, 1] - (hits 11/9971) (matched: 'plus infinity') constraint (none) extremes [1, infinity) + (hits 11/9917) (matched: 'plus infinity') constraint (none) extremes [1, infinity) (hits 78/273) (matched: 'false') constraint CS = {6} extremes [1, 1] - (hits 0/3176) constraint DS = {8} extremes [2, infinity) + (hits 0/3142) constraint DS = {8} extremes [2, infinity) unicode - (hits 0/4303) constraint DS = {12} extremes [2, infinity) + (hits 0/4226) constraint DS = {12} extremes [2, infinity) - (hits 0/2184) constraint DW = {9, 10, 11} extremes [2, 5] + (hits 0/2160) constraint DW = {9, 10, 11} extremes [2, 5] - (hits 0/9882) constraint (none) extremes [1, infinity) + (hits 0/9828) constraint (none) extremes [1, infinity) internal hits 680/1360 nti 30 constraint (none) extremes [1, 1] @@ -7048,33 +7048,33 @@ internal nti 31 constraint (none) extremes [1, infinity) - internal hits 0/19764 nti 6 constraint (none) extremes [1, infinity) + internal hits 0/19656 nti 6 constraint (none) extremes [1, infinity) - hits 11/19942 nti 30 constraint (none) extremes [1, infinity) + hits 11/19834 nti 30 constraint (none) extremes [1, infinity) English: _pi (hits 1/126) (matched: 'pi') constraint CS = {30} extremes [1, 1] _e (hits 1/125) (matched: 'e') constraint CS = {30} extremes [1, 1] plus infinity - (hits 4/26) (matched: 'plus infinity') constraint CS = {30} extremes [2, 2] + (hits 4/8) (matched: 'plus infinity') constraint CS = {30} extremes [2, 2] minus infinity - (hits 4/22) (matched: 'minus infinity') constraint CS = {30} extremes [2, 2] + (hits 4/4) (matched: 'minus infinity') constraint CS = {30} extremes [2, 2] - (hits 1/9961) (matched: '0.5') constraint (none) extremes [1, infinity) + (hits 1/9907) (matched: '0.5') constraint (none) extremes [1, infinity) - internal hits 1/19922 nti 7 constraint (none) extremes [1, infinity) + internal hits 1/19814 nti 7 constraint (none) extremes [1, infinity) - hits 0/4368 nti 11 constraint DW = {9, 10, 11} extremes [2, 5] + hits 0/4320 nti 11 constraint DW = {9, 10, 11} extremes [2, 5] English: minus - (hits 0/810) constraint DS = {9, 11} extremes [3, 5] + (hits 0/804) constraint DS = {9, 11} extremes [3, 5] - (hits 0/847) constraint DS = {9} extremes [2, 4] + (hits 0/844) constraint DS = {9} extremes [2, 4] (hits 0/242) constraint DS = {10} extremes [2, 2] - hits 0/1694 nti 9 constraint DS = {9} extremes [2, 4] + hits 0/1688 nti 9 constraint DS = {9} extremes [2, 4] English: hour/hours (hits 0/187) constraint DS = {9} extremes [2, 2] @@ -7121,12 +7121,12 @@ internal nti 12 constraint (none) extremes [1, infinity) - hits 0/6352 nti 8 constraint DS = {8} extremes [2, infinity) + hits 0/6284 nti 8 constraint DS = {8} extremes [2, infinity) English: { } constraint CS = {8} extremes [2, 2] { } - (hits 0/1965) constraint DS = {8} extremes [3, infinity) + (hits 0/1949) constraint DS = {8} extremes [3, infinity) nti 7 constraint (none) extremes [1, infinity) English: @@ -7146,47 +7146,47 @@ internal hits 4/16 nti 15 constraint (none) extremes [1, infinity) - internal hits 3209/8304 nti 16 constraint (none) extremes [1, infinity) + internal hits 3205/8242 nti 16 constraint (none) extremes [1, infinity) internal hits 1093/2190 nti 17 constraint (none) extremes [1, infinity) internal hits 4/8 nti 18 constraint (none) extremes [1, infinity) - internal hits 2037/5442 nti 19 constraint (none) extremes [1, infinity) + internal hits 1964/5234 nti 19 constraint (none) extremes [1, infinity) internal hits 1272/3058 nti 20 constraint (none) extremes [1, infinity) internal hits 529/1072 nti 21 constraint (none) extremes [1, infinity) - hits 320/1942 nti 22 constraint (none) extremes [1, infinity) + hits 243/1734 nti 22 constraint (none) extremes [1, infinity) English: - (hits 264/901) (matched long text) constraint (none) extremes [1, infinity) + (hits 191/797) (matched long text) constraint (none) extremes [1, infinity) - (hits 56/637) (matched long text) constraint (none) extremes [1, infinity) + (hits 52/606) (matched long text) constraint (none) extremes [1, infinity) internal hits 0/244 nti 23 constraint (none) extremes [1, infinity) internal hits 0/244 nti 24 constraint (none) extremes [1, infinity) - hits 2370/20982 nti 20 constraint (none) extremes [1, infinity) + hits 2370/20910 nti 20 constraint (none) extremes [1, infinity) English: - (hits 1797/10491) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint (none) extremes [1, infinity) + (hits 1797/10455) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint (none) extremes [1, infinity) nothing (hits 97/172) (matched: 'nothing') constraint CS = {20} extremes [1, 1] - (hits 449/8597) (matched: 'printing the name of a dark room') constraint (none) extremes [1, infinity) + (hits 449/8561) (matched: 'printing the name of a dark room') constraint (none) extremes [1, infinity) outcome - (hits 0/2947) constraint DS = {20} extremes [2, infinity) + (hits 0/2936) constraint DS = {20} extremes [2, infinity) option - (hits 26/2947) (matched: 'serial comma option') constraint DS = {20} extremes [2, infinity) + (hits 26/2936) (matched: 'serial comma option') constraint DS = {20} extremes [2, infinity) verb - (hits 1/2921) (matched: 'verb are') constraint DS = {20} extremes [2, infinity) + (hits 1/2910) (matched: 'verb are') constraint DS = {20} extremes [2, infinity) response ( ) - (hits 0/753) constraint DS = {20} extremes [5, infinity) + (hits 0/754) constraint DS = {20} extremes [5, infinity) - internal hits 449/17194 nti 25 constraint (none) extremes [1, infinity) + internal hits 449/17122 nti 25 constraint (none) extremes [1, infinity) internal hits 0/244 nti 26 constraint (none) extremes [1, infinity) @@ -7196,7 +7196,7 @@ internal nti 29 constraint (none) extremes [1, infinity) - internal hits 165/18614 nti 30 constraint (none) extremes [1, infinity) + internal hits 165/18578 nti 30 constraint (none) extremes [1, infinity) hits 34/1592 nti 31 constraint DS = {20} extremes [2, infinity) English: @@ -7205,115 +7205,115 @@ (hits 0/168) constraint DS = {20} extremes [2, infinity) - internal hits 796/21456 nti 6 constraint (none) extremes [1, infinity) + internal hits 796/21420 nti 6 constraint (none) extremes [1, infinity) - hits 651/21906 nti 7 constraint (none) extremes [1, infinity) + hits 651/21870 nti 7 constraint (none) extremes [1, infinity) English: - (hits 651/10953) (matched: 'unmarked for listing') constraint (none) extremes [1, infinity) + (hits 651/10935) (matched: 'unmarked for listing') constraint (none) extremes [1, infinity) - hits 1442/27654 nti 22 constraint (none) extremes [1, infinity) + hits 1442/27542 nti 22 constraint (none) extremes [1, infinity) English: not - (hits 0/2595) constraint DS = {22} extremes [3, infinity) + (hits 0/2598) constraint DS = {22} extremes [3, infinity) - (hits 0/6947) constraint (none) extremes [2, infinity) + (hits 0/6944) constraint (none) extremes [2, infinity) - (hits 1442/13827) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) + (hits 1442/13771) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) - hits 1513/29884 nti 21 constraint (none) extremes [1, infinity) + hits 1513/29772 nti 21 constraint (none) extremes [1, infinity) English: not - (hits 12/5026) (matched: 'not lockable') constraint DS = {21} extremes [2, infinity) + (hits 12/5024) (matched: 'not lockable') constraint DS = {21} extremes [2, infinity) - (hits 1430/2255) (matched: 'unmarked for listing') constraint CS = {r3} extremes [1, infinity) + (hits 1430/2252) (matched: 'unmarked for listing') constraint CS = {r3} extremes [1, infinity) not - (hits 0/3128) constraint DS = {21} extremes [3, infinity) + (hits 0/3132) constraint DS = {21} extremes [3, infinity) - (hits 71/7274) (matched: 'marked for listing other') constraint (none) extremes [2, infinity) + (hits 71/7271) (matched: 'marked for listing other') constraint (none) extremes [2, infinity) - internal hits 2217/19112 nti r3 constraint CS = {r3} extremes [1, infinity) + internal hits 2217/19100 nti r3 constraint CS = {r3} extremes [1, infinity) - hits 3653/90530 nti 8 constraint (none) extremes [1, infinity) + hits 3634/90368 nti 8 constraint (none) extremes [1, infinity) English: - (hits 2593/45265) (matched: 'value of kind k') constraint (none) extremes [1, infinity) + (hits 2599/45184) (matched: 'value of kind k') constraint (none) extremes [1, infinity) - (hits 1060/2059) (matched: 'the alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) + (hits 1035/2038) (matched: 'the alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) - hits 4/752 nti 9 constraint (none) extremes [1, infinity) + hits 8/864 nti 9 constraint (none) extremes [1, infinity) English: - (hits 4/376) (matched: 'person') constraint (none) extremes [1, infinity) + (hits 8/432) (matched: 'person') constraint (none) extremes [1, infinity) - hits 133/7796 nti 10 constraint CW = {r2, r4} extremes [1, infinity) + hits 133/7892 nti 10 constraint CW = {r2, r4} extremes [1, infinity) English: (hits 133/332) (matched: 'alfred cralle pool hall') constraint CW = {r2, r4} extremes [1, infinity) - hits 768/5204 nti 11 constraint (none) extremes [1, infinity) + hits 768/5176 nti 11 constraint (none) extremes [1, infinity) English: - (hits 768/2602) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) + (hits 768/2588) (matched: 'marked for listing other') constraint (none) extremes [1, infinity) - hits 1652/38916 nti 12 constraint (none) extremes [1, infinity) + hits 1652/38810 nti 12 constraint (none) extremes [1, infinity) English: - (hits 1392/19458) (matched long text) constraint (none) extremes [1, infinity) + (hits 1392/19405) (matched long text) constraint (none) extremes [1, infinity) - (hits 260/4843) (matched long text) constraint (none) extremes [3, infinity) + (hits 260/4823) (matched long text) constraint (none) extremes [3, infinity) - hits 257/2144 nti 13 constraint (none) extremes [1, infinity) + hits 256/2108 nti 13 constraint (none) extremes [1, infinity) English: - (hits 257/1072) (matched: 'thing ( called the item being printed )') constraint (none) extremes [1, infinity) + (hits 256/1054) (matched: 'thing ( called the item being printed )') constraint (none) extremes [1, infinity) - hits 1649/41060 nti 23 constraint (none) extremes [1, infinity) + hits 1648/40918 nti 23 constraint (none) extremes [1, infinity) English: ( called ) - (hits 118/1426) (matched long text) constraint DS = {23} extremes [5, infinity) + (hits 118/1428) (matched long text) constraint DS = {23} extremes [5, infinity) - (hits 1531/20412) (matched: 'the alfred cralle pool hall') constraint (none) extremes [1, infinity) + (hits 1530/20341) (matched: 'the alfred cralle pool hall') constraint (none) extremes [1, infinity) - hits 1649/41060 nti 14 constraint (none) extremes [1, infinity) + hits 1648/40930 nti 14 constraint (none) extremes [1, infinity) English: - (hits 51/10665) (matched: 'at least two stamped envelopes') constraint (none) extremes [2, infinity) + (hits 51/10621) (matched: 'at least two stamped envelopes') constraint (none) extremes [2, infinity) - (hits 156/20479) (matched: 'something') constraint (none) extremes [1, infinity) + (hits 156/20414) (matched: 'something') constraint (none) extremes [1, infinity) - (hits 22/10614) (matched: 'something switched on') constraint (none) extremes [2, infinity) + (hits 22/10570) (matched: 'something switched on') constraint (none) extremes [2, infinity) - (hits 2/10592) (matched: 'the person') constraint (none) extremes [2, infinity) + (hits 2/10548) (matched: 'the person') constraint (none) extremes [2, infinity) ^ ^ - (hits 0/10590) constraint (none) extremes [2, infinity) + (hits 0/10546) constraint (none) extremes [2, infinity) - (hits 56/10590) (matched: 'the alfred cralle pool hall') constraint (none) extremes [2, infinity) + (hits 56/10546) (matched: 'the alfred cralle pool hall') constraint (none) extremes [2, infinity) - (hits 617/10534) (matched: 'a marked for listing person') constraint (none) extremes [2, infinity) + (hits 617/10490) (matched: 'a marked for listing person') constraint (none) extremes [2, infinity) - (hits 745/19626) (matched: 'marked for listing other people') constraint (none) extremes [1, infinity) + (hits 744/19561) (matched: 'marked for listing other people') constraint (none) extremes [1, infinity) - hits 1413/41026 nti 15 constraint (none) extremes [1, infinity) + hits 1412/40896 nti 15 constraint (none) extremes [1, infinity) English: - (hits 1029/20513) (matched: 'nancy johnson memorial square') constraint (none) extremes [1, infinity) + (hits 1028/20448) (matched: 'nancy johnson memorial square') constraint (none) extremes [1, infinity) - (hits 384/10236) (matched: 'marked for listing other people') constraint (none) extremes [2, infinity) + (hits 384/10192) (matched: 'marked for listing other people') constraint (none) extremes [2, infinity) - hits 2/284 nti 16 constraint (none) extremes [1, infinity) + hits 2/300 nti 16 constraint (none) extremes [1, infinity) English: - (hits 2/142) (matched: 'person') constraint (none) extremes [1, infinity) + (hits 2/150) (matched: 'person') constraint (none) extremes [1, infinity) - (hits 0/103) constraint (none) extremes [2, infinity) + (hits 0/111) constraint (none) extremes [2, infinity) - hits 56/7178 nti 17 constraint (none) extremes [1, infinity) + hits 56/7194 nti 17 constraint (none) extremes [1, infinity) English: