mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-14 15:29:31 -06:00
preposition stranding default in Scandinavian, as in English. Pied piping in ExtraScand.
This commit is contained in:
@@ -333,7 +333,9 @@ oper
|
||||
fin = vps.fin ;
|
||||
inf = vps.inf ;
|
||||
a1 = \\b,a => case vpf of {
|
||||
VPFinite (SPres | SPast) Simul | VPImperat =>
|
||||
VPFinite SPres Simul |
|
||||
VPFinite SPast Simul | --# notpresent
|
||||
VPImperat =>
|
||||
<(vps.a1 ! b ! a).p1, (vps.a1 ! b ! a).p2 ++ adv ! a> ;
|
||||
_ => <(vps.a1 ! b ! a).p1 ++ adv ! a, (vps.a1 ! b ! a).p2>
|
||||
}
|
||||
|
||||
@@ -16,6 +16,19 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand **
|
||||
}
|
||||
} ;
|
||||
|
||||
PiedPipingRelSlash rp slash = {
|
||||
s = \\t,a,p,ag,_ =>
|
||||
let
|
||||
agr = case rp.a of {
|
||||
RNoAg => ag ;
|
||||
RAg g n pr => {g = g ; n = n ; p = pr}
|
||||
}
|
||||
in
|
||||
slash.c2.s ++ rp.s ! ag.g ! ag.n ! RPrep slash.c2.hasPrep ++
|
||||
slash.s ! t ! a ! p ! Sub ++ slash.n3 ! agr ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
StrandRelSlash rp slash = {
|
||||
s = \\t,a,p,ag,_ =>
|
||||
rp.s ! ag.g ! ag.n ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
||||
@@ -38,6 +51,18 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand **
|
||||
}
|
||||
} ;
|
||||
|
||||
PiedPipingQuestSlash ip slash = {
|
||||
s = \\t,a,p =>
|
||||
let
|
||||
agr = agrP3 ip.g ip.n ;
|
||||
cls : Order => Str = \\o => slash.s ! t ! a ! p ! o ++ slash.n3 ! agr ;
|
||||
who = slash.c2.s ++ ip.s ! accusative --- stranding in ExtScand
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
}
|
||||
} ;
|
||||
|
||||
lincat
|
||||
VPI = {s : VPIForm => Agr => Str} ;
|
||||
[VPI] = {s1,s2 : VPIForm => Agr => Str} ;
|
||||
|
||||
@@ -26,15 +26,15 @@ incomplete concrete QuestionScand of Question =
|
||||
cl.s ! t ! a ! b ! somo.p2
|
||||
} ;
|
||||
|
||||
-- preposition stranding, default since 5/6/2016; for pied piping, see ExtraScand
|
||||
QuestSlash ip slash = {
|
||||
s = \\t,a,p =>
|
||||
let
|
||||
agr = agrP3 ip.g ip.n ;
|
||||
cls : Order => Str = \\o => slash.s ! t ! a ! p ! o ++ slash.n3 ! agr ;
|
||||
who = slash.c2.s ++ ip.s ! accusative --- stranding in ExtScand
|
||||
cls = slash.s ! t ! a ! p ;
|
||||
who = ip.s ! accusative
|
||||
in table {
|
||||
QDir => who ++ cls ! Inv ;
|
||||
QIndir => who ++ cls ! Sub
|
||||
QDir => who ++ cls ! Inv ++ slash.c2.s ;
|
||||
QIndir => who ++ cls ! Sub ++ slash.c2.s
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
@@ -24,20 +24,14 @@ incomplete concrete RelativeScand of Relative =
|
||||
c = NPNom
|
||||
} ;
|
||||
|
||||
-- This rule uses pied piping ("huset i vilket hon bor")
|
||||
-- Preposition stranding ("huset som hon bor i")
|
||||
-- changed by AR 5/6/2016
|
||||
-- This rule uses preposition stranding ("huset som hon bor i")
|
||||
-- Pied piping ("huset i vilket hon bor")
|
||||
-- and the empty relative ("huset hon bor i") are defined in $ExtraScand$.
|
||||
|
||||
RelSlash rp slash = {
|
||||
s = \\t,a,p,ag,_ =>
|
||||
let
|
||||
agr = case rp.a of {
|
||||
RNoAg => ag ;
|
||||
RAg g n pr => {g = g ; n = n ; p = pr}
|
||||
}
|
||||
in
|
||||
slash.c2.s ++ rp.s ! ag.g ! ag.n ! RPrep slash.c2.hasPrep ++
|
||||
slash.s ! t ! a ! p ! Sub ++ slash.n3 ! agr ;
|
||||
s = \\t,a,p,ag,_ =>
|
||||
rp.s ! ag.g ! ag.n ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user