summaryrefslogtreecommitdiff
path: root/next-lib
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-11-03 13:00:35 +0000
committerbjorn <bjorn@bringert.net>2008-11-03 13:00:35 +0000
commit770135af5f096ad5ede0ae3a96a221df7fa90fff (patch)
treeeb86ef0832db5c4c55bd532d2c36a8ecca390eea /next-lib
parentdfd2adad09009a977d1ad69fddc2c6fe042e3a3e (diff)
ParseEng: more liberal IdRP
Diffstat (limited to 'next-lib')
-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,