made preposition stranding default in LangEng (and SyntaxEng) questions and relatives, and that_RP in relatives; these are more natural in modern language and more often right; piped piping and which can be accessed via ExtraEng

This commit is contained in:
aarne
2016-06-05 10:59:27 +00:00
parent 44a7f34bda
commit 5053ace548
4 changed files with 39 additions and 13 deletions

View File

@@ -13,6 +13,11 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
a = RAg (agrP3 nu.n)
} ;
PiedPipingRelSlash rp slash = {
s = \\t,a,p,agr =>
slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! oDir ;
c = NPAcc
} ;
StrandRelSlash rp slash = {
s = \\t,a,p,ag =>
rp.s ! RC (fromAgr ag).g NPAcc ++ slash.s ! t ! a ! p ! oDir ++ slash.c2 ;
@@ -23,6 +28,9 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
c = NPAcc
} ;
PiedPipingQuestSlash ip slash =
mkQuestion (ss (slash.c2 ++ ip.s ! NPAcc)) slash ;
StrandQuestSlash ip slash =
{s = \\t,a,b,q =>
(mkQuestion (ss (ip.s ! NPAcc)) slash).s ! t ! a ! b ! q ++ slash.c2
@@ -285,6 +293,18 @@ lin
a = RNoAg
} ;
which_who_RP =
{ s = table {
RC _ (NCase Gen) | RC _ NPNomPoss => "whose" ;
RC Neutr _ => "which" ;
RC _ NPAcc => "whom" ;
RC _ (NCase Nom) => "who" ;
RPrep Neutr => "which" ;
RPrep _ => "whom"
} ;
a = RNoAg
} ;
who_RP =
{ s = table {
RC _ (NCase Gen) | RC _ NPNomPoss => "whose" ;

View File

@@ -8,7 +8,8 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** {
CompoundCN : CN -> CN -> CN ; -- rock album
that_RP : RP ; -- "that" as a relational pronoun (IdRP is "which" / "who")
which_who_RP : RP ; -- "which" / "who" as a relative pronoun (used to be the default for IdRP)
that_RP : RP ; -- "that" as a relational pronoun (since 5/6/2016 default for IdRP)
which_RP : RP ; -- force "which"
who_RP : RP ; -- force "who" ; in Acc, also "who": "the girl who I saw"
emptyRP : RP ; -- empty RP in Acc position: "the girl I saw"

View File

@@ -18,9 +18,11 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! oDir} ; ----
QuestSlash ip slash =
mkQuestion (ss (slash.c2 ++ ip.s ! NPAcc)) slash ;
--- stranding in ExratEng
{s = \\t,a,b,q =>
(mkQuestion (ss (ip.s ! NPAcc)) slash).s ! t ! a ! b ! q ++ slash.c2
} ;
--- changed AR 5/6/2016: uses stranding; pied-piping in ExtraEng
QuestIAdv iadv cl = mkQuestion iadv cl ;
QuestIComp icomp np =

View File

@@ -22,13 +22,13 @@ concrete RelativeEng of Relative = CatEng ** open ResEng in {
c = npNom
} ;
-- Pied piping: "at which we are looking". Stranding and empty
-- relative are defined in $ExtraEng.gf$ ("that we are looking at",
-- Pied piping: "that we are looking at". Pied piping and empty
-- relative are defined in $ExtraEng.gf$ ("at which we are looking",
-- "we are looking at").
RelSlash rp slash = {
s = \\t,a,p,agr =>
slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! oDir ;
s = \\t,a,p,ag =>
rp.s ! RC (fromAgr ag).g NPAcc ++ slash.s ! t ! a ! p ! oDir ++ slash.c2 ;
c = NPAcc
} ;
@@ -37,14 +37,17 @@ concrete RelativeEng of Relative = CatEng ** open ResEng in {
a = RAg np.a
} ;
IdRP =
-- relative pronoun "that" used by default, because it is always correct, even in absence of gender/animateness information
IdRP =
{ s = table {
RC _ (NCase Gen) | RC _ NPNomPoss => "whose" ;
RC Neutr _ => "which" ;
RC _ NPAcc => "whom" ;
RC _ (NCase Nom) => "who" ;
RC Neutr _ => "that" ;
RC _ NPAcc => "that" ;
RC _ (NCase Nom) => "that" ;
RPrep Neutr => "which" ;
RPrep _ => "whom"
RPrep _ => "who"
} ;
a = RNoAg
} ;