From da5ecd322e7d458fa7819309981bd8884b98da53 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 28 May 2010 13:29:13 +0000 Subject: [PATCH] genitives in possessives in Nor (and Scand) --- lib/src/danish/ParadigmsDan.gf | 2 +- lib/src/norwegian/ExtraNor.gf | 6 ++---- lib/src/norwegian/ParadigmsNor.gf | 2 +- lib/src/norwegian/StructuralNor.gf | 2 +- lib/src/scandinavian/CommonScand.gf | 6 +++--- lib/src/scandinavian/ExtraScand.gf | 2 +- lib/src/scandinavian/NounScand.gf | 2 +- lib/src/swedish/ParadigmsSwe.gf | 2 +- 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/lib/src/danish/ParadigmsDan.gf b/lib/src/danish/ParadigmsDan.gf index ce488ddee..1cd2cd62e 100644 --- a/lib/src/danish/ParadigmsDan.gf +++ b/lib/src/danish/ParadigmsDan.gf @@ -340,7 +340,7 @@ oper makeNP : Str -> Str -> Number -> Gender -> NP ; makeNP x y n g = - {s = table {NPPoss _ => x ; _ => y} ; a = agrP3 g n ; + {s = table {NPPoss _ _ => x ; _ => y} ; a = agrP3 g n ; lock_NP = <>} ; mk3A = mk3ADeg ; diff --git a/lib/src/norwegian/ExtraNor.gf b/lib/src/norwegian/ExtraNor.gf index 31f17b336..c3f8811ff 100644 --- a/lib/src/norwegian/ExtraNor.gf +++ b/lib/src/norwegian/ExtraNor.gf @@ -2,10 +2,8 @@ concrete ExtraNor of ExtraNorAbs = ExtraScandNor ** open CommonScand, ResNor, Pr lin PossNP np pro = { - s = table { - NPPoss _ => np.s ! NPNom ++ pro.s ! NPPoss (gennumAgr np.a) ++ BIND ++ "s" ; ---- - _ => np.s ! NPNom ++ pro.s ! NPPoss (gennumAgr np.a) - } ; + s = \\c => np.s ! NPNom ++ pro.s ! NPPoss (gennumAgr np.a) (caseNP c) ; a = np.a } ; + } diff --git a/lib/src/norwegian/ParadigmsNor.gf b/lib/src/norwegian/ParadigmsNor.gf index 9917de38a..875444a17 100644 --- a/lib/src/norwegian/ParadigmsNor.gf +++ b/lib/src/norwegian/ParadigmsNor.gf @@ -325,7 +325,7 @@ oper makeNP : Str -> Str -> Number -> Gender -> NP ; makeNP x y n g = - {s = table {NPPoss _ => x ; _ => y} ; a = agrP3 (ngen2gen g) n ; + {s = table {NPPoss _ _ => x ; _ => y} ; a = agrP3 (ngen2gen g) n ; lock_NP = <>} ; mk3A = mk3ADeg ; ---- (mkAdject a b c [] []) ** {isComp = False ; lock_A = <>} ; diff --git a/lib/src/norwegian/StructuralNor.gf b/lib/src/norwegian/StructuralNor.gf index 25ef457a8..55e348718 100644 --- a/lib/src/norwegian/StructuralNor.gf +++ b/lib/src/norwegian/StructuralNor.gf @@ -74,7 +74,7 @@ concrete StructuralNor of Structural = CatNor ** Sg => \\_,_ => genderForms ["den der"] ["det der"] ; Pl => \\_,_,_ => ["de der"] } ; - det = DDef Indef + det = DDef Def } ; there_Adv = ss "der" ; there7to_Adv = ss "dit" ; diff --git a/lib/src/scandinavian/CommonScand.gf b/lib/src/scandinavian/CommonScand.gf index e860518a6..917de5754 100644 --- a/lib/src/scandinavian/CommonScand.gf +++ b/lib/src/scandinavian/CommonScand.gf @@ -65,7 +65,7 @@ param VType = VAct | VPass | VRefl ; - NPForm = NPNom | NPAcc | NPPoss GenNum ; + NPForm = NPNom | NPAcc | NPPoss GenNum Case ; RCase = RNom | RGen | RPrep Bool ; @@ -82,7 +82,7 @@ oper accusative : NPForm = NPAcc ; caseNP : NPForm -> Case = \np -> case np of { - NPPoss _ => Gen ; + NPPoss _ _ => Gen ; _ => Nom } ; @@ -224,7 +224,7 @@ oper s = table { NPNom => du ; NPAcc => dig ; - NPPoss h => gennumForms din ditt dina ! h + NPPoss h c => mkCase c (gennumForms din ditt dina ! h) } ; a = { g = g ; diff --git a/lib/src/scandinavian/ExtraScand.gf b/lib/src/scandinavian/ExtraScand.gf index 47b6e2bf3..e6cb0aff8 100644 --- a/lib/src/scandinavian/ExtraScand.gf +++ b/lib/src/scandinavian/ExtraScand.gf @@ -2,7 +2,7 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,Coordination,ResScand in { lin GenNP np = { - s,sp = \\n,_,_,g => np.s ! NPPoss (gennum (ngen2gen g) n) ; + s,sp = \\n,_,_,g => np.s ! NPPoss (gennum (ngen2gen g) n) Nom ; det = DDef Indef } ; diff --git a/lib/src/scandinavian/NounScand.gf b/lib/src/scandinavian/NounScand.gf index 0bfedbea6..5bb43db6f 100644 --- a/lib/src/scandinavian/NounScand.gf +++ b/lib/src/scandinavian/NounScand.gf @@ -83,7 +83,7 @@ incomplete concrete NounScand of Noun = } ; PossPron p = { - s,sp = \\n,_,_,g => p.s ! NPPoss (gennum (ngen2gen g) n) ; + s,sp = \\n,_,_,g => p.s ! NPPoss (gennum (ngen2gen g) n) Nom ; det = DDef Indef } ; diff --git a/lib/src/swedish/ParadigmsSwe.gf b/lib/src/swedish/ParadigmsSwe.gf index 74a1ba7f6..f42036ca6 100644 --- a/lib/src/swedish/ParadigmsSwe.gf +++ b/lib/src/swedish/ParadigmsSwe.gf @@ -436,7 +436,7 @@ oper regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ; nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ; makeNP x y n g = - {s = table {NPPoss _ => y ; _ => x} ; a = agrP3 g n ; p = P3 ; + {s = table {NPPoss _ _ => y ; _ => x} ; a = agrP3 g n ; p = P3 ; lock_NP = <>} ; mkA = overload {