diff --git a/src/estonian/ExtendEst.gf b/src/estonian/ExtendEst.gf index 694e91dd..b8e74da8 100644 --- a/src/estonian/ExtendEst.gf +++ b/src/estonian/ExtendEst.gf @@ -56,6 +56,7 @@ concrete ExtendEst of Extend = linref VPS = X.linVPS (agrP3 Sg) ; + VPI = X.linVPI InfMa ; lin MkVPS = X.MkVPS ; diff --git a/src/estonian/ExtraEst.gf b/src/estonian/ExtraEst.gf index 0a2e905a..7d2044f3 100644 --- a/src/estonian/ExtraEst.gf +++ b/src/estonian/ExtraEst.gf @@ -28,10 +28,19 @@ concrete ExtraEst of ExtraEstAbs = CatEst ** } ; lincat - VPI = {s : InfStem => Str} ; - [VPI] = {s1,s2 : InfStem => Str} ; - -- VPI = {s : Str} ; - -- [VPI] = {s1,s2 : Str} ; + VPI = LinVPI ; + [VPI] = LinListVPI ; + + oper + LinVPI : Type = {s : InfStem => Str} ; + LinListVPI : Type = {s1,s2 : InfStem => Str} ; + + linVPI : InfForms -> LinVPI -> Str = \inf,vpi -> vpi.s ! inf.stem ; + + -- Version that uses InfStem + infVPIF : NPForm -> Polarity -> Agr -> VP -> InfStem -> Str = \sc,pol,agr,vp,if -> + infVPAnt Simul sc pol agr vp {stem=if ; suf="a"} ; + lin BaseVPI = twoTable InfStem ; ConsVPI = consrTable InfStem comma ; @@ -41,24 +50,21 @@ concrete ExtraEst of ExtraEstAbs = CatEst ** ComplVPIVV vv vpi = insertObj (\\_,_,_ => vpi.s ! vv.vi.stem) (predV vv) ; - oper - -- Version that uses InfStem - infVPIF : NPForm -> Polarity -> Agr -> VP -> InfStem -> Str = \sc,pol,agr,vp,if -> - infVPAnt Simul sc pol agr vp {stem=if ; suf="a"} ; - - linVPS : Agr -> {s : Agr => Str} -> Str = \agr,vps -> vps.s ! agr ; - lincat - VPS = { + VPS = LinVPS ; + [VPS] = LinListVPS ; + oper + LinVPS : Type = { s : Agr => Str ; sc : NPForm ; --- can be different for diff parts } ; - - [VPS] = { + LinListVPS : Type = { s1,s2 : Agr => Str ; sc : NPForm ; --- take the first: minä osaan kutoa ja täytyy virkata } ; + linVPS : Agr -> {s : Agr => Str} -> Str = \agr,vps -> vps.s ! agr ; + lin BaseVPS x y = twoTable Agr x y ** {sc = x.sc} ; ConsVPS x y = consrTable Agr comma x y ** {sc = x.sc} ; diff --git a/src/estonian/ResEst.gf b/src/estonian/ResEst.gf index a6c2e9b3..fd3a716c 100644 --- a/src/estonian/ResEst.gf +++ b/src/estonian/ResEst.gf @@ -207,6 +207,8 @@ param Compl : Type = {s : Str ; c : NPFormPlus ; isPre : Bool} ; + emptyCompl : Compl = {s = "" ; c = case2npformp NPAcc ; isPre = False} ; + npfplus2compl : NPFormPlus -> Compl = \npf -> {s = [] ; c = npf ; isPre = False} ; appCompl : Bool -> Polarity -> Compl -> NPhrase -> Str = \isFin,b,co,np ->