diff --git a/lib/resource/MkLexicon.hs b/lib/resource/MkLexicon.hs index e1f88e6f4..f0f2e8f16 100644 --- a/lib/resource/MkLexicon.hs +++ b/lib/resource/MkLexicon.hs @@ -85,3 +85,24 @@ freVerb s = case words s of _ -> [] where cat v = dropWhile (not . isUpper) v + +-- Swedish verbs 17/2 + +sweVerb s = case words s of + ('v':a:u:[]):verb:_ -> "fun " ++ verb ++ " : V ;\n" ++ + "lin " ++ verb ++ " = " ++ infl a u verb ++ " ;" + _ -> [] + where + infl a u verb = + let + (dne,geb) = span isConsonant $ tail $ reverse verb + (beg,voc,end) = (reverse (tail geb), head geb, reverse dne) + (pret,sup) = (beg++ [toLower a] ++end, beg++ [toLower u] ++ end ++"it") + in + unwords ["irregV", prQuot verb, prQuot pret, prQuot sup] + +prQuot s = "\"" ++ s ++ "\"" + +isConsonant = not . isVowel + +isVowel = flip elem "aeiouyäöå" diff --git a/lib/resource/swedish/ParadigmsSwe.gf b/lib/resource/swedish/ParadigmsSwe.gf index 35f15f87f..5c5b98878 100644 --- a/lib/resource/swedish/ParadigmsSwe.gf +++ b/lib/resource/swedish/ParadigmsSwe.gf @@ -27,7 +27,7 @@ -- The following modules are presupposed: resource ParadigmsSwe = - open (Predef=Predef), Prelude, TypesSwe, MorphoSwe, SyntaxSwe, ResourceSwe in { + open (Predef=Predef), Prelude, TypesSwe, MorphoSwe, SyntaxSwe, CategoriesSwe in { --2 Parameters -- diff --git a/lib/resource/swedish/VerbsSwe.gf b/lib/resource/swedish/VerbsSwe.gf new file mode 100644 index 000000000..fa1629400 --- /dev/null +++ b/lib/resource/swedish/VerbsSwe.gf @@ -0,0 +1,163 @@ +--# -path=.:../scandinavian:../abstract:../../prelude + +concrete VerbsSwe of VerbsSweAbs = CategoriesSwe ** open ParadigmsSwe in { + + flags optimize=values ; + + lin + anfalla_V = irregV "anfalla" "anföll" "anfallit" ; + angiva_V = irregV "angiva" "angav" "angivit" ; + angripa_V = irregV "angripa" "angrep" "angripit" ; + anhålla_V = irregV "anhålla" "anhäll" "anhållit" ; + antaga_V = irregV "antaga" "antog" "antagit" ; + äta_V = irregV "äta" "åt" "ätit" ; + återfinna_V = irregV "återfinna" "återfann" "återfunnit" ; + avbryta_V = irregV "avbryta" "avbröt" "avbrutit" ; + avfalla_V = irregV "avfalla" "avföll" "avfallit" ; + avhugga_V = irregV "avhugga" "avhögg" "avhuggit" ; + avleda_V = irregV "avleda" "avlad" "avlidit" ; + avlida_V = irregV "avlida" "avled" "avlidit" ; + avnjuta_V = irregV "avnjuta" "avnjöt" "avnjutit" ; + avsitta_V = irregV "avsitta" "avsatt" "avsuttit" ; + avskriva_V = irregV "avskriva" "avskrev" "avskrivit" ; + avstiga_V = irregV "avstiga" "avsteg" "avstigit" ; + bära_V = irregV "bära" "bar" "burit" ; + bedraga_V = irregV "bedraga" "bedrog" "bedragit" ; + bedriva_V = irregV "bedriva" "bedrev" "bedrivit" ; + befinna_V = irregV "befinna" "befann" "befunnit" ; + begrava_V = irregV "begrava" "begrov" "begravit" ; + behålla_V = irregV "behålla" "behöll" "behållit" ; + beljuga_V = irregV "beljuga" "beljög" "beljugit" ; + berida_V = irregV "berida" "bered" "beridit" ; + besitta_V = irregV "besitta" "besatt" "besuttit" ; + beskriva_V = irregV "beskriva" "beskrev" "beskrivit" ; + besluta_V = irregV "besluta" "beslöt" "beslutit" ; + bestiga_V = irregV "bestiga" "besteg" "bestigit" ; + bestrida_V = irregV "bestrida" "bestred" "bestridit" ; + bidraga_V = irregV "bidraga" "bidrog" "bidragit" ; + bifalla_V = irregV "bifalla" "biföll" "bifallit" ; + binda_V = irregV "binda" "band" "bundit" ; + bita_V = irregV "bita" "bet" "bitit" ; + bjuda_V = irregV "bjuda" "bjöd" "bjudit" ; + bliva_V = irregV "bli" "blev" "blivit" ; + borttaga_V = irregV "borttaga" "borttog" "borttagit" ; + brinna_V = irregV "brinna" "brann" "brunnit" ; + brista_V = irregV "brista" "brast" "brustit" ; + bryta_V = irregV "bryta" "bröt" "brutit" ; + draga_V = irregV "draga" "drog" "dragit" ; + dricka_V = irregV "dricka" "drack" "druckit" ; + driva_V = irregV "driva" "drev" "drivit" ; + drypa_V = irregV "drypa" "dröp" "drupit" ; + duga_V = irregV "duga" "dög" "dugit" ; + dyka_V = irregV "dyka" "dök" "dukit" ; + erbjuda_V = irregV "erbjuda" "erbjöd" "erbjudit" ; + erfara_V = irregV "erfara" "erfor" "erfarit" ; + erhålla_V = irregV "erhålla" "erhöll" "erhållit" ; + falla_V = irregV "falla" "föll" "fallit" ; + fånga_V = irregV "fånga" "fäng" "fångit" ; + fara_V = irregV "fara" "for" "farit" ; + finna_V = irregV "finna" "fann" "funnit" ; + flyga_V = irregV "flyga" "flög" "flugit" ; + flyta_V = irregV "flyta" "flöt" "flutit" ; + förbehålla_V = irregV "förbehålla" "förbehäll" "förbehållit" ; + förbinda_V = irregV "förbinda" "förband" "förbundit" ; + förbjuda_V = irregV "förbjuda" "förbjöd" "förbjudit" ; + fördriva_V = irregV "fördriva" "fördrev" "fördrivit" ; + föreskriva_V = irregV "föreskriva" "föreskrev" "föreskrivit" ; + företaga_V = irregV "företaga" "företog" "företagit" ; + förfrysa_V = irregV "förfrysa" "förfrös" "förfrusit" ; + förlåta_V = irregV "förlåta" "förlät" "förlåtit" ; + förnimma_V = irregV "förnimma" "förnamm" "förnummit" ; + försitta_V = irregV "försitta" "försatt" "försuttit" ; + försvinna_V = irregV "försvinna" "försvann" "försvunnit" ; + förtiga_V = irregV "förtiga" "förteg" "förtigit" ; + frysa_V = irregV "frysa" "frös" "frusit" ; + genomdriva_V = irregV "genomdriva" "genomdrev" "genomdrivit" ; + gilla_V = irregV "gilla" "gall" "gillit" ; + giva_V = irregV "ge" "gav" "givit" ; + gjuta_V = irregV "gjuta" "gjöt" "gjutit" ; + glida_V = irregV "glida" "gled" "glidit" ; + gnida_V = irregV "gnida" "gned" "gnidit" ; + gråta_V = irregV "gråta" "grät" "gråtit" ; + gripa_V = irregV "gripa" "grep" "gripit" ; + hinna_V = irregV "hinna" "hann" "hunnit" ; + hugga_V = irregV "hugga" "högg" "huggit" ; + iakttaga_V = irregV "iakttaga" "iakttog" "iakttagit" ; + inbegripa_V = irregV "inbegripa" "inbegrep" "inbegripit" ; + inbjuda_V = irregV "inbjuda" "inbjöd" "inbjudit" ; + indraga_V = irregV "indraga" "indrog" "indragit" ; + innesluta_V = irregV "innesluta" "inneslöt" "inneslutit" ; + inskriva_V = irregV "inskriva" "inskrev" "inskrivit" ; + intaga_V = irregV "intaga" "intog" "intagit" ; + kliva_V = irregV "kliva" "klev" "klivit" ; + knipa_V = irregV "knipa" "knep" "knipit" ; + knyta_V = irregV "knyta" "knöt" "knutit" ; + krypa_V = irregV "krypa" "kröp" "krupit" ; + kvida_V = irregV "kvida" "kved" "kvidit" ; + låta_V = irregV "låta" "lät" "låtit" ; + ljuda_V = irregV "ljuda" "ljöd" "ljudit" ; + ljuga_V = irregV "ljuga" "ljög" "ljugit" ; + ljuta_V = irregV "ljuta" "ljöt" "ljutit" ; + mottaga_V = irregV "mottaga" "mottog" "mottagit" ; + nerstiga_V = irregV "nerstiga" "nersteg" "nerstigit" ; + niga_V = irregV "niga" "neg" "nigit" ; + njuta_V = irregV "njuta" "njöt" "njutit" ; + omgiva_V = irregV "omgiva" "omgav" "omgivit" ; + överfalla_V = irregV "överfalla" "överföll" "överfallit" ; + övergiva_V = irregV "övergiva" "övergav" "övergivit" ; + pipa_V = irregV "pipa" "pep" "pipit" ; + rida_V = irregV "rida" "red" "ridit" ; + rinna_V = irregV "rinna" "rann" "runnit" ; + riva_V = irregV "riva" "rev" "rivit" ; + ryta_V = irregV "ryta" "röt" "rutit" ; + sitta_V = irregV "sitta" "satt" "suttit" ; + sjuda_V = irregV "sjuda" "sjöd" "sjudit" ; + sjunga_V = irregV "sjunga" "sjöng" "sjungit" ; + sjunka_V = irregV "sjunka" "sjönk" "sjunkit" ; + skära_V = irregV "skära" "skar" "skurit" ; + skina_V = irregV "skina" "sken" "skinit" ; + skita_V = irregV "skita" "sket" "skitit" ; + skjuta_V = irregV "skjuta" "skjöt" "skjutit" ; + skrida_V = irregV "skrida" "skred" "skridit" ; + skrika_V = irregV "skrika" "skrek" "skrikit" ; + skriva_V = irregV "skriva" "skrev" "skrivit" ; + skryta_V = irregV "skryta" "skröt" "skrutit" ; + slinka_V = irregV "slinka" "slank" "slunkit" ; + slippa_V = irregV "slippa" "slapp" "sluppit" ; + slita_V = irregV "slita" "slet" "slitit" ; + sluta_V = irregV "sluta" "slöt" "slutit" ; + smita_V = irregV "smita" "smet" "smitit" ; + snyta_V = irregV "snyta" "snöt" "snutit" ; + spinna_V = irregV "spinna" "spann" "spunnit" ; + spricka_V = irregV "spricka" "sprack" "spruckit" ; + sprida_V = irregV "sprida" "spred" "spridit" ; + springa_V = irregV "springa" "sprang" "sprungit" ; + sticka_V = irregV "sticka" "stack" "stuckit" ; + stiga_V = irregV "stiga" "steg" "stigit" ; + stinka_V = irregV "stinka" "stank" "stunkit" ; + strida_V = irregV "strida" "stred" "stridit" ; + strypa_V = irregV "strypa" "ströp" "strupit" ; + suga_V = irregV "suga" "sög" "sugit" ; + supa_V = irregV "supa" "söp" "supit" ; + svida_V = irregV "svida" "sved" "svidit" ; + svika_V = irregV "svika" "svek" "svikit" ; + taga_V = irregV "taga" "tog" "tagit" ; + tiga_V = irregV "tiga" "teg" "tigit" ; + tillåta_V = irregV "tillåta" "tillät" "tillåtit" ; + tillsluta_V = irregV "tillsluta" "tillslöt" "tillslutit" ; + tjuta_V = irregV "tjuta" "tjöt" "tjutit" ; + tryta_V = irregV "tryta" "tröt" "trutit" ; + tvinga_V = irregV "tvinga" "tvang" "tvungit" ; + uppfinna_V = irregV "uppfinna" "uppfann" "uppfunnit" ; + uppgiva_V = irregV "uppgiva" "uppgav" "uppgivit" ; + upplåta_V = irregV "upplåta" "upplät" "upplåtit" ; + uppstiga_V = irregV "uppstiga" "uppsteg" "uppstigit" ; + upptaga_V = irregV "upptaga" "upptog" "upptagit" ; + utbjuda_V = irregV "utbjuda" "utbjöd" "utbjudit" ; + utbrista_V = irregV "utbrista" "utbrast" "utbrustit" ; + utesluta_V = irregV "utesluta" "uteslöt" "uteslutit" ; + utskriva_V = irregV "utskriva" "utskrev" "utskrivit" ; + vina_V = irregV "vina" "ven" "vinit" ; + vinna_V = irregV "vinna" "vann" "vunnit" ; + vrida_V = irregV "vrida" "vred" "vridit" ; +} \ No newline at end of file diff --git a/lib/resource/swedish/VerbsSweAbs.gf b/lib/resource/swedish/VerbsSweAbs.gf new file mode 100644 index 000000000..2528f0e56 --- /dev/null +++ b/lib/resource/swedish/VerbsSweAbs.gf @@ -0,0 +1,158 @@ +abstract VerbsSweAbs = Categories ** { + fun + anfalla_V : V ; + angiva_V : V ; + angripa_V : V ; + anhålla_V : V ; + antaga_V : V ; + äta_V : V ; + återfinna_V : V ; + avbryta_V : V ; + avfalla_V : V ; + avhugga_V : V ; + avleda_V : V ; + avlida_V : V ; + avnjuta_V : V ; + avsitta_V : V ; + avskriva_V : V ; + avstiga_V : V ; + bära_V : V ; + bedraga_V : V ; + bedriva_V : V ; + befinna_V : V ; + begrava_V : V ; + behålla_V : V ; + beljuga_V : V ; + berida_V : V ; + besitta_V : V ; + beskriva_V : V ; + besluta_V : V ; + bestiga_V : V ; + bestrida_V : V ; + bidraga_V : V ; + bifalla_V : V ; + binda_V : V ; + bita_V : V ; + bjuda_V : V ; + bliva_V : V ; + borttaga_V : V ; + brinna_V : V ; + brista_V : V ; + bryta_V : V ; + draga_V : V ; + dricka_V : V ; + driva_V : V ; + drypa_V : V ; + duga_V : V ; + dyka_V : V ; + erbjuda_V : V ; + erfara_V : V ; + erhålla_V : V ; + falla_V : V ; + fånga_V : V ; + fara_V : V ; + finna_V : V ; + flyga_V : V ; + flyta_V : V ; + förbehålla_V : V ; + förbinda_V : V ; + förbjuda_V : V ; + fördriva_V : V ; + föreskriva_V : V ; + företaga_V : V ; + förfrysa_V : V ; + förlåta_V : V ; + förnimma_V : V ; + försitta_V : V ; + försvinna_V : V ; + förtiga_V : V ; + frysa_V : V ; + genomdriva_V : V ; + gilla_V : V ; + giva_V : V ; + gjuta_V : V ; + glida_V : V ; + gnida_V : V ; + gråta_V : V ; + gripa_V : V ; + hinna_V : V ; + hugga_V : V ; + iakttaga_V : V ; + inbegripa_V : V ; + inbjuda_V : V ; + indraga_V : V ; + innesluta_V : V ; + inskriva_V : V ; + intaga_V : V ; + kliva_V : V ; + knipa_V : V ; + knyta_V : V ; + krypa_V : V ; + kvida_V : V ; + låta_V : V ; + ljuda_V : V ; + ljuga_V : V ; + ljuta_V : V ; + mottaga_V : V ; + nerstiga_V : V ; + niga_V : V ; + njuta_V : V ; + omgiva_V : V ; + överfalla_V : V ; + övergiva_V : V ; + pipa_V : V ; + rida_V : V ; + rinna_V : V ; + riva_V : V ; + ryta_V : V ; + sitta_V : V ; + sjuda_V : V ; + sjunga_V : V ; + sjunka_V : V ; + skära_V : V ; + skina_V : V ; + skita_V : V ; + skjuta_V : V ; + skrida_V : V ; + skrika_V : V ; + skriva_V : V ; + skryta_V : V ; + slinka_V : V ; + slippa_V : V ; + slita_V : V ; + sluta_V : V ; + smita_V : V ; + snyta_V : V ; + spinna_V : V ; + spricka_V : V ; + sprida_V : V ; + springa_V : V ; + sticka_V : V ; + stiga_V : V ; + stinka_V : V ; + strida_V : V ; + strypa_V : V ; + suga_V : V ; + supa_V : V ; + svida_V : V ; + svika_V : V ; + taga_V : V ; + tiga_V : V ; + tillåta_V : V ; + tillsluta_V : V ; + tjuta_V : V ; + tryta_V : V ; + tvinga_V : V ; + uppfinna_V : V ; + uppgiva_V : V ; + upplåta_V : V ; + uppstiga_V : V ; + upptaga_V : V ; + utbjuda_V : V ; + utbrista_V : V ; + utesluta_V : V ; + utskriva_V : V ; + vina_V : V ; + vinna_V : V ; + vrida_V : V ; +}