From c721c3d8ece6669519b9bfba6ee99c73df0498bf Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 8 Mar 2012 14:14:28 +0000 Subject: [PATCH] mkV 2 in Swe --- lib/src/swedish/ParadigmsSwe.gf | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/src/swedish/ParadigmsSwe.gf b/lib/src/swedish/ParadigmsSwe.gf index fb94feb21..9ce265093 100644 --- a/lib/src/swedish/ParadigmsSwe.gf +++ b/lib/src/swedish/ParadigmsSwe.gf @@ -218,6 +218,8 @@ oper -- Most irregular verbs need just the conventional three forms. + mkV : (slita, slet : Str) -> V ; -- i/e/i, u/ö/u, u/a/u + mkV : (dricka,drack,druckit : Str) -> V ; -- the theme of an irregular verb -- In the worst case, six forms are given. @@ -508,6 +510,7 @@ oper mkV = overload { mkV : (stämmer : Str) -> V = regV ; + mkV : (slita, slet : Str) -> V = reg2V ; mkV : (dricka,drack,druckit : Str) -> V = irregV ; mkV : (supa,super,sup,söp,supit,supen : Str) -> V = mk6V ; mkV : V -> Str -> V = partV @@ -566,6 +569,19 @@ oper conj3 : Str -> V = \bo -> mk6V bo (bo + "r") bo (bo +"dde") (bo +"tt") (bo +"dd") ; + reg2V : Str -> Str -> V = \sliter,slet -> (case of { + <_ + "i" + ? + "a", sl + "e" + ?> => irregV slita slet (init slita + "it") ; + <_ + "u" + ? + "a", sl + "ö" + ?> => irregV slita slet (init slita + "it") ; + <_ + "u" + ? + ? + "a", sl + "ö" + ? + ?> => irregV slita slet (init slita + "it") ; + <_ + "i" + ? + ? + "a", sl + "a" + pp@(? + ?)> => irregV slita slet (sl + "u" + pp ++ "it") ; + _ => regV sliter + } where { + slita : Str = case sliter of { + slit + "er" => slit + "a" ; + _ => sliter + } + }) ; + irregV = \sälja, sålde, sålt -> let säljer = case last sälja of {