From dba883fb2197a13596897dcbfea788276dd04b1f Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 31 Mar 2013 13:56:22 +0000 Subject: [PATCH] a special form for Finnish verbs needed for oleva/olema; correction to weakGrade of "kt" and the like --- lib/src/finnish/MorphoFin.gf | 10 ++++++---- lib/src/finnish/ResFin.gf | 5 +++-- lib/src/finnish/stemmed/DictEngFin.gf | 2 +- lib/src/finnish/stemmed/ParadigmsFin.gf | 2 +- lib/src/finnish/stemmed/StemFin.gf | 14 ++++++++------ 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/lib/src/finnish/MorphoFin.gf b/lib/src/finnish/MorphoFin.gf index 8cee1aec2..12a6f0fa5 100644 --- a/lib/src/finnish/MorphoFin.gf +++ b/lib/src/finnish/MorphoFin.gf @@ -738,9 +738,10 @@ resource MorphoFin = ResFin ** open Prelude in { tullee = Predef.tk 2 tullut + "ee" ; tulleen = (nForms2N (dOttanut tullut)).s ; tullu : Str = weakGrade tultu ; - tullun = (nForms2N (dUkko tultu (tullu + "n"))).s ; - tulema = tule_ + "m" + a ; - tuleva = tule_ + "v" + a ; + tullun = (nForms2N (dUkko tultu (tullu + "n"))).s ; + tule__ = Predef.tk 3 tulevat ; + tulema = tule__ + "m" + a ; + tuleva = tule__ + "v" + a ; vat = "v" + a + "t" in {s = table { @@ -820,7 +821,8 @@ resource MorphoFin = ResFin ** open Prelude in { "lk" + _ => ku + "l" + o ; "rk" + _ => ku + "r" + o ; ("hk" | "tk") + _ => kukko ; -- *tahko-tahon, *pitkä-pitkän - "s" + ("k" | "p" | "t") + _ => kukko ; -- *lasku-lasvun, *raspi-rasvin, *lastu-lasdun + ("f"|"s") + ("k" | "p" | "t") + _ => kukko ; -- *lasku-lasvun, *raspi-rasvin, *lastu-lasdun, *afta-aftan + ("k"|"p") + "t" + _ => kukko ; -- *projekti-projekdin x + "ku" => ku + x + "vu" ; x + "k" + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") => ku + x + o ; x + "p" + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") => ku + x + "v" + o ; diff --git a/lib/src/finnish/ResFin.gf b/lib/src/finnish/ResFin.gf index 2fab82077..20337464a 100644 --- a/lib/src/finnish/ResFin.gf +++ b/lib/src/finnish/ResFin.gf @@ -514,8 +514,9 @@ oper tulleena = Predef.tk 2 tullut + ("een" + a) ; tulleen = (noun2adj (nhn (sRae tullut tulleena))).s ; tullun = (noun2adj (nhn (sKukko tultu tullun (tultu + ("j"+a))))).s ; - tulema = tuje + "m" + a ; - tuleva = tuje + "v" + a ; + tule_ = Predef.tk 3 tulevat ; + tulema = tule_ + "m" + a ; + tuleva = tule_ + "v" + a ; ---- tulema = tuje + "m" + a ; vat = "v" + a + "t" in diff --git a/lib/src/finnish/stemmed/DictEngFin.gf b/lib/src/finnish/stemmed/DictEngFin.gf index 9abaf084f..a5927d14e 100644 --- a/lib/src/finnish/stemmed/DictEngFin.gf +++ b/lib/src/finnish/stemmed/DictEngFin.gf @@ -59760,7 +59760,7 @@ love_VV = mkVV "rakastaa" ; move_VV = mkVV "siirtyä" infIllat ; offer_VV = mkVV "tarjoutua" infIllat ; play_VV = mkWVV (k61A "leikkiä") infIllat ; ---??? -presume_VV = mkVV "arvella" infPresPartAgr ; +presume_VV = mkVV (mkV "arvella" "arveli") infPresPartAgr ; propose_VV = mkVV "ehdottaa" infPresPartAgr ; race_VV = mkVV "rynnätä" infIllat ; refuse_VV = mkVV "kieltäytyä" infElat ; diff --git a/lib/src/finnish/stemmed/ParadigmsFin.gf b/lib/src/finnish/stemmed/ParadigmsFin.gf index 0a3c680c9..29c3a0dca 100644 --- a/lib/src/finnish/stemmed/ParadigmsFin.gf +++ b/lib/src/finnish/stemmed/ParadigmsFin.gf @@ -682,7 +682,7 @@ mkVS = overload { caseV c v = {s = v.s ; sc = NPCase c ; h = v.h ; lock_V = <> ; p = v.p} ; vOlla = { - s = table VForm ["olla";"ole";"on";"o";"olk";"olla";"oli";"oli";"olisi";"oll";"oltu";"ollu";"liene"] ; + s = table SVForm ["olla";"ole";"on";"o";"olk";"olla";"oli";"oli";"olisi";"oll";"oltu";"ollu";"liene";"ole"] ; sc = NPCase Nom ; h = Back ; lock_V = <> ; p = []} ; ---- lieneekö mk2V2 : V -> Prep -> V2 = \v,c -> v ** {c2 = c ; lock_V2 = <>} ; diff --git a/lib/src/finnish/stemmed/StemFin.gf b/lib/src/finnish/stemmed/StemFin.gf index cf0aad42a..b58ccc8f9 100644 --- a/lib/src/finnish/stemmed/StemFin.gf +++ b/lib/src/finnish/stemmed/StemFin.gf @@ -132,7 +132,7 @@ oper -- verbs oper - SVForm : Type = Predef.Ints 12 ; + SVForm : Type = Predef.Ints 13 ; SVerb : Type = {s : SVForm => Str ; h : Harmony} ; -- used in Cat @@ -155,7 +155,8 @@ oper 9 => Predef.tk 2 (vf ! 9) ; -- tull(ut) 10 => Predef.tk 1 (vf ! 10) ; -- tult(u) 11 => weakGrade (vf ! 10) ; -- tullu(n) - 12 => Predef.tk 1 (vf ! 11) -- tulle(e) + 12 => Predef.tk 1 (vf ! 11) ; -- tulle(e) + 13 => Predef.tk 3 (vf ! 3) -- tule(va) } ; h = aHarmony (last (vf ! 0)) ; } ; @@ -178,6 +179,7 @@ oper tult_ = vh ! 10 ; tullu__ = vh ! 11 ; -- tullu(n) tulle_ = vh ! 12 ; -- tulle(e) + tule___ = vh ! 13 ; -- tule(va) a = harmonyA sverb.h ; o = harmonyV "o" "ö" sverb.h ; @@ -192,7 +194,7 @@ oper tullun = plus tullu_ "n" ; tultu = plus tult_ u ; - tuleva = plus tule_ ("v" + a) ; + tuleva = plus tule___ ("v" + a) ; tullutN : Noun = snoun2noun b { s = table SNForm [ @@ -229,7 +231,7 @@ oper } ; - tulema = plus tule__ ("m" + a) ; + tulema = plus tule___ ("m" + a) ; vat = "v" + a + "t" in {s = table { @@ -288,7 +290,7 @@ oper -- word formation functions sverb2snoun : SVerb1 -> SNoun = \v -> -- syöminen - let teke = v.s ! 3 in { + let teke = v.s ! 13 in { s = table { 0 => partPlus teke "minen" ; 1 => partPlus teke "mise" ; @@ -306,7 +308,7 @@ oper } ; sverb2nounPresPartAct : SVerb1 -> SNoun = \v -> -- syövä - let teke = v.s ! 3 in { + let teke = v.s ! 13 in { s = table { 0 => partPlus teke "va" ; 1 => partPlus teke "va" ;