From 197af7fbafe9ca681eff55646f9fb770738c50c3 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 21 Mar 2006 15:47:04 +0000 Subject: [PATCH] German lexicon completed --- lib/resource-1.0/doc/index.html | 4 +- lib/resource-1.0/doc/index.txt | 2 +- lib/resource-1.0/german/LexiconGer.gf | 265 +++++++++++++------------- lib/resource-1.0/german/MorphoGer.gf | 3 + 4 files changed, 135 insertions(+), 139 deletions(-) diff --git a/lib/resource-1.0/doc/index.html b/lib/resource-1.0/doc/index.html index ed656140f..ff64df4c8 100644 --- a/lib/resource-1.0/doc/index.html +++ b/lib/resource-1.0/doc/index.html @@ -7,7 +7,7 @@

GF Resource Grammar Library v. 1.0

Author: Aarne Ranta <aarne (at) cs.chalmers.se>
-Last update: Tue Mar 21 14:58:26 2006 +Last update: Tue Mar 21 16:36:57 2006

@@ -68,6 +68,7 @@ Bjorn Bringert (many Swadesh lexica), Carlos Gonzalia (Spanish cardinals), Harald Hammarstrom (German morphology), Partik Jansson (Swedish cardinals), +Andreas Priesnitz (German lexicon), Aarne Ranta.

@@ -384,7 +385,6 @@ French German

