diff --git a/lib/src/danish/MorphoDan.gf b/lib/src/danish/MorphoDan.gf index c9d3df5c6..015176f33 100644 --- a/lib/src/danish/MorphoDan.gf +++ b/lib/src/danish/MorphoDan.gf @@ -80,7 +80,7 @@ oper VI (VSupin v) => mkVoice v spist ; --# notpresent VI (VPtPret (Strong (GSg _)) c) => mkCase c spist ; VI (VPtPret _ c) => mkCase c (spist + "e") ; - VI (VPtPres c) => case last spise of { + VI (VPtPres _ _ c) => case last spise of { "e" => mkCase c (spise + "nde") ; "i" => mkCase c (spise + "vende") ; --- gi, bli _ => mkCase c (spise + "ende") diff --git a/lib/src/norwegian/MorphoNor.gf b/lib/src/norwegian/MorphoNor.gf index 782a28931..def4a39ac 100644 --- a/lib/src/norwegian/MorphoNor.gf +++ b/lib/src/norwegian/MorphoNor.gf @@ -94,7 +94,7 @@ oper "a" => mkCase c spist ; _ => mkCase c (spist + "e") } ; - VI (VPtPres c) => case last spise of { + VI (VPtPres _ _ c) => case last spise of { "e" => mkCase c (spise + "nde") ; "i" => mkCase c (spise + "vende") ; --- gi, bli _ => mkCase c (spise + "ende") diff --git a/lib/src/scandinavian/CommonScand.gf b/lib/src/scandinavian/CommonScand.gf index c71b17061..8ade99585 100644 --- a/lib/src/scandinavian/CommonScand.gf +++ b/lib/src/scandinavian/CommonScand.gf @@ -53,10 +53,10 @@ param ; VInf = - VInfin Voice - | VSupin Voice --# notpresent + VInfin Voice + | VSupin Voice --# notpresent | VPtPret AFormPos Case - | VPtPres Case + | VPtPres Number Species Case ; VPForm = @@ -192,7 +192,12 @@ oper VI (VInfin v) => mkVoice v finna ; VI (VSupin v) => mkVoice v funnit ; --# notpresent VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna) ; - VI (VPtPres c) => mkCase c finnande + VI (VPtPres n d c) => case of { + => mkCase c finnande ; + => mkCase c (finnande + "t") ; + => mkCase c (finnande + "n") ; + => mkCase c (finnande + "na") ---- TODO "ne" in Dan, Nor + } } ; vtype = VAct } ; diff --git a/lib/src/swedish/ParseSwe.gf b/lib/src/swedish/ParseSwe.gf index 2cc30118b..9bd713b79 100644 --- a/lib/src/swedish/ParseSwe.gf +++ b/lib/src/swedish/ParseSwe.gf @@ -50,22 +50,22 @@ lin isMod = False ; } ; -{- GerundN v = { - s = \\n,c => v.s ! VPresPart ; + s = \\n,d,c => v.s ! VI (VPtPres n d c) ; g = Neutr } ; GerundAP v = { - s = \\agr => v.s ! VPresPart ; + s = \\_ => v.s ! VI (VPtPres Sg Indef Nom) ; isPre = True } ; PastPartAP v = { - s = \\agr => v.s ! VPPart ; + s = \\afpos => v.s ! VI (VPtPret afpos Nom) ; isPre = True } ; +{- OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ; PositAdVAdj a = {s = a.s ! AAdv} ;