From 7bd08f9bdeebd684616e698ddb2cb82b5b7e729a Mon Sep 17 00:00:00 2001 From: Aarne Ranta Date: Wed, 2 Jan 2019 19:32:32 +0100 Subject: [PATCH] Finnish negative NPs: retaining 'ei' in UttNP and ExistNPAdv --- src/finnish/IdiomFin.gf | 2 +- src/finnish/PhraseFin.gf | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/finnish/IdiomFin.gf b/src/finnish/IdiomFin.gf index c3c0ba34f..eee7193a5 100644 --- a/src/finnish/IdiomFin.gf +++ b/src/finnish/IdiomFin.gf @@ -75,7 +75,7 @@ concrete IdiomFin of Idiom = CatFin ** } ; ExistNPAdv np adv = - mkClause (\_ -> adv.s) np.a (insertObj + mkClausePol np.isNeg (\_ -> adv.s) np.a (insertObj (\\_,b,_ => np.s ! NPSep) (predV vpVerbOlla)) ; ExistIPAdv ip adv = diff --git a/src/finnish/PhraseFin.gf b/src/finnish/PhraseFin.gf index 274dc7129..e890bf05c 100644 --- a/src/finnish/PhraseFin.gf +++ b/src/finnish/PhraseFin.gf @@ -11,8 +11,8 @@ concrete PhraseFin of Phrase = CatFin ** open ResFin, StemFin, (P = Prelude) in UttIP ip = {s = ip.s ! NPCase Nom} ; UttIAdv iadv = iadv ; - UttNP np = {s = np.s ! NPSep} ; - UttVP vp = {s = infVP SCNom Pos (agrP3 Sg) vp Inf1} ; + UttNP np = {s = addNegation np.isNeg ++ np.s ! NPSep} ; + UttVP vp = {s = addNegation vp.vptyp.isNeg ++ infVP SCNom Pos (agrP3 Sg) vp Inf1} ; UttAdv adv = adv ; UttCN np = {s = np.s ! NCase Sg Nom} ; UttAP np = {s = np.s ! P.False ! NCase Sg Nom} ; @@ -25,4 +25,6 @@ concrete PhraseFin of Phrase = CatFin ** open ResFin, StemFin, (P = Prelude) in NoVoc = {s = []} ; VocNP np = {s = "," ++ np.s ! NPSep} ; +oper + addNegation : P.Bool -> Str = \isNeg -> case isNeg of {P.True => "ei" ; _ => []} ; }