mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -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 ;
|
fin = vps.fin ;
|
||||||
inf = vps.inf ;
|
inf = vps.inf ;
|
||||||
a1 = \\b,a => case vpf of {
|
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, (vps.a1 ! b ! a).p2 ++ adv ! a> ;
|
||||||
_ => <(vps.a1 ! b ! a).p1 ++ adv ! a, (vps.a1 ! b ! a).p2>
|
_ => <(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 = {
|
StrandRelSlash rp slash = {
|
||||||
s = \\t,a,p,ag,_ =>
|
s = \\t,a,p,ag,_ =>
|
||||||
rp.s ! ag.g ! ag.n ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
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
|
lincat
|
||||||
VPI = {s : VPIForm => Agr => Str} ;
|
VPI = {s : VPIForm => Agr => Str} ;
|
||||||
[VPI] = {s1,s2 : 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
|
cl.s ! t ! a ! b ! somo.p2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
-- preposition stranding, default since 5/6/2016; for pied piping, see ExtraScand
|
||||||
QuestSlash ip slash = {
|
QuestSlash ip slash = {
|
||||||
s = \\t,a,p =>
|
s = \\t,a,p =>
|
||||||
let
|
let
|
||||||
agr = agrP3 ip.g ip.n ;
|
cls = slash.s ! t ! a ! p ;
|
||||||
cls : Order => Str = \\o => slash.s ! t ! a ! p ! o ++ slash.n3 ! agr ;
|
who = ip.s ! accusative
|
||||||
who = slash.c2.s ++ ip.s ! accusative --- stranding in ExtScand
|
|
||||||
in table {
|
in table {
|
||||||
QDir => who ++ cls ! Inv ;
|
QDir => who ++ cls ! Inv ++ slash.c2.s ;
|
||||||
QIndir => who ++ cls ! Sub
|
QIndir => who ++ cls ! Sub ++ slash.c2.s
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -24,20 +24,14 @@ incomplete concrete RelativeScand of Relative =
|
|||||||
c = NPNom
|
c = NPNom
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- This rule uses pied piping ("huset i vilket hon bor")
|
-- changed by AR 5/6/2016
|
||||||
-- Preposition stranding ("huset som hon bor i")
|
-- 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$.
|
-- and the empty relative ("huset hon bor i") are defined in $ExtraScand$.
|
||||||
|
|
||||||
RelSlash rp slash = {
|
RelSlash rp slash = {
|
||||||
s = \\t,a,p,ag,_ =>
|
s = \\t,a,p,ag,_ =>
|
||||||
let
|
rp.s ! ag.g ! ag.n ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2.s ;
|
||||||
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
|
c = NPAcc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user