diff --git a/lib/resource-1.0/english/English.gf b/lib/resource-1.0/english/English.gf index d1efdb5af..9350f274c 100644 --- a/lib/resource-1.0/english/English.gf +++ b/lib/resource-1.0/english/English.gf @@ -2,6 +2,8 @@ concrete English of EnglishAbs = LangEng, --- IrregEng, + IrregEng-[ + blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V, + sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V], ExtraEng ** {} ; diff --git a/lib/resource-1.0/english/EnglishAbs.gf b/lib/resource-1.0/english/EnglishAbs.gf index 6e5ede07a..9498db96a 100644 --- a/lib/resource-1.0/english/EnglishAbs.gf +++ b/lib/resource-1.0/english/EnglishAbs.gf @@ -1,5 +1,9 @@ +--# -path=.:../abstract:../common:prelude + abstract EnglishAbs = Lang, ---- IrregEngAbs, + IrregEngAbs-[ + blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V, + sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V], ExtraEngAbs ** {} ; diff --git a/lib/resource-1.0/french/French.gf b/lib/resource-1.0/french/French.gf index 0440e7a7e..00371ec6e 100644 --- a/lib/resource-1.0/french/French.gf +++ b/lib/resource-1.0/french/French.gf @@ -2,6 +2,6 @@ concrete French of FrenchAbs = LangFre, --- IrregFre, + IrregFre, ExtraFre ** {} ; diff --git a/lib/resource-1.0/french/FrenchAbs.gf b/lib/resource-1.0/french/FrenchAbs.gf index f6d9e6905..e762e33c3 100644 --- a/lib/resource-1.0/french/FrenchAbs.gf +++ b/lib/resource-1.0/french/FrenchAbs.gf @@ -1,5 +1,5 @@ abstract FrenchAbs = Lang, ---- IrregFreAbs, + IrregFreAbs, ExtraFreAbs ** {} ; diff --git a/lib/resource-1.0/german/ExtraGer.gf b/lib/resource-1.0/german/ExtraGer.gf new file mode 100644 index 000000000..46edda04f --- /dev/null +++ b/lib/resource-1.0/german/ExtraGer.gf @@ -0,0 +1,3 @@ +concrete ExtraGer of ExtraGerAbs = CatGer ** open ResGer in { + +} diff --git a/lib/resource-1.0/german/ExtraGerAbs.gf b/lib/resource-1.0/german/ExtraGerAbs.gf new file mode 100644 index 000000000..9b933e79b --- /dev/null +++ b/lib/resource-1.0/german/ExtraGerAbs.gf @@ -0,0 +1,3 @@ +abstract ExtraGerAbs = { + +} diff --git a/lib/resource-1.0/german/German.gf b/lib/resource-1.0/german/German.gf new file mode 100644 index 000000000..92da54be6 --- /dev/null +++ b/lib/resource-1.0/german/German.gf @@ -0,0 +1,7 @@ +--# -path=.:../abstract:../common:prelude + +concrete German of GermanAbs = + LangGer, + IrregGer, + ExtraGer + ** {} ; diff --git a/lib/resource-1.0/german/GermanAbs.gf b/lib/resource-1.0/german/GermanAbs.gf new file mode 100644 index 000000000..eaed3d636 --- /dev/null +++ b/lib/resource-1.0/german/GermanAbs.gf @@ -0,0 +1,7 @@ +--# -path=.:../abstract:../common:prelude + +abstract GermanAbs = + Lang, + IrregGerAbs, + ExtraGerAbs + ** {} ; diff --git a/lib/resource-1.0/german/IrregGer.gf b/lib/resource-1.0/german/IrregGer.gf index 3285ce342..56d606a0b 100644 --- a/lib/resource-1.0/german/IrregGer.gf +++ b/lib/resource-1.0/german/IrregGer.gf @@ -1,7 +1,194 @@ --# -path=.:prelude:../abstract:../common +-- adapted from verb list in +-- http://www.iee.et.tu-dresden.de/~wernerr/grammar/verben_dt.html + concrete IrregGer of IrregGerAbs = CatGer ** open ParadigmsGer in { -flags optimize=values ; + flags optimize=values ; + + lin backen_V = irregV "backen" "bäckt" (variants {"backt" ; "buk"}) (variants {"backt" ; "buke"}) "gebacken" ; + lin befehlen_V = irregV "befehlen" "befiehlt" "befahl" "beföhle" "befähle)" ; + lin beginnen_V = irregV "beginnen" "beginnt" "begann" "begönne" "begänne)" ; + lin beißen_V = irregV "beißen" "beißt" "biß" "biße" "gebissen" ; + lin bergen_V = irregV "bergen" "birgt" "barg" "bärge" "geborgen" ; + lin bersten_V = irregV "bersten" "birst" "barst" "bärste" "geborsten" ; + lin bewegen_V = irregV "bewegen" "bewegt" "bewog" "bewöge" "bewogen" ; + lin biegen_V = irregV "biegen" "biegt" "bog" "böge" "gebogen" ; + lin bieten_V = irregV "bieten" "bietet" "bot" "böte" "geboten" ; + lin binden_V = irregV "binden" "bindt" "band" "bände" "gebunden" ; + lin bitten_V = irregV "bitten" "bittet" "bat" "bäte" "gebeten" ; + lin blasen_V = irregV "blasen" "bläst" "blies" "bliese" "geblasen" ; + lin bleiben_V = irregV "bleiben" "bleibt" "blieb" "bliebe" "geblieben" ; + lin braten_V = irregV "braten" "brät" "briet" "briete" "gebraten" ; + lin brechen_V = irregV "brechen" "bricht" "brach" "bräche" "gebrochen" ; + lin brennen_V = irregV "brennen" "brennt" "brannte" "brennte" "gebrannt" ; + lin bringen_V = irregV "bringen" "bringt" "brachte" "brachte" "gebracht" ; + lin denken_V = irregV "denken" "denkt" "dachte" "dachte" "gedacht" ; + lin dingen_V = irregV "dingen" "dingt" "dingte" "dang" "gedungen" ; + lin dreschen_V = irregV "dreschen" "drischt" "drosch" "drösche" "gedroschen" ; + lin dringen_V = irregV "dringen" "dringt" "drang" "dränge" "gedrungen" ; + lin dürfen_V = irregV "dürfen" "darf" "durfte" "dürfte" "gedurft" ; + lin empfehlen_V = irregV "empfehlen" "empfiehlt" "empfahl" + (variants {"empföhle" ; "empfähle"}) "empfohlen" ; + lin erlöschen_V = irregV "erlöschen" "erlischt" "erlosch" "erlösche" "erloschen" ; + lin erkennen_V = irregV "erkennen" "erkennt" "erkannte" "erkannte" "erkannt" ; + lin erschrecken_V = irregV "erschrecken" "erschrickt" "erschrak" "erschräke" "erschrocken" ; + lin essen_V = irregV "essen" "ißt" "aß" "äße" "gegessen" ; + lin fahren_V = irregV "fahren" "fährt" "fuhr" "führe" "gefahren" ; + lin fallen_V = irregV "fallen" "fällt" "fiel" "fiele" "gefallen" ; + lin fangen_V = irregV "fangen" "fängt" "fing" "finge" "gefangen" ; + lin fechten_V = irregV "fechten" "fechtet" "focht" "föchte" "gefochten" ; + lin finden_V = irregV "finden" "findt" "fand" "fände" "gefunden" ; + lin flechten_V = irregV "flechten" "flicht" "flocht" "flöchte" "geflochten" ; + lin fliegen_V = irregV "fliegen" "fliegt" "flog" "flöge" "geflogen" ; + lin fliehen_V = irregV "fliehen" "flieht" "floh" "flöhe" "geflohen" ; + lin fließen_V = irregV "fließen" "fließt" "floß" "flösse" "geflossen" ; + lin fressen_V = irregV "fressen" "frißt" "fraß" "fräße" "gefressen" ; + lin frieren_V = irregV "frieren" "friert" "fror" "fröre" "gefroren" ; + lin gären_V = irregV "gären" "gärt" (variants {"gor" ; "gärte"}) "göre" "gegoren" ; + lin gebären_V = irregV "gebären" "gebiert" "gebar" "gebäre" "geboren" ; + lin geben_V = irregV "geben" "gibt" "gab" "gäbe" "gegeben" ; + lin gedeihen_V = irregV "gedeihen" "gedeiht" "gedieh" "gediehe" "gediehen" ; + lin gehen_V = irregV "gehen" "geht" "ging" "ginge" "gegangen" ; + lin gelingen_V = irregV "gelingen" "gelingt" "gelang" "gelange" "gelungen" ; + lin gelten_V = irregV "gelten" "gilt" "galt" (variants {"galte" ; "golte"}) "gegolten" ; + lin genesen_V = irregV "genesen" "genest" "genas" "genäse" "genesen" ; + lin genießen_V = irregV "genießen" "genießt" "genoß" "genösse" "genossen" ; + lin geschehen_V = irregV "geschehen" "geschieht" "geschah" "geschehen" "geschähe" ; + lin gewinnen_V = irregV "gewinnen" "gewinnt" "gewann" (variants {"gewönne" ; "gewänne"}) "gewonnen" ; + lin gießen_V = irregV "gießen" "gießt" "goß" "gösse" "gegossen" ; + lin gleichen_V = irregV "gleichen" "gleicht" "glich" "gliche" "geglichen" ; + lin gleiten_V = irregV "gleiten" "gleitet" "glitt" "glitte" "geglitten" ; + lin glimmen_V = irregV "glimmen" "glimmt" "glomm" "glimmte" "glömme" ; + lin graben_V = irregV "graben" "gräbt" "grub" "grübe" "gegraben" ; + lin greifen_V = irregV "greifen" "greift" "griff" "griffe" "gegriffen" ; + lin haben_V = irregV "haben" "hat" "hatte" "hatte" "gehabt" ; + lin halten_V = irregV "halten" "hält" "hielt" "hielte" "gehalten" ; + lin hängen_V = irregV "hängen" "hängt" "hing" "hinge" "gehangen" ; + lin hauen_V = irregV "hauen" "haut" (variants {"haute" ; "hieb"}) (variants {"haute" ; "hiebe"}) "gehauen" ; + lin heben_V = irregV "heben" "hebt" "hob" "höbe" "gehoben" ; + lin heißen_V = irregV "heißen" "heißt" "hieß" "hieße" "geheißen" ; + lin helfen_V = irregV "helfen" "hilft" "half" "hülfe" "geholfen" ; + lin kennen_V = irregV "kennen" "kennt" "kannte" "kennte" "gekannt" ; + lin klimmen_V = irregV "klimmen" "klimmt" "klomm" "klömme" "geklommen" ; + lin klingen_V = irregV "klingen" "klingt" "klang" "klänge" "geklungen" ; + lin kneifen_V = irregV "kneifen" "kneift" "kniff" "kniffe" "gekniffen" ; + lin kommen_V = irregV "kommen" "kommt" "kam" "käme" "gekommen" ; + lin können_V = irregV "können" "kann" "konnte" "könnte" "gekonnt" ; + lin kriechen_V = irregV "kriechen" "kriecht" "kroch" "kröche" "gekrochen" ; + lin küren_V = irregV "küren" "kürt" "kürte" "kor" "gekürt" ; + lin laden_V = irregV "laden" "lädt" "lud" "lüde" "geladen" ; + lin lassen_V = irregV "lassen" "läßt" "ließ" "ließe" "gelassen" ; + lin laufen_V = irregV "laufen" "läuft" "lief" "liefe" "gelaufen" ; + lin leiden_V = irregV "leiden" "leidt" "litt" "litte" "gelitten" ; + lin leihen_V = irregV "leihen" "leiht" "lieh" "liehe" "geliehen" ; + lin lesen_V = irregV "lesen" "liest" "las" "läse" "gelesen" ; + lin liegen_V = irregV "liegen" "liegt" "lag" "läge" "gelegen" ; + lin lügen_V = irregV "lügen" "lügt" "log" "löge" "gelogen" ; + lin mahlen_V = irregV "mahlen" "mahlt" "mahlte" "mahlte" "gemahlen" ; + lin meiden_V = irregV "meiden" "meidt" "mied" "miede" "gemieden" ; + lin melken_V = irregV "melken" (variants {"melkt" ; "milkt"}) (variants {"melkte" ; "molk"}) "gemolken" "gemelkt" ; + lin messen_V = irregV "messen" "mißt" "maß" "mäße" "gemessen" ; + lin mißlingen_V = irregV "mißlingen" "mißlingt" "mißlang" "mißlungen" "mißlänge" ; + lin mögen_V = irregV "mögen" "mag" "mochte" "möchte" "gemocht" ; + lin müssen_V = irregV "müssen" "muß" "mußte" "müßte" "gemußt" ; + lin nehmen_V = irregV "nehmen" "nimmt" "nahm" "nähme" "genommen" ; + lin nennen_V = irregV "nennen" "nennt" "nannte" "nennte" "genannt" ; + lin pfeifen_V = irregV "pfeifen" "pfeift" "pfiff" "pfiffe" "gepfiffen" ; + lin preisen_V = irregV "preisen" "preist" "pries" "priese" "gepriesen" ; + lin quellen_V = irregV "quellen" "quillt" "quoll" "quölle" "gequollen" ; + lin raten_V = irregV "raten" "rät" "riet" "riete" "geraten" ; + lin reiben_V = irregV "reiben" "reibt" "rieb" "riebe" "gerieben" ; + lin reißen_V = irregV "reißen" "reißt" "riß" "riße" "gerissen" ; + lin reiten_V = irregV "reiten" "reitet" "ritt" "ritte" "geritten" ; + lin rennen_V = irregV "rennen" "rennt" "rannte" "rennte" "gerannt" ; + lin riechen_V = irregV "riechen" "riecht" "roch" "röche" "gerochen" ; + lin ringen_V = irregV "ringen" "ringt" "rang" "ränge" "gerungen" ; + lin rinnen_V = irregV "rinnen" "rinnt" "rann" "ränne" "geronnen" ; + lin rufen_V = irregV "rufen" "ruft" "rief" "riefe" "gerufen" ; + lin salzen_V = irregV "salzen" "salzt" "salzte" "salzte" "gesalzen" ; + lin saufen_V = irregV "saufen" "säuft" "soff" "söffe" "gesoffen" ; + lin saugen_V = irregV "saugen" "saugt" (variants {"saugte" ; "sog"}) (variants {"saugte" ; "soge"}) (variants {"gesaugt" ; "gesogen"}) ; + lin schaffen_V = irregV "schaffen" "schafft" "schuf" "schüfe" "geschaffen" ; + lin scheiden_V = irregV "scheiden" "scheidt" "schied" "schiede" "geschieden" ; + lin scheinen_V = irregV "scheinen" "scheint" "schien" "schiene" "geschienen" ; + lin scheißen_V = irregV "scheißen" "scheißt" "schiß" "schiße" "geschissen" ; + lin schelten_V = irregV "schelten" "schilt" "schalt" "schölte" "gescholten" ; + lin scheren_V = irregV "scheren" "schert" "schor" "schöre" "geschoren" ; + lin schieben_V = irregV "schieben" "schiebt" "schob" "schöbe" "geschoben" ; + lin schießen_V = irregV "schießen" "schießt" "schoß" "schösse" "geschossen" ; + lin schinden_V = irregV "schinden" "schindt" "schund" "schunde" "geschunden" ; + lin schlafen_V = irregV "schlafen" "schläft" "schlief" "schliefe" "geschlafen" ; + lin schlagen_V = irregV "schlagen" "schlägt" "schlug" "schlüge" "geschlagen" ; + lin schleichen_V = irregV "schleichen" "schleicht" "schlich" "schliche" "geschlichen" ; + lin schleifen_V = irregV "schleifen" "schleift" "schliff" "schliffe" "geschliffen" ; + lin schleißen_V = irregV "schleißen" "schleißt" (variants {"schliß" ; "schleißte"}) (variants {"schliß" ; "schleißte"}) (variants {"geschlissen" ; "geschleißt"}) ; + lin schließen_V = irregV "schließen" "schließt" "schloß" "schlösse" "geschlossen" ; + lin schlingen_V = irregV "schlingen" "schlingt" "schlang" "schlünge" "geschlungen" ; + lin schmeißen_V = irregV "schmeißen" "schmeißt" "schmiß" "schmiße" "geschmissen" ; + lin schmelzen_V = irregV "schmelzen" "schmilzt" "schmolz" "schmölze" "geschmolzen" ; + lin schneiden_V = irregV "schneiden" "schneidt" "schnitt" "schnitte" "geschnitten" ; + lin schreiben_V = irregV "schreiben" "schreibt" "schrieb" "schriebe" "geschrieben" ; + lin schreien_V = irregV "schreien" "schreit" "schrie" "schrie" "geschrien" ; + lin schreiten_V = irregV "schreiten" "schreitet" "schritt" "schritte" "geschritten" ; + lin schweigen_V = irregV "schweigen" "schweigt" "schwieg" "schwiege" "geschwiegen" ; + lin schwellen_V = irregV "schwellen" "schwillt" "schwoll" "schwölle" "geschwollen" ; + lin schwimmen_V = irregV "schwimmen" "schwimmt" "schwamm" (variants {"schwömme" ; "schwämme"}) "geschwommen" ; + lin schwinden_V = irregV "schwinden" "schwindt" "schwand" "schwände" "geschwunden" ; + lin schwingen_V = irregV "schwingen" "schwingt" "schwang" "schwänge" "geschwungen" ; + lin schwören_V = irregV "schwören" "schwört" "schwor" "schwüre" "geschworen" ; + lin sehen_V = irregV "sehen" "sieht" "sah" "sähe" "gesehen" ; + lin sein_V = irregV "sein" "ist" "war" "wäre" "gewesen" ; + lin senden_V = irregV "senden" "sendt" (variants {"sandte" ; "sendete"}) (variants {"sandte" ; "sendete"}) (variants {"gesandt" ; "gesendet"}) ; + lin sieden_V = irregV "sieden" "siedt" (variants {"siedete" ; "sott"}) (variants {"siedete" ; "sotte"}) (variants {"gesotten" ; "gesiedet"}) ; + lin singen_V = irregV "singen" "singt" "sang" "sänge" "gesungen" ; + lin sinken_V = irregV "sinken" "sinkt" "sank" "sänke" "gesunken" ; + lin sinnen_V = irregV "sinnen" "sinnt" "sann" "sänne" "gesonnen" ; + lin sitzen_V = irregV "sitzen" "sitzt" "saß" "säße" "gesessen" ; + lin sollen_V = irregV "sollen" "sollt" "sollte" "sollte" "gesollt" ; + lin speien_V = irregV "speien" "speit" "spie" "spie" "gespien" ; + lin spinnen_V = irregV "spinnen" "spinnt" "spann" (variants {"spönne" ; "spänne"}) "gesponnen" ; + lin spleißen_V = irregV "spleißen" "spleißt" "spliß" "spliße" "gesplissen" ; + lin sprechen_V = irregV "sprechen" "spricht" "sprach" "spräche" "gesprochen" ; + lin sprießen_V = irregV "sprießen" "sprießt" "sproß" "sprösse" "gesprossen" ; + lin springen_V = irregV "springen" "springt" "sprang" "spränge" "gesprungen" ; + lin stechen_V = irregV "stechen" "sticht" "stach" "stäche" "gestochen" ; + lin stehen_V = irregV "stehen" "steht" "stand" (variants {"stünde" ; "stände"}) "gestanden" ; + lin stehlen_V = irregV "stehlen" "stiehlt" "stahl" "stähle" "gestohlen" ; + lin steigen_V = irregV "steigen" "steigt" "stieg" "stiege" "gestiegen" ; + lin sterben_V = irregV "sterben" "stirbt" "starb" "stürbe" "gestorben" ; + lin stieben_V = irregV "stieben" "stiebt" "stob" "stöbe" "gestoben" ; + lin stinken_V = irregV "stinken" "stinkt" "stank" "stänke" "gestunken" ; + lin stoßen_V = irregV "stoßen" "stößt" "stieß" "stieße" "gestoßen" ; + lin streichen_V = irregV "streichen" "streicht" "strich" "striche" "gestrichen" ; + lin streiten_V = irregV "streiten" "streitet" "stritt" "stritte" "gestritten" ; + lin tragen_V = irregV "tragen" "trägt" "trug" "trüge" "getragen" ; + lin treffen_V = irregV "treffen" "trifft" "traf" "träfe" "getroffen" ; + lin treiben_V = irregV "treiben" "treibt" "trieb" "triebe" "getrieben" ; + lin treten_V = irregV "treten" "tritt" "trat" "träte" "getreten" ; + lin trinken_V = irregV "trinken" "trinkt" "trank" "tränke" "getrunken" ; + lin trügen_V = irregV "trügen" "trügt" "trog" "tröge" "getrogen" ; + lin tun_V = irregV "tun" "tut" "tat" "täte" "getan" ; + lin verderben_V = irregV "verderben" "verdirbt" "verdarb" "verdarbe" "verdorben" ; + lin verlieren_V = irregV "verlieren" "verliert" "verlor" "verlöre" "verloren" ; + lin wachsen_V = irregV "wachsen" "wächst" "wuchs" "wüchse" "gewachsen" ; + lin wägen_V = irregV "wägen" "wägt" "wog" "woge" "gewogen" ; + lin waschen_V = irregV "waschen" "wäscht" "wusch" "wüsche" "gewaschen" ; + lin weben_V = irregV "weben" "webt" (variants {"wob" ; "webte"}) "wöbe" (variants {"gewoben" ; "gewebt"}) ; + lin weichen_V = irregV "weichen" "weicht" "wich" "wiche" "gewichen" ; + lin weisen_V = irregV "weisen" "weist" "wies" "wiese" "gewiesen" ; + lin wenden_V = irregV "wenden" "wendt" (variants {"wandte" ; "wendete"}) (variants {"wandte" ; "wendete"}) (variants {"gewandt" ; "gewendet"}) ; + lin werben_V = irregV "werben" "wirbt" "warb" "würbe" "geworben" ; + lin werden_V = irregV "werden" "wird" (variants {"wurde" ; "ward"}) "würde" "geworden" ; + lin werfen_V = irregV "werfen" "wirft" "warf" "würfe" "geworfen" ; + lin wiegen_V = irregV "wiegen" "wiegt" "wog" "wöge" "gewogen" ; + lin winden_V = irregV "winden" "windt" "wand" "wände" "gewunden" ; + lin wissen_V = irregV "wissen" "weiß" "wußte" "wüßte" "gewußt" ; + lin wollen_V = irregV "wollen" "will" "wollte" "wollte" "gewollt" ; + lin wringen_V = irregV "wringen" "wringt" "wrang" "wränge" "gewrungen" ; + lin zeihen_V = irregV "zeihen" "zeiht" "zieh" "ziehe" "geziehen" ; + lin ziehen_V = irregV "ziehen" "zieht" "zog" "zöge" "gezogen" ; + lin zwingen_V = irregV "zwingen" "zwingt" "zwang" "zwänge" "gezwungen" ; } diff --git a/lib/resource-1.0/german/IrregGerAbs.gf b/lib/resource-1.0/german/IrregGerAbs.gf index 6731f35f0..0d68f94ed 100644 --- a/lib/resource-1.0/german/IrregGerAbs.gf +++ b/lib/resource-1.0/german/IrregGerAbs.gf @@ -1,3 +1,185 @@ abstract IrregGerAbs = Cat ** { + fun backen_V : V ; + fun befehlen_V : V ; + fun beginnen_V : V ; + fun beißen_V : V ; + fun bergen_V : V ; + fun bersten_V : V ; + fun bewegen_V : V ; + fun biegen_V : V ; + fun bieten_V : V ; + fun binden_V : V ; + fun bitten_V : V ; + fun blasen_V : V ; + fun bleiben_V : V ; + fun braten_V : V ; + fun brechen_V : V ; + fun brennen_V : V ; + fun bringen_V : V ; + fun denken_V : V ; + fun dingen_V : V ; + fun dreschen_V : V ; + fun dringen_V : V ; + fun dürfen_V : V ; + fun empfehlen_V : V ; + fun erlöschen_V : V ; + fun erkennen_V : V ; + fun erschrecken_V : V ; + fun essen_V : V ; + fun fahren_V : V ; + fun fallen_V : V ; + fun fangen_V : V ; + fun fechten_V : V ; + fun finden_V : V ; + fun flechten_V : V ; + fun fliegen_V : V ; + fun fliehen_V : V ; + fun fließen_V : V ; + fun fressen_V : V ; + fun frieren_V : V ; + fun gären_V : V ; + fun gebären_V : V ; + fun geben_V : V ; + fun gedeihen_V : V ; + fun gehen_V : V ; + fun gelingen_V : V ; + fun gelten_V : V ; + fun genesen_V : V ; + fun genießen_V : V ; + fun geschehen_V : V ; + fun gewinnen_V : V ; + fun gießen_V : V ; + fun gleichen_V : V ; + fun gleiten_V : V ; + fun glimmen_V : V ; + fun graben_V : V ; + fun greifen_V : V ; + fun haben_V : V ; + fun halten_V : V ; + fun hängen_V : V ; + fun hauen_V : V ; + fun heben_V : V ; + fun heißen_V : V ; + fun helfen_V : V ; + fun kennen_V : V ; + fun klimmen_V : V ; + fun klingen_V : V ; + fun kneifen_V : V ; + fun kommen_V : V ; + fun können_V : V ; + fun kriechen_V : V ; + fun küren_V : V ; + fun laden_V : V ; + fun lassen_V : V ; + fun laufen_V : V ; + fun leiden_V : V ; + fun leihen_V : V ; + fun lesen_V : V ; + fun liegen_V : V ; + fun lügen_V : V ; + fun mahlen_V : V ; + fun meiden_V : V ; + fun melken_V : V ; + fun messen_V : V ; + fun mißlingen_V : V ; + fun mögen_V : V ; + fun müssen_V : V ; + fun nehmen_V : V ; + fun nennen_V : V ; + fun pfeifen_V : V ; + fun preisen_V : V ; + fun quellen_V : V ; + fun raten_V : V ; + fun reiben_V : V ; + fun reißen_V : V ; + fun reiten_V : V ; + fun rennen_V : V ; + fun riechen_V : V ; + fun ringen_V : V ; + fun rinnen_V : V ; + fun rufen_V : V ; + fun salzen_V : V ; + fun saufen_V : V ; + fun saugen_V : V ; + fun schaffen_V : V ; + fun scheiden_V : V ; + fun scheinen_V : V ; + fun scheißen_V : V ; + fun schelten_V : V ; + fun scheren_V : V ; + fun schieben_V : V ; + fun schießen_V : V ; + fun schinden_V : V ; + fun schlafen_V : V ; + fun schlagen_V : V ; + fun schleichen_V : V ; + fun schleifen_V : V ; + fun schleißen_V : V ; + fun schließen_V : V ; + fun schlingen_V : V ; + fun schmeißen_V : V ; + fun schmelzen_V : V ; + fun schneiden_V : V ; + fun schreiben_V : V ; + fun schreien_V : V ; + fun schreiten_V : V ; + fun schweigen_V : V ; + fun schwellen_V : V ; + fun schwimmen_V : V ; + fun schwinden_V : V ; + fun schwingen_V : V ; + fun schwören_V : V ; + fun sehen_V : V ; + fun sein_V : V ; + fun senden_V : V ; + fun sieden_V : V ; + fun singen_V : V ; + fun sinken_V : V ; + fun sinnen_V : V ; + fun sitzen_V : V ; + fun sollen_V : V ; + fun speien_V : V ; + fun spinnen_V : V ; + fun spleißen_V : V ; + fun sprechen_V : V ; + fun sprießen_V : V ; + fun springen_V : V ; + fun stechen_V : V ; + fun stehen_V : V ; + fun stehlen_V : V ; + fun steigen_V : V ; + fun sterben_V : V ; + fun stieben_V : V ; + fun stinken_V : V ; + fun stoßen_V : V ; + fun streichen_V : V ; + fun streiten_V : V ; + fun tragen_V : V ; + fun treffen_V : V ; + fun treiben_V : V ; + fun treten_V : V ; + fun trinken_V : V ; + fun trügen_V : V ; + fun tun_V : V ; + fun verderben_V : V ; + fun verlieren_V : V ; + fun wachsen_V : V ; + fun wägen_V : V ; + fun waschen_V : V ; + fun weben_V : V ; + fun weichen_V : V ; + fun weisen_V : V ; + fun wenden_V : V ; + fun werben_V : V ; + fun werden_V : V ; + fun werfen_V : V ; + fun wiegen_V : V ; + fun winden_V : V ; + fun wissen_V : V ; + fun wollen_V : V ; + fun wringen_V : V ; + fun zeihen_V : V ; + fun ziehen_V : V ; + fun zwingen_V : V ; } diff --git a/lib/resource-1.0/german/MkV.hs b/lib/resource-1.0/german/MkV.hs new file mode 100644 index 000000000..8df0607fb --- /dev/null +++ b/lib/resource-1.0/german/MkV.hs @@ -0,0 +1,41 @@ +import Data.List + +-- To massage the verb list in +-- http://www.iee.et.tu-dresden.de/~wernerr/grammar/verben_dt.html +-- Some manual clean-up needed. + +mk file = do + s <- readFile file + mapM_ putStrLn $ map mkV $ lines s + + +mkV l = case words l of + tun:tut:tat:tate:getan:_ -> fun tun ++ "\n" ++ lin tun tut tat tate getan + tun:tut:tat:getan:_ -> fun tun ++ "\n" ++ lin tun tut tat (tat++"e") getan + _ -> "" + +fun tun = " fun " ++ tun ++ "_V : V ;" + +lin tun tut tat tate getan = + " lin " ++ tun ++ "_V = irregV " ++ + quote [tun,sg3 tun tut,tat,tate,getan] ++ " ;" + +quote = unwords . map qu where + qu s = case s of + '(':w -> vars (init w) + _ -> vars s + +sg3 tun tut = case tut of + "*" -> case reverse tun of + 'n':'e':'t':_ -> init tun ++ "t" + 'n':'e':_ -> init (init tun) ++ "t" + _ -> init tun ++ "t" + _ -> words tut' !! 2 + where + tut' = map (\c -> if c==',' then ' ' else c) tut + +vars w = case words (map (\c -> if c=='/' then ' ' else c) w) of + [s] -> quo s + ws -> "(variants {" ++ unwords (intersperse ";" (map quo ws)) ++ "})" + +quo s = "\"" ++ s ++ "\"" diff --git a/lib/resource-1.0/norwegian/Norwegian.gf b/lib/resource-1.0/norwegian/Norwegian.gf index cc0edaf9b..ccf8899df 100644 --- a/lib/resource-1.0/norwegian/Norwegian.gf +++ b/lib/resource-1.0/norwegian/Norwegian.gf @@ -2,6 +2,6 @@ concrete Norwegian of NorwegianAbs = LangNor, --- IrregNor, + IrregNor - [fly_V], ExtraNor ** {} ; diff --git a/lib/resource-1.0/norwegian/NorwegianAbs.gf b/lib/resource-1.0/norwegian/NorwegianAbs.gf index 0cca4cf90..34c3f929a 100644 --- a/lib/resource-1.0/norwegian/NorwegianAbs.gf +++ b/lib/resource-1.0/norwegian/NorwegianAbs.gf @@ -1,5 +1,5 @@ abstract NorwegianAbs = Lang, ---- IrregNorAbs, + IrregNorAbs - [fly_V], ExtraNorAbs ** {} ; diff --git a/lib/resource-1.0/swedish/Swedish.gf b/lib/resource-1.0/swedish/Swedish.gf index f71934293..2041377c4 100644 --- a/lib/resource-1.0/swedish/Swedish.gf +++ b/lib/resource-1.0/swedish/Swedish.gf @@ -2,6 +2,6 @@ concrete Swedish of SwedishAbs = LangSwe, --- IrregSwe, + IrregSwe, ExtraSwe ** {} ; diff --git a/lib/resource-1.0/swedish/SwedishAbs.gf b/lib/resource-1.0/swedish/SwedishAbs.gf index b4bf60813..a036b86a5 100644 --- a/lib/resource-1.0/swedish/SwedishAbs.gf +++ b/lib/resource-1.0/swedish/SwedishAbs.gf @@ -1,5 +1,5 @@ abstract SwedishAbs = Lang, ---- IrregSweAbs, + IrregSweAbs, ExtraSweAbs ** {} ;