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

@@ -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
} ;