preposition stranding in English and Scand

This commit is contained in:
aarne
2006-06-18 18:34:08 +00:00
parent b7483420eb
commit 865d84508f
6 changed files with 50 additions and 11 deletions

View File

@@ -10,4 +10,8 @@ abstract Extra = Cat ** {
GenNP : NP -> Quant ; -- this man's
ComplBareVS : VS -> S -> VP ; -- know you go
}
StrandRelSlash : RP -> Slash -> RCl ; -- that he lives in
EmptyRelSlash : RP -> Slash -> RCl ; -- he lives in
StrandQuestSlash : IP -> Slash -> QCl ; -- whom does John live with
}

View File

@@ -4,6 +4,20 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng, Prelude in {
GenNP np = {s = \\_ => np.s ! Gen} ;
ComplBareVS v s = insertObj (\\_ => s.s) (predV v) ;
StrandRelSlash rp slash = {
s = \\t,a,p,_ => rp.s ! RC Acc ++ slash.s ! t ! a ! p ! ODir ++ slash.c2 ;
c = Acc
} ;
EmptyRelSlash rp slash = {
s = \\t,a,p,_ => slash.s ! t ! a ! p ! ODir ++ slash.c2 ;
c = Acc
} ;
StrandQuestSlash ip slash =
{s = \\t,a,b,q =>
(mkQuestion (ss (ip.s ! Acc)) slash).s ! t ! a ! b ! q ++ slash.c2
};
UncNegCl t a cl = {s = t.s ++ a.s ++ cl.s ! t.t ! a.a ! neg ! ODir} ;
UncNegQCl t a cl = {s = \\q => t.s ++ a.s ++ cl.s ! t.t ! a.a ! neg !q} ;
UncNegRCl t a cl = {

View File

@@ -19,7 +19,7 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
QuestSlash ip slash =
mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
--- stranding in ExtEng
--- stranding in ExratEng
QuestIAdv iadv cl = mkQuestion iadv cl ;

View File

@@ -22,11 +22,12 @@ concrete RelativeEng of Relative = CatEng ** open ResEng in {
c = Nom
} ;
-- Preposition stranding: "that we are looking at". Pied-piping is
-- deferred to $ExtEng.gf$ ("at which we are looking").
-- Pied piping: "at which we are looking". Stranding and empty
-- relative are defined in $ExtraEng.gf$ ("that we are looking at",
-- "we are looking at").
RelSlash rp slash = {
s = \\t,a,p,_ => rp.s ! RC Acc ++ slash.s ! t ! a ! p ! ODir ++ slash.c2 ;
s = \\t,a,p,_ => slash.c2 ++ rp.s ! RPrep ++ slash.s ! t ! a ! p ! ODir ;
c = Acc
} ;

View File

@@ -8,4 +8,26 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,R
ComplBareVS v s = insertObj (\\_ => s.s ! Sub) (predV v) ;
StrandRelSlash rp slash = {
s = \\t,a,p,ag =>
rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2 ;
c = NPAcc
} ;
EmptyRelSlash rp slash = {
s = \\t,a,p,ag =>
slash.s ! t ! a ! p ! Sub ++ slash.c2 ;
c = NPAcc
} ;
StrandQuestSlash ip slash = {
s = \\t,a,p =>
let
cls = slash.s ! t ! a ! p ;
who = ip.s ! accusative
in table {
QDir => who ++ cls ! Inv ++ slash.c2 ;
QIndir => who ++ cls ! Sub ++ slash.c2
}
} ;
}

View File

@@ -23,15 +23,13 @@ incomplete concrete RelativeScand of Relative =
c = NPNom
} ;
--- We make this easy by using "som" and preposition stranding. It would be
--- a proble to determine whether $slash$ takes a direct object, since
--- $slash.c2$ is defined to be just a string.
--
-- The empty relative is left to $ExtScand$.
-- This rule uses pied piping ("huset i vilket hon bor")
-- Preposition stranding ("huset som hon bor i")
-- and the empty relative ("huset hon bor i") are defined in $ExtraScand$.
RelSlash rp slash = {
s = \\t,a,p,ag =>
rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2 ;
slash.c2 ++ rp.s ! ag.gn ! RPrep ++ slash.s ! t ! a ! p ! Sub ;
c = NPAcc
} ;