mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
preposition stranding in English and Scand
This commit is contained in:
@@ -10,4 +10,8 @@ abstract Extra = Cat ** {
|
|||||||
GenNP : NP -> Quant ; -- this man's
|
GenNP : NP -> Quant ; -- this man's
|
||||||
ComplBareVS : VS -> S -> VP ; -- know you go
|
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
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,6 +4,20 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng, Prelude in {
|
|||||||
GenNP np = {s = \\_ => np.s ! Gen} ;
|
GenNP np = {s = \\_ => np.s ! Gen} ;
|
||||||
ComplBareVS v s = insertObj (\\_ => s.s) (predV v) ;
|
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} ;
|
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} ;
|
UncNegQCl t a cl = {s = \\q => t.s ++ a.s ++ cl.s ! t.t ! a.a ! neg !q} ;
|
||||||
UncNegRCl t a cl = {
|
UncNegRCl t a cl = {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
|
|||||||
|
|
||||||
QuestSlash ip slash =
|
QuestSlash ip slash =
|
||||||
mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
|
mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
|
||||||
--- stranding in ExtEng
|
--- stranding in ExratEng
|
||||||
|
|
||||||
QuestIAdv iadv cl = mkQuestion iadv cl ;
|
QuestIAdv iadv cl = mkQuestion iadv cl ;
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,12 @@ concrete RelativeEng of Relative = CatEng ** open ResEng in {
|
|||||||
c = Nom
|
c = Nom
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Preposition stranding: "that we are looking at". Pied-piping is
|
-- Pied piping: "at which we are looking". Stranding and empty
|
||||||
-- deferred to $ExtEng.gf$ ("at which we are looking").
|
-- relative are defined in $ExtraEng.gf$ ("that we are looking at",
|
||||||
|
-- "we are looking at").
|
||||||
|
|
||||||
RelSlash rp slash = {
|
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
|
c = Acc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -8,4 +8,26 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,R
|
|||||||
|
|
||||||
ComplBareVS v s = insertObj (\\_ => s.s ! Sub) (predV v) ;
|
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
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,15 +23,13 @@ incomplete concrete RelativeScand of Relative =
|
|||||||
c = NPNom
|
c = NPNom
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--- We make this easy by using "som" and preposition stranding. It would be
|
-- This rule uses pied piping ("huset i vilket hon bor")
|
||||||
--- a proble to determine whether $slash$ takes a direct object, since
|
-- Preposition stranding ("huset som hon bor i")
|
||||||
--- $slash.c2$ is defined to be just a string.
|
-- and the empty relative ("huset hon bor i") are defined in $ExtraScand$.
|
||||||
--
|
|
||||||
-- The empty relative is left to $ExtScand$.
|
|
||||||
|
|
||||||
RelSlash rp slash = {
|
RelSlash rp slash = {
|
||||||
s = \\t,a,p,ag =>
|
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
|
c = NPAcc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user