diff --git a/lib/src/scandinavian/CommonScand.gf b/lib/src/scandinavian/CommonScand.gf index 68166c550..5e88c4f32 100644 --- a/lib/src/scandinavian/CommonScand.gf +++ b/lib/src/scandinavian/CommonScand.gf @@ -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> } diff --git a/lib/src/scandinavian/ExtraScand.gf b/lib/src/scandinavian/ExtraScand.gf index c1c10b16c..6159cf673 100644 --- a/lib/src/scandinavian/ExtraScand.gf +++ b/lib/src/scandinavian/ExtraScand.gf @@ -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} ; diff --git a/lib/src/scandinavian/QuestionScand.gf b/lib/src/scandinavian/QuestionScand.gf index cba96013a..adcb1e0da 100644 --- a/lib/src/scandinavian/QuestionScand.gf +++ b/lib/src/scandinavian/QuestionScand.gf @@ -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 } } ; diff --git a/lib/src/scandinavian/RelativeScand.gf b/lib/src/scandinavian/RelativeScand.gf index 373b234be..3dbf9bc49 100644 --- a/lib/src/scandinavian/RelativeScand.gf +++ b/lib/src/scandinavian/RelativeScand.gf @@ -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 } ;