summaryrefslogtreecommitdiff
path: root/next-lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'next-lib/src')
-rw-r--r--next-lib/src/parse/ParseEng.gf12
-rw-r--r--next-lib/src/parse/ParseEngAbs.gf6
2 files changed, 13 insertions, 5 deletions
diff --git a/next-lib/src/parse/ParseEng.gf b/next-lib/src/parse/ParseEng.gf
index 889aa0dc2..bee66010d 100644
--- a/next-lib/src/parse/ParseEng.gf
+++ b/next-lib/src/parse/ParseEng.gf
@@ -82,8 +82,16 @@ lin RelSlash rp slash = variants { RelativeEng.RelSlash rp slash; StrandRelSlash
-- Allow both "who"/"which" and "that"
--- FIXME: allow both "who" and "which" for all genders
-lin IdRP = variants { RelativeEng.IdRP; that_RP } ;
+lin IdRP =
+ { s = table {
+ RC _ Gen => "whose" ;
+ RC Neutr _ => variants { "which"; "that"; {- for dictionary entries with the wrong gender -} "who" } ;
+ RC _ Acc => variants { "whom"; "that"; {- incorrect but common -} "who" } ;
+ RC _ Nom => variants { "who" ; "that" } ;
+ RPrep _ => variants { "which"; "whom"; {- incorrect but common -} "who" }
+ } ;
+ a = RNoAg
+ } ;
lin everybody_NP = variants { regNP "everybody" singular; regNP "everyone" singular } ;
lin somebody_NP = variants { regNP "somebody" singular; regNP "someone" singular } ;
diff --git a/next-lib/src/parse/ParseEngAbs.gf b/next-lib/src/parse/ParseEngAbs.gf
index 5ac51a5cc..1cd65ea62 100644
--- a/next-lib/src/parse/ParseEngAbs.gf
+++ b/next-lib/src/parse/ParseEngAbs.gf
@@ -1,9 +1,9 @@
abstract ParseEngAbs =
Parse,
ExtraEngAbs - [
- -- Don't include the uncontracted clauses. Instead
- -- use them as variants of the contracted ones.
- UncNegCl, UncNegQCl, UncNegRCl, UncNegImpSg, UncNegImpPl
+ UncNegCl, UncNegQCl, UncNegRCl, UncNegImpSg, UncNegImpPl,
+ StrandRelSlash,
+ that_RP
],
Lexicon [N3, distance_N3,