diff --git a/lib/resource-1.0/doc/index.txt b/lib/resource-1.0/doc/index.txt index 2d6231c39..16fa546c3 100644 --- a/lib/resource-1.0/doc/index.txt +++ b/lib/resource-1.0/doc/index.txt @@ -32,6 +32,7 @@ Bjorn Bringert (many Swadesh lexica), Carlos Gonzalia (Spanish cardinals), Harald Hammarstrom (German morphology), Partik Jansson (Swedish cardinals), +Andreas Priesnitz (German lexicon), Aarne Ranta. We are grateful for contributions and @@ -303,7 +304,6 @@ French German -- the Swadesh part of lexicon missing - no list of irregular verbs diff --git a/lib/resource-1.0/german/LexiconGer.gf b/lib/resource-1.0/german/LexiconGer.gf index d6051e699..e2ccacc4e 100644 --- a/lib/resource-1.0/german/LexiconGer.gf +++ b/lib/resource-1.0/german/LexiconGer.gf @@ -1,6 +1,7 @@ --# -path=.:../common:../abstract:../../prelude -concrete LexiconGer of Lexicon = CatGer ** open Prelude, ParadigmsGer, IrregGer in { +concrete LexiconGer of Lexicon = CatGer ** + open Prelude, ParadigmsGer, (Mo = MorphoGer), IrregGer in { flags optimize=all_subs ; @@ -14,14 +15,14 @@ lin apple_N = reg2N "Apfel" "Äpfel" masculine ; art_N = reg2N "Kunst" "Künste" feminine ; ask_V2Q = mkV2Q (regV "fragen") accPrep ; - baby_N = reg2N "Baby" "babies" neuter ; ---- + baby_N = reg2N "Baby" "Babies" neuter ; ---- bad_A = regA "schlecht" ; bank_N = reg2N "Bank" "Banken" feminine ; beautiful_A = regA "schön" ; become_VA = mkVA (mkV "werde" "wird" "werd" "wurde" "würde" "geworden") ; beer_N = reg2N "Bier" "Biere" neuter ; beg_V2V = mkV2V (mkV "bitten" "bittet" "bitte" "bat" "bäte" "gebeten") accPrep ; - big_A = mkA "groß" "größer""größte" ; + big_A = mkA "groß" "größer" "größte" ; bike_N = reg2N "Fahrrad" "Fahrräder" neuter ; bird_N = reg2N "Vogel" "Vögel" masculine ; black_A = regA "schwarz" ; @@ -29,7 +30,7 @@ lin boat_N = reg2N "Boot" "Boote" neuter ; book_N = reg2N "Buch" "Bücher" neuter ; boot_N = reg2N "Stiefel" "Stiefel" masculine ; - boss_N = reg2N "Chef" "Chefe" masculine ; ---- + boss_N = reg2N "Chef" "Chefs" masculine ; ---- boy_N = reg2N "Junge" "Jungen" masculine ; bread_N = reg2N "Brot" "Brote" neuter ; break_V2 = dirV2 @@ -52,33 +53,33 @@ lin city_N = reg2N "Stadt" "Städte" feminine ; clean_A = regA "rein" ; clever_A = mkA "klug" "klüger" "klügste" ; - close_V2 = dirV2 (irregV "schliessen" "schließt" "schloß" "schlöße" "geschlossen") ; + close_V2 = dirV2 (irregV "schließen" "schließt" "schloß" "schlösse" "geschlossen") ; coat_N = regN "Jacke" ; - cold_A = regA "Kalt" ; + cold_A = regA "kalt" ; come_V = seinV (mkV "kommen" "kommt" "komm" "kam" "käme" "gekommen") ; computer_N = reg2N "Rechner" "Rechner" masculine ; country_N = reg2N "Land" "Länder" neuter ; cousin_N = reg2N "Vetter" "Vetter" masculine ; --- Kusine cow_N = reg2N "Kuh" "Kühe" feminine ; - die_V = seinV (irregV "sterben" "stirbt" "starb" "stärbe" "gestorben") ; + die_V = seinV (irregV "sterben" "stirbt" "starb" "stürbe" "gestorben") ; distance_N3 = mkN3 (regN "Entfernung") von_Prep zu_Prep ; dirty_A = regA "schmutzig" ; do_V2 = dirV2 (irregV "tun" "tut" "tat" "täte" "getan") ; doctor_N = reg2N "Arzt" "Ärzte" masculine ; dog_N = regN "Hund" ; - door_N = reg2N "Tür" "Türe" feminine ; + door_N = reg2N "Tür" "Türen" feminine ; drink_V2 = dirV2 (irregV "trinken" "trinkt" "trank" "tränke" "getrunken") ; easy_A2V = mkA2V (regA "leicht") (mkPrep "für" accusative) ; eat_V2 = dirV2 (irregV "essen" "ißt" "aß" "äße" "gegessen") ; empty_A = regA "leer" ; ---- check infl enemy_N = regN "Feind" ; - factory_N = regN "Fabrike" ; + factory_N = regN "Fabrik" ; father_N2 = mkN2 (reg2N "Vater" "Väter" masculine) von_Prep ; fear_VS = mkVS (regV "fürchten") ; find_V2 = dirV2 (irregV "finden" "findet" "fand" "fände" "gefunden") ; fish_N = regN "Fisch" ; floor_N = reg2N "Fußboden" "Fußböden" masculine ; - forget_V2 = dirV2 (irregV "vergessen" "vergißt" "vergaß" "vergässe" "vergessen") ; + forget_V2 = dirV2 (irregV "vergessen" "vergißt" "vergaß" "vergäße" "vergessen") ; fridge_N = reg2N "Kühlschrank" "Kühlschränke" masculine ; friend_N = regN "Freund" ; fruit_N = reg2N "Frucht" "Früchte" feminine ; @@ -91,7 +92,7 @@ lin go_V = seinV (irregV "gehen" "geht" "ging" "ginge" "gegangen") ; green_A = regA "grün" ; harbour_N = reg2N "Hafen" "Häfen" masculine ; - hate_V2 = dirV2 (regV "Hassen") ; + hate_V2 = dirV2 (regV "hassen") ; hat_N = reg2N "Hut" "Hüte" masculine ; have_V2 = dirV2 haben_V ; hear_V2 = dirV2 (regV "hören") ; @@ -110,8 +111,8 @@ lin lamp_N = regN "Lampe"; learn_V2 = dirV2 (regV "lernen") ; leather_N = reg2N "Leder" "Leder" neuter ; - leave_V2 = dirV2 (irregV "verlassen" "verläßt" "verließ" "verliesse" "verlassen") ; - like_V2 = dirV2 (irregV "magen" "mag" "mochte" "möchte" "gemocht") ; + leave_V2 = dirV2 (irregV "verlassen" "verläßt" "verließ" "verließe" "verlassen") ; + like_V2 = dirV2 (irregV "mögen" "mag" "mochte" "möchte" "gemocht") ; listen_V2 = mkV2 (prefixV "zu" (regV "hören")) datPrep ; ---- dat live_V = regV "leben" ; long_A = mkA "lang" "länger" "längste" ; @@ -121,7 +122,7 @@ lin man_N = reg2N "Mann" "Männer" masculine ; married_A2 = mkA2 (regA "verheiratet") (mkPrep "mit" dative) ; meat_N = reg2N "Fleisch" "Fleische" neuter ; ---- infl - milk_N = reg2N "Milch" "Milchen" feminine ; ---- infl + milk_N = reg2N "Milch" "Milche" feminine ; ---- infl moon_N = regN "Mond" ; mother_N2 = mkN2 (reg2N "Mutter" "Mütter" feminine) von_Prep ; mountain_N = regN "Berg" ; @@ -146,14 +147,14 @@ lin priest_N = regN "Priester" ; probable_AS = mkAS (regA "wahrscheinlich") ; put_V2 = dirV2 (regV "setzen") ; - queen_N = reg2N "Königin" "königinnen" feminine ; + queen_N = reg2N "Königin" "Königinnen" feminine ; radio_N = reg2N "Radio" "Radios" neuter ; ---- rain_V0 = mkV0 (regV "regnen") ; read_V2 = dirV2 (irregV "lesen" "liest" "las" "läse" "gelesen") ; red_A = regA "rot" ; religion_N = regN "Religion" ; restaurant_N = reg2N "Restaurant" "Restaurants" neuter ; - river_N = reg2N "Fluß" "Flüße" masculine ; + river_N = reg2N "Fluß" "Flüsse" masculine ; rock_N = regN "Stein" ; roof_N = reg2N "Dach" "Dächer" neuter ; rubber_N = reg2N "Gummi" "Gummis" neuter ; @@ -173,9 +174,9 @@ lin shop_N = reg2N "Laden" "Läden" masculine ; short_A = regA "kurz" ; silver_N = reg2N "Silber" "Silber" neuter ; ---- infl - sister_N = reg2N "Schwester" "Schwester" feminine ; + sister_N = reg2N "Schwester" "Schwestern" feminine ; sleep_V = irregV "schlafen" "schläft" "schlief" "schliefe" "geschlafen" ; - small_A = regA "Klein" ; + small_A = regA "klein" ; snake_N = regN "Schlange" ; sock_N = reg2N "Strumpf" "Strümpfe" masculine ; song_N = reg2N "Lied" "Lieder" neuter ; @@ -204,7 +205,7 @@ lin ugly_A = regA "häßlich" ; understand_V2 = dirV2 (irregV "verstehen" "versteht" "verstand" "verstände" "verstanden") ; - university_N = reg2N "Universitet" "Universiteten" feminine ; + university_N = reg2N "Universität" "Universitäten" feminine ; village_N = reg2N "Dorf" "Dörfer" neuter ; wait_V2 = mkV2 (regV "warten") (mkPrep "auf" accusative) ; walk_V = seinV (irregV "gehen" "geht" "ging" "ginge" "gegangen") ; @@ -222,137 +223,129 @@ lin write_V2 = dirV2 (irregV "schreiben" "schreibt" "schrieb" "schriebe" "geschrieben") ; yellow_A = regA "gelb" ; young_A = mkA "jung" "jünger" "jüngste" ; - - --- rest of Swadesh words: to be completed! - -{- - left_Ord = ss "link" ; -- should be the adjective! - right_Ord = ss "recht" ; -- adjective! + left_Ord = Mo.mkOrd (regA "link") ; + right_Ord = Mo.mkOrd (regA "recht") ; far_Adv = mkAdv "weit" ; - correct_A = (regA "recht") ; + correct_A = regA "richtig" ; dry_A = regA "trocken" ; - dull_A = regA "dull" ; + dull_A = regA "stumpf" ; full_A = regA "voll" ; heavy_A = regA "schwer" ; - near_A = regA "nahe" ; - rotten_A = (regA "rotten") ; + near_A = mkA "nahe" "näher" "nächste" ; + rotten_A = regA "verdorben" ; round_A = regA "rund" ; - sharp_A = regA "scharf" ; - smooth_A = regA "eben" ; + sharp_A = mkA "scharf" "schärfer" "schärfste" ; + smooth_A = regA "glatt" ; straight_A = regA "gerade" ; - wet_A = regA "nass" ; ---- - wide_A = regA "weit" ; - animal_N = regN "Tier" ; - ashes_N = regN "Asch" ; -- FIXME: plural only? - back_N = regN "Ruecke" ; - bark_N = regN "bark" ; - belly_N = regN "Mage" ; + wet_A = regA "naß" ; + wide_A = regA "breit" ; + animal_N = reg2N "Tier" "Tiere" neuter ; + ashes_N = regN "Asche" ; + back_N = reg2N "Rücken" "Rücken" masculine ; + bark_N = regN "Rinde" ; + belly_N = reg2N "Bauch" "Bäuche" masculine ; blood_N = regN "Blut" ; - bone_N = regN "Bein" ; - breast_N = regN "Brust" ; - cloud_N = regN "Wolk" ; + bone_N = reg2N "Knochen" "Knochen" masculine ; + breast_N = reg2N "Brust" "Brüste" feminine ; + cloud_N = regN "Wolke" ; day_N = regN "Tag" ; - dust_N = regN "dust" ; - ear_N = regN "Ohre" ; + dust_N = reg2N "Staub" "Stäube" masculine ; + ear_N = regN "Ohr" ; earth_N = regN "Erde" ; egg_N = regN "Ei" ; eye_N = regN "Auge" ; - fat_N = regN "dick" ; + fat_N = regN "Fett" ; feather_N = regN "feather" ; - fingernail_N = regN "Nagel" ; + fingernail_N = reg2N "Fingernagel" "Fingernägel" masculine ; fire_N = regN "Feuer" ; - flower_N = regN "Blum" ; - fog_N = regN "fog" ; - foot_N = mk2N "foot" "feet" ; - forest_N = regN "forest" ; - grass_N = regN "grass" ; - guts_N = regN "gut" ; -- FIXME: no singular - hair_N = regN "hair" ; - hand_N = regN "hand" ; - head_N = regN "head" ; - heart_N = regN "heart" ; - horn_N = regN "horn" ; + flower_N = regN "Blume" ; + fog_N = regN "Nebel" ; + foot_N = reg2N "Fuß" "Füße" masculine ; + forest_N = reg2N "Wald" "Wälder" masculine ; + grass_N = regN "Gras" ; + guts_N = regN "Eingeweide" ; + hair_N = regN "Haar" ; + hand_N = regN "Hand" ; + head_N = regN "Kopf" ; + heart_N = regN "Herz" ; + horn_N = regN "Horn" ; husband_N = regN "Ehemann" ; - ice_N = regN "ice" ; - knee_N = regN "knee" ; - leaf_N = mk2N "leaf" "leaves" ; - leg_N = regN "leg" ; - liver_N = regN "liver" ; - louse_N = mk2N "louse" "lice" ; - mouth_N = regN "mouth" ; - name_N = regN "name" ; - neck_N = regN "neck" ; - night_N = regN "night" ; - nose_N = regN "nose" ; - person_N = regN "Persone" ; - rain_N = regN "regnen" ; - road_N = regN "Strasse" ; - root_N = regN "root" ; - rope_N = regN "rope" ; - salt_N = regN "salt" ; - sand_N = regN "sand" ; - seed_N = regN "seed" ; - skin_N = regN "skin" ; - sky_N = regN "sky" ; - smoke_N = regN "smoke" ; - snow_N = regN "snow" ; - stick_N = regN "stick" ; - tail_N = regN "tail" ; - tongue_N = regN "tongue" ; + ice_N = regN "Eis" ; + knee_N = regN "Knie" ; + leaf_N = reg2N "Blatt" "Blätter" neuter ; + leg_N = regN "Bein" ; + liver_N = regN "Leber" ; + louse_N = reg2N "Laus" "Läuse" feminine ; + mouth_N = regN "Mund" ; + name_N = regN "Name" ; + neck_N = regN "Nacken" ; + night_N = reg2N "Nacht" "Nächte" feminine ; + nose_N = regN "Nase" ; + person_N = regN "Person" ; + rain_N = regN "Regen" ; + road_N = regN "Straße" ; + root_N = regN "Wurzel" ; + rope_N = regN "Seil" ; + salt_N = regN "Salz" ; + sand_N = regN "Sand" ; + seed_N = regN "Same" ; + skin_N = regN "Haut" ; + sky_N = regN "Himmel" ; + smoke_N = regN "Rauch" ; + snow_N = regN "Schnee" ; + stick_N = regN "Stock" ; + tail_N = regN "Schwanz" ; + tongue_N = regN "Zunge" ; tooth_N = regN "Zahn" ; - wife_N = regN "Frau" ; - wind_N = regN "wind" ; - wing_N = regN "wing" ; - worm_N = regN "worm" ; - year_N = regN "year" ; - blow_V = blow_V ; - breathe_V = dirV2 (regV "breathe") ; - burn_V = burn_V ; - dig_V = dig_V ; - fall_V = fall_V ; - float_V = regV "float" ; - flow_V = regV "flow" ; - fly_V = fly_V ; - freeze_V = freeze_V ; - give_V3 = dirV3 give_V "to" ; - laugh_V = regV "laugh" ; - lie_V = lie_V ; - play_V = regV "play" ; - sew_V = sew_V ; - sing_V = sing_V ; - sit_V = sit_V ; - smell_V = regV "smell" ; - spit_V = spit_V ; - stand_V = stand_V ; - swell_V = swell_V ; - swim_V = swim_V ; - think_V = think_V ; - turn_V = regV "turn" ; - vomit_V = regV "vomit" ; - - bite_V2 = dirV2 bite_V ; - count_V2 = dirV2 (regV "count") ; - cut_V2 = dirV2 cut_V ; - fear_V2 = dirV2 (regV "fear") ; - fight_V2 = dirV2 fight_V ; - hit_V2 = dirV2 hit_V ; - hold_V2 = dirV2 hold_V ; - hunt_V2 = dirV2 (regV "hunt") ; - kill_V2 = dirV2 (regV "kill") ; - pull_V2 = dirV2 (regV "pull") ; - push_V2 = dirV2 (regV "push") ; - rub_V2 = dirV2 (regDuplV "rub") ; - scratch_V2 = dirV2 (regV "scratch") ; - split_V2 = dirV2 split_V ; - squeeze_V2 = dirV2 (regV "squeeze") ; - stab_V2 = dirV2 (regDuplV "stab") ; - suck_V2 = dirV2 (regV "suck") ; - throw_V2 = dirV2 throw_V ; - tie_V2 = dirV2 (regV "tie") ; - wash_V2 = dirV2 (regV "wash") ; - wipe_V2 = dirV2 (regV "wipe") ; - --} + wife_N = regN "Ehefrau" ; + wind_N = regN "Wind" ; + wing_N = reg2N "Flügel" "Flügel" masculine ; + worm_N = regN "Wurm" ; + year_N = regN "Jahr" ; + blow_V = regV "blasen" ; + breathe_V = regV "atmen" ; + burn_V = regV "brennen" ; + dig_V = regV "graben" ; + fall_V = regV "fallen" ; + float_V = regV "treiben" ; + flow_V = regV "fließen" ; + fly_V = regV "fliegen" ; + freeze_V = regV "frieren" ; + give_V3 = accdatV3 (irregV "geben" "gibt" "gab" "gäbe" "gegeben") ; + laugh_V = regV "lachen" ; + lie_V = regV "lügen" ; + play_V = regV "spielen" ; + sew_V = regV "nähen" ; + sing_V = regV "singen" ; + sit_V = irregV "sitzen" "sitzt" "saß" "säße" "gesessen" ; + smell_V = regV "riechen" ; + spit_V = regV "spucken" ; + stand_V = regV "stehen" ; + swell_V = prefixV "an" (regV "schwellen") ; + swim_V = regV "schwimmen" ; + think_V = regV "denken" ; + turn_V = regV "drehen" ; + vomit_V = regV "kotzen" ; + bite_V2 = dirV2 (regV "beissen") ; + count_V2 = dirV2 (regV "zählen") ; + cut_V2 = dirV2 (regV "schneiden") ; + fear_V2 = dirV2 (regV "fürchten") ; + fight_V2 = dirV2 (regV "bekämpfen") ; + hit_V2 = dirV2 (regV "schlagen") ; + hold_V2 = dirV2 (regV "halten") ; + hunt_V2 = dirV2 (regV "jagen") ; + kill_V2 = dirV2 (regV "töten") ; + pull_V2 = dirV2 (regV "ziehen") ; + push_V2 = dirV2 (regV "schieben") ; + rub_V2 = dirV2 (regV "reiben") ; + scratch_V2 = dirV2 (regV "kratzen") ; + split_V2 = dirV2 (prefixV "auf" (regV "teilen")) ; + squeeze_V2 = dirV2 (regV "pressen") ; + stab_V2 = dirV2 (regV "stechen") ; + suck_V2 = dirV2 (regV "saugen") ; + throw_V2 = dirV2 (regV "werfen") ; + tie_V2 = dirV2 (regV "binden") ; + wash_V2 = dirV2 (regV "waschen") ; + wipe_V2 = dirV2 (regV "wischen") ; } ; diff --git a/lib/resource-1.0/german/MorphoGer.gf b/lib/resource-1.0/german/MorphoGer.gf index 11dfc5d87..2dad7f35b 100644 --- a/lib/resource-1.0/german/MorphoGer.gf +++ b/lib/resource-1.0/german/MorphoGer.gf @@ -26,6 +26,9 @@ oper {s : Gender => Case => Str ; n : Number ; a : Adjf} = \n,dies -> {s = appAdj (regA dies) ! n ; n = n ; a = Weak} ; + mkOrd : {s : Degree => AForm => Str} -> {s : AForm => Str} = \a -> + {s = a.s ! Posit} ; + -- For $ParadigmsGer$. genitS : Str -> Str = \hund -> case hund of {