From 6c46034c09767ddced83ce7541a2c03c717b3f0a Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 7 Mar 2006 18:26:47 +0000 Subject: [PATCH] merging Lexicon with Swadesh --- examples/bronzeage/Swadesh.gf | 63 ++--- examples/bronzeage/SwadeshEng.gf | 248 +--------------- examples/bronzeage/SwadeshFin.gf | 270 +----------------- examples/bronzeage/SwadeshFre.gf | 260 +---------------- examples/bronzeage/SwadeshI.gf | 228 +++++++++++++++ examples/bronzeage/SwadeshIta.gf | 259 +---------------- examples/bronzeage/SwadeshNor.gf | 253 +---------------- examples/bronzeage/SwadeshSpa.gf | 263 +---------------- examples/bronzeage/SwadeshSwe.gf | 251 +---------------- examples/bronzeage/old/SwadeshEng.gf | 243 ++++++++++++++++ examples/bronzeage/old/SwadeshFin.gf | 269 ++++++++++++++++++ examples/bronzeage/old/SwadeshFre.gf | 259 +++++++++++++++++ examples/bronzeage/{ => old}/SwadeshGer.gf | 46 +-- examples/bronzeage/old/SwadeshIta.gf | 258 +++++++++++++++++ examples/bronzeage/old/SwadeshNor.gf | 252 +++++++++++++++++ examples/bronzeage/{ => old}/SwadeshRus.gf | 0 examples/bronzeage/old/SwadeshSpa.gf | 262 +++++++++++++++++ examples/bronzeage/old/SwadeshSwe.gf | 252 +++++++++++++++++ lib/resource-1.0/abstract/Lexicon.gf | 151 ++++++++-- lib/resource-1.0/abstract/Structural.gf | 1 + lib/resource-1.0/doc/clt2006.html | 312 +++++++++++++++++++-- lib/resource-1.0/doc/clt2006.txt | 261 +++++++++++++++-- lib/resource-1.0/doc/editor.png | Bin 0 -> 20552 bytes lib/resource-1.0/english/LexiconEng.gf | 131 ++++++++- lib/resource-1.0/english/StructuralEng.gf | 2 + lib/resource-1.0/finnish/LexiconFin.gf | 163 +++++++++-- lib/resource-1.0/finnish/ParadigmsFin.gf | 6 +- lib/resource-1.0/french/LexiconFre.gf | 127 ++++++++- lib/resource-1.0/german/LexiconGer.gf | 135 ++++++++- lib/resource-1.0/italian/LexiconIta.gf | 137 ++++++++- lib/resource-1.0/minimal/MkLex.hs | 21 ++ lib/resource-1.0/norwegian/LexiconNor.gf | 138 ++++++++- lib/resource-1.0/romance/CommonRomance.gf | 5 + lib/resource-1.0/spanish/LexiconSpa.gf | 129 ++++++++- lib/resource-1.0/swedish/LexiconSwe.gf | 129 ++++++++- 35 files changed, 3837 insertions(+), 1947 deletions(-) create mode 100644 examples/bronzeage/SwadeshI.gf create mode 100644 examples/bronzeage/old/SwadeshEng.gf create mode 100644 examples/bronzeage/old/SwadeshFin.gf create mode 100644 examples/bronzeage/old/SwadeshFre.gf rename examples/bronzeage/{ => old}/SwadeshGer.gf (87%) create mode 100644 examples/bronzeage/old/SwadeshIta.gf create mode 100644 examples/bronzeage/old/SwadeshNor.gf rename examples/bronzeage/{ => old}/SwadeshRus.gf (100%) create mode 100644 examples/bronzeage/old/SwadeshSpa.gf create mode 100644 examples/bronzeage/old/SwadeshSwe.gf create mode 100644 lib/resource-1.0/doc/editor.png diff --git a/examples/bronzeage/Swadesh.gf b/examples/bronzeage/Swadesh.gf index bd96fdd9f..8e7e488c3 100644 --- a/examples/bronzeage/Swadesh.gf +++ b/examples/bronzeage/Swadesh.gf @@ -22,11 +22,9 @@ abstract Swadesh = Cat ** { that_Det : Det ; this_Det : Det ; - all_Det : Det ; +---- all_Predet : Predet ; many_Det : Det ; some_Det : Det ; - few_Det : Det ; - other_Det : Det ; left_Ord : Ord ; right_Ord : Ord ; @@ -81,6 +79,7 @@ abstract Swadesh = Cat ** { near_A : A ; new_A : A ; old_A : A ; + other_A : A ; red_A : A ; rotten_A : A ; round_A : A ; @@ -118,7 +117,7 @@ abstract Swadesh = Cat ** { egg_N : N ; eye_N : N ; fat_N : MassN ; - father_N : N ; +---- father_N : N ; feather_N : N ; fingernail_N : N ; fire_N : N ; @@ -146,7 +145,7 @@ abstract Swadesh = Cat ** { man_N : N ; meat_N : MassN ; moon_N : N ; - mother_N : N ; +---- mother_N : N ; mountain_N : N ; mouth_N : N ; name_N : N ; @@ -186,61 +185,61 @@ abstract Swadesh = Cat ** { -- Verbs - bite_V : V2 ; + bite_V2 : V2 ; blow_V : V ; breathe_V : V ; burn_V : V ; come_V : V ; - count_V : V2 ; - cut_V : V2 ; + count_V2 : V2 ; + cut_V2 : V2 ; die_V : V ; dig_V : V ; - drink_V : V2 ; - eat_V : V2 ; + drink_V2 : V2 ; + eat_V2 : V2 ; fall_V : V ; - fear_V : V2 ; - fight_V : V2 ; + fear_V2 : V2 ; + fight_V2 : V2 ; float_V : V ; flow_V : V ; fly_V : V ; freeze_V : V ; - give_V : V3 ; - hear_V : V2 ; - hit_V : V2 ; - hold_V : V2 ; - hunt_V : V2 ; - kill_V : V2 ; - know_V : V2 ; + give_V3 : V3 ; + hear_V2 : V2 ; + hit_V2 : V2 ; + hold_V2 : V2 ; + hunt_V2 : V2 ; + kill_V2 : V2 ; + know_V2 : V2 ; laugh_V : V ; lie_V : V ; live_V : V ; play_V : V ; - pull_V : V2 ; - push_V : V2 ; - rub_V : V2 ; + pull_V2 : V2 ; + push_V2 : V2 ; + rub_V2 : V2 ; say_V : V ; - scratch_V : V2 ; - see_V : V2 ; + scratch_V2 : V2 ; + see_V2 : V2 ; sew_V : V ; sing_V : V ; sit_V : V ; sleep_V : V ; smell_V : V ; spit_V : V ; - split_V : V2 ; - squeeze_V : V2 ; - stab_V : V2 ; + split_V2 : V2 ; + squeeze_V2 : V2 ; + stab_V2 : V2 ; stand_V : V ; - suck_V : V2 ; + suck_V2 : V2 ; swell_V : V ; swim_V : V ; think_V : V ; - throw_V : V2 ; - tie_V : V2 ; + throw_V2 : V2 ; + tie_V2 : V2 ; turn_V : V ; vomit_V : V ; walk_V : V ; - wash_V : V2 ; - wipe_V : V2 ; + wash_V2 : V2 ; + wipe_V2 : V2 ; } diff --git a/examples/bronzeage/SwadeshEng.gf b/examples/bronzeage/SwadeshEng.gf index 1f7ef9108..5b10141c5 100644 --- a/examples/bronzeage/SwadeshEng.gf +++ b/examples/bronzeage/SwadeshEng.gf @@ -1,247 +1,5 @@ ---# -path=.:../abstract:../common:../english:../../prelude +--# -path=.:present:prelude -concrete SwadeshEng of Swadesh = CatEng - ** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in { +concrete SwadeshEng of Swadesh = CatEng ** SwadeshI with + (Lang = LangEng) ; - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = mkDeterminer Pl "all" ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = mkDeterminer Pl "few" ; - other_Det = mkDeterminer Pl "other" ; - - left_Ord = ss "left" ; - right_Ord = ss "right" ; - - -- Adverbs - - here_Adv = here_Adv; - there_Adv = there_Adv; - where_IAdv = where_IAdv; - when_IAdv = when_IAdv; - how_IAdv = how_IAdv; - far_Adv = mkAdv "far" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = ss "at" ; - in_Prep = ss "in" ; - with_Prep = ss "with" ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = (regA "correct") ; - dirty_A = dirty_A ; - dry_A = regA "dry" ; - dull_A = regA "dull" ; - full_A = regA "full" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = regA "heavy" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = regA "near" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = (regA "rotten") ; - round_A = regA "round" ; - sharp_A = regA "sharp" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "smooth" ; - straight_A = regA "straight" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "wet" ; ---- - white_A = white_A ; - wide_A = regA "wide" ; - yellow_A = yellow_A ; - - -- Nouns - - animal_N = regN "animal" ; - ashes_N = regN "ash" ; -- FIXME: plural only? - back_N = regN "back" ; - bark_N = regN "bark" ; - belly_N = regN "belly" ; - bird_N = bird_N; - blood_N = regN "blood" ; - bone_N = regN "bone" ; - breast_N = regN "breast" ; - child_N = child_N ; - cloud_N = regN "cloud" ; - day_N = regN "day" ; - dog_N = dog_N ; - dust_N = regN "dust" ; - ear_N = regN "ear" ; - earth_N = regN "earth" ; - egg_N = regN "egg" ; - eye_N = regN "eye" ; - fat_N = regN "fat" ; - father_N = UseN2 father_N2 ; - feather_N = regN "feather" ; - fingernail_N = regN "fingernail" ; - fire_N = regN "fire" ; - fish_N = fish_N ; - flower_N = regN "flower" ; - fog_N = regN "fog" ; - foot_N = mk2N "foot" "feet" ; - forest_N = regN "forest" ; - fruit_N = fruit_N ; - 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" ; - husband_N = genderN masculine (regN "husband") ; - ice_N = regN "ice" ; - knee_N = regN "knee" ; - lake_N = lake_N ; - leaf_N = mk2N "leaf" "leaves" ; - leg_N = regN "leg" ; - liver_N = regN "liver" ; - louse_N = mk2N "louse" "lice" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = regN "mouth" ; - name_N = regN "name" ; - neck_N = regN "neck" ; - night_N = regN "night" ; - nose_N = regN "nose" ; - person_N = genderN human (regN "person") ; - rain_N = regN "rain" ; - river_N = river_N ; - road_N = regN "road" ; - root_N = regN "root" ; - rope_N = regN "rope" ; - salt_N = regN "salt" ; - sand_N = regN "sand" ; - sea_N = sea_N ; - seed_N = regN "seed" ; - skin_N = regN "skin" ; - sky_N = regN "sky" ; - smoke_N = regN "smoke" ; - snake_N = snake_N ; - snow_N = regN "snow" ; - star_N = star_N ; - stick_N = regN "stick" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = regN "tail" ; - tongue_N = regN "tongue" ; - tooth_N = mk2N "tooth" "teeth" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = genderN feminine (mk2N "wife" "wives") ; - wind_N = regN "wind" ; - wing_N = regN "wing" ; - woman_N = woman_N ; - worm_N = regN "worm" ; - year_N = regN "year" ; - - -- Verbs - - bite_V = dirV2 bite_V ; - blow_V = blow_V ; - breathe_V = dirV2 (regV "breathe") ; - burn_V = burn_V ; - come_V = come_V ; - count_V = dirV2 (regV "count") ; - cut_V = dirV2 cut_V ; - die_V = die_V ; - dig_V = dig_V ; - drink_V = dirV2 drink_V ; - eat_V = dirV2 eat_V ; - fall_V = fall_V ; - fear_V = dirV2 (regV "fear") ; - fight_V = dirV2 fight_V ; - float_V = regV "float" ; - flow_V = regV "flow" ; - fly_V = fly_V ; - freeze_V = freeze_V ; - give_V = dirV3 give_V "to" ; - hear_V = dirV2 hear_V ; - hit_V = dirV2 hit_V ; - hold_V = dirV2 hold_V ; - hunt_V = dirV2 (regV "hunt") ; - kill_V = dirV2 (regV "kill") ; - know_V = dirV2 know_V ; - laugh_V = regV "laugh" ; - lie_V = lie_V ; - live_V = live_V ; - play_V = regV "play" ; - pull_V = dirV2 (regV "pull") ; - push_V = dirV2 (regV "push") ; - rub_V = dirV2 (regDuplV "rub") ; - say_V = say_V ; - scratch_V = dirV2 (regV "scratch") ; - see_V = dirV2 see_V ; - sew_V = sew_V ; - sing_V = sing_V ; - sit_V = sit_V ; - sleep_V = sleep_V ; - smell_V = regV "smell" ; - spit_V = spit_V ; - split_V = dirV2 split_V ; - squeeze_V = dirV2 (regV "squeeze") ; - stab_V = dirV2 (regDuplV "stab") ; - stand_V = stand_V ; - suck_V = dirV2 (regV "suck") ; - swell_V = swell_V ; - swim_V = swim_V ; - think_V = think_V ; - throw_V = dirV2 throw_V ; - tie_V = dirV2 (regV "tie") ; - turn_V = regV "turn" ; - vomit_V = regV "vomit" ; - walk_V = walk_V ; - wash_V = dirV2 (regV "wash") ; - wipe_V = dirV2 (regV "wipe") ; - -} diff --git a/examples/bronzeage/SwadeshFin.gf b/examples/bronzeage/SwadeshFin.gf index cde914ee0..191874c05 100644 --- a/examples/bronzeage/SwadeshFin.gf +++ b/examples/bronzeage/SwadeshFin.gf @@ -1,269 +1,5 @@ ---# -path=.:../present:../finnish:../common:../abstract:../../prelude +--# -path=.:present:prelude -concrete SwadeshFin of Swadesh = CatFin - ** open MorphoFin, LangFin, ParadigmsFin, Prelude in { +concrete SwadeshFin of Swadesh = CatFin ** SwadeshI with + (Lang = LangFin) ; - flags optimize=values ; - - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = mkDet Pl {s = \\nf => - let - kaiket = (nhn (sKorpi "kaikki" "kaiken" "kaikkena")).s - in - case nf of { - NCase Pl Nom => "kaikki" ; - _ => kaiket ! nf - } - } ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = mkDet Sg (regN "harva") ; - other_Det = mkDet Sg (regN "muu") ; - - left_Ord = mkOrd (regN "vasen") ; - right_Ord = mkOrd (regN "oikea") ; - - oper - mkOrd : N -> Ord ; - mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ; - - lin - - -- Adverbs - - here_Adv = here_Adv; - there_Adv = there_Adv; - where_IAdv = where_IAdv; - when_IAdv = when_IAdv; - how_IAdv = how_IAdv; - far_Adv = mkAdv "kaukana" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = casePrep adessive ; - in_Prep = casePrep inessive ; - with_Prep = postGenPrep "kanssa" ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "oikea" ; - dirty_A = dirty_A ; - dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ; - dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ; - full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = regA "raskas" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = regA "läheinen" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = regA "mätä" ; - round_A = regA "pyöreä" ; - sharp_A = regA "terävä" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "sileä" ; - straight_A = mkADeg (regN "suora") "suorempi" "suorin" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = mkADeg (regN "märkä") "märempi" "märin" ; - white_A = white_A ; - wide_A = regA "leveä" ; - yellow_A = yellow_A ; - - -- Nouns - - animal_N = reg3N "eläin" "eläimen" "eläimiä" ; - ashes_N = regN "tuhka" ; - back_N = regN "selkä" ; - bark_N = regN "kaarna" ; - belly_N = regN "vatsa" ; - bird_N = bird_N; - blood_N = nMeri "veri" ; - bone_N = regN "luu" ; - breast_N = regN "rinta" ; - child_N = child_N ; - cloud_N = reg2N "pilvi" "pilviä" ; - day_N = regN "päivä" ; - dog_N = dog_N ; - dust_N = regN "pöly" ; - ear_N = regN "korva" ; - earth_N = regN "maa" ; - egg_N = regN "muna" ; - eye_N = regN "silmä" ; - fat_N = regN "rasva" ; - father_N = regN "isä" ; - feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ; - fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ; - fire_N = reg2N "tuli" "tulia" ; - fish_N = fish_N ; - flower_N = regN "kukka" ; - fog_N = regN "sumu" ; - foot_N = regN "jalka" ; - forest_N = regN "metsä" ; - fruit_N = fruit_N ; - grass_N = regN "ruoho" ; - guts_N = regN "sisälmys" ; --- suoli - hair_N = regN "hius" ; - hand_N = reg3N "käsi" "käden" "käsiä" ; - head_N = regN "pää" ; - heart_N = reg3N "sydän" "sydämen" "sydämiä" ; - horn_N = reg2N "sarvi" "sarvia" ; - husband_N = man_N ; --- aviomies - ice_N = regN "jää" ; - knee_N = reg2N "polvi" "polvia" ; - lake_N = lake_N ; - leaf_N = reg2N "lehti" "lehtiä" ; - leg_N = regN "jalka" ; --- sääri - liver_N = regN "maksa" ; - louse_N = regN "lude" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = regN "äiti" ; - mountain_N = mountain_N ; - mouth_N = regN "suu" ; - name_N = reg2N "nimi" "nimiä" ; - neck_N = regN "niska" ; - night_N = regN "yö" ; - nose_N = regN "nenä" ; - person_N = regN "henkilö" ; - rain_N = regN "sade" ; - river_N = river_N ; - road_N = regN "tie" ; - root_N = reg2N "juuri" "juuria" ; - rope_N = reg3N "köysi" "köyden" "köysiä" ; - salt_N = regN "suola" ; - sand_N = regN "hiekka" ; - sea_N = sea_N ; - seed_N = regN "siemen" ; - skin_N = regN "nahka" ; - sky_N = reg3N "taivas" "taivaan" "taivaita" ; - smoke_N = regN "savu" ; - snake_N = snake_N ; - snow_N = sgpartN (nMeri "lumi") "lunta" ; - star_N = star_N ; - stick_N = regN "keppi" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = regN "häntä" ; - tongue_N = reg2N "kieli" "kieliä" ; - tooth_N = regN "hammas" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = regN "vaimo" ; - wind_N = reg2N "tuuli" "tuulia" ; - wing_N = reg2N "siipi" "siipiä" ; - woman_N = woman_N ; - worm_N = regN "mato" ; - year_N = reg3N "vuosi" "vuoden" "vuosia" ; - - -- Verbs - - bite_V = dirV2 (regV "purra") ; - blow_V = regV "puhaltaa" ; - breathe_V = dirV2 (regV "hengittää") ; - burn_V = regV "palaa" ; - come_V = come_V ; - count_V = dirV2 (regV "laskea") ; - cut_V = dirV2 (reg2V "leikata" "leikkasi") ; - die_V = regV "kuolla"; - dig_V = regV "kaivaa" ; - drink_V = dirV2 ( drink_V2) ; - eat_V = dirV2 ( eat_V2) ; - fall_V = reg3V "pudota" "putoan" "putosi" ; - fear_V = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ; - fight_V = dirV2 (regV "taistella") ; - float_V = regV "kellua" ; - flow_V = reg3V "virrata" "virtaan" "virtasi" ; - fly_V = regV "lentää" ; - freeze_V = regV "jäätyä" ; - give_V = dirdirV3 (regV "antaa") ; - hear_V = dirV2 ( hear_V2) ; - hit_V = dirV2 (regV "lyödä") ; - hold_V = dirV2 (regV "pitää") ; - hunt_V = dirV2 (regV "metsästää") ; - kill_V = dirV2 (regV "tappaa") ; - know_V = dirV2 (reg2V "tuntea" "tunsin") ; - laugh_V = reg3V "nauraa" "nauran" "nauroi" ; - lie_V = reg3V "maata" "makaan" "makasi" ; - live_V = live_V ; - play_V = play_V2 ; - pull_V = dirV2 (regV "vetää") ; - push_V = dirV2 (regV "työntää") ; - rub_V = dirV2 (regV "hieroa") ; - say_V = regV "sanoa" ; - scratch_V = dirV2 (regV "raapia") ; - see_V = ( see_V2) ; - sew_V = regV "kylvää" ; - sing_V = regV "laulaa" ; - sit_V = regV "istua" ; - sleep_V = sleep_V ; - smell_V = reg2V "haistaa" "haistoi" ; - spit_V = regV "sylkeä" ; - split_V = dirV2 (reg2V "halkaista" "halkaisi") ; - squeeze_V = dirV2 (regV "puristaa") ; - stab_V = dirV2 (regV "pistää") ; - stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään" - "seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät - suck_V = dirV2 (regV "imeä") ; - swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan" - "turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ; - swim_V = reg3V "uida" "uin" "ui" ; - think_V = reg3V "ajatella" "ajattelen" "ajatteli" ; - throw_V = dirV2 (regV "heittää") ; - tie_V = dirV2 (regV "sitoa") ; - turn_V = regV "kääntyä" ; - vomit_V = regV "oksentaa" ; - walk_V = walk_V ; - wash_V = dirV2 (regV "pestä") ; - wipe_V = dirV2 (regV "pyyhkiä") ; - -oper - regA = regADeg ; ---- - - -} diff --git a/examples/bronzeage/SwadeshFre.gf b/examples/bronzeage/SwadeshFre.gf index 63a418830..bffe9e36e 100644 --- a/examples/bronzeage/SwadeshFre.gf +++ b/examples/bronzeage/SwadeshFre.gf @@ -1,259 +1,5 @@ ---# -path=.:../french:../common:../abstract:../../prelude:../romance +--# -path=.:present:prelude -concrete SwadeshFre of Swadesh = CatFre - ** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in { +concrete SwadeshFre of Swadesh = CatFre ** SwadeshI with + (Lang = LangFre) ; - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = { - s = \\g,c => prepCase c ++ genForms "tous" "toutes" ! g ++ "les" ; - n = Pl - } ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = {s = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl} ; - other_Det = { - s = \\g,c => prepCase c ++ "d'autres" ; -- de d'autres - n = Pl - } ; - - left_Ord = mkOrd (regA "gauche") ; - right_Ord = mkOrd (regA "droite") ; - - oper - mkOrd : A -> Ord ; - mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; - - lin - - -- Adverbs - - here_Adv = here_Adv; - there_Adv = there_Adv; - where_IAdv = where_IAdv; - when_IAdv = when_IAdv; - how_IAdv = how_IAdv; - far_Adv = mkAdv "loin" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = dative ; - in_Prep = in_Prep ; - with_Prep = with_Prep ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "correct" ; - dirty_A = dirty_A ; - dry_A = (mkA "sec" "sèche" "secs" "sèches") ; - dull_A = regA "émoussé" ; - full_A = regA "plein" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = regA "lourd" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = regA "proche" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = regA "pourri" ; - round_A = regA "rond" ; - sharp_A = regA "tranchant" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "lisse" ; - straight_A = regA "droite" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "mouillé" ; - white_A = white_A ; - wide_A = regA "large" ; - yellow_A = yellow_A ; - - -- Nouns - - animal_N = regN "animal" ; - ashes_N = regGenN "cendre" masculine ; - back_N = regN "dos" ; - bark_N = regN "écorce" ; - belly_N = regGenN "ventre" masculine ; - bird_N = bird_N; - blood_N = regN "sang" ; - bone_N = regN "os" ; - breast_N = regN "sein" ; --- poitrine - child_N = child_N ; - cloud_N = regGenN "nuage" masculine ; - day_N = regN "jour" ; - dog_N = dog_N ; - dust_N = regN "poussière" ; - ear_N = regN "oreille" ; - earth_N = regN "terre" ; - egg_N = regN "oeuf" ; - eye_N = mkN "oeil" "yeux" masculine ; - fat_N = regN "graisse" ; - father_N = UseN2 father_N2 ; - feather_N = regN "plume" ; - fingernail_N = regGenN "ongle" masculine ; - fire_N = regN "feu" ; - fish_N = fish_N ; - flower_N = regGenN "fleur" feminine ; - fog_N = regN "brouillard" ; - foot_N = regN "pied" ; - forest_N = regGenN "forêt" feminine ; - fruit_N = fruit_N ; - grass_N = regN "herbe" ; - guts_N = regN "entraille" ; - hair_N = regN "cheveu" ; - hand_N = regGenN "main" feminine ; - head_N = regN "tête" ; - heart_N = regN "coeur" ; - horn_N = regGenN "corne" masculine ; - husband_N = regN "mari" ; - ice_N = regN "glace" ; - knee_N = regN "genou" ; - lake_N = lake_N ; - leaf_N = regN "feuille" ; - leg_N = regN "jambe" ; - liver_N = regGenN "foie" masculine ; - louse_N = regN "pou" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = regN "bouche" ; - name_N = regN "nom" ; - neck_N = mkN "cou" "cous" masculine ; - night_N = regGenN "nuit" feminine ; - nose_N = regN "nez" ; - person_N = regN "personne" ; - rain_N = regN "pluie" ; - river_N = river_N ; - road_N = regN "route" ; - root_N = regN "racine" ; - rope_N = regN "corde" ; - salt_N = regN "sel" ; - sand_N = regGenN "sable" masculine ; - sea_N = sea_N ; - seed_N = regN "graine" ; - skin_N = regN "peau" ; - sky_N = mkN "ciel" "cieux" masculine ; - smoke_N = regN "fumée" ; - snake_N = snake_N ; - snow_N = regN "neige" ; - star_N = star_N ; - stick_N = regN "bâton" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = regN "queue" ; - tongue_N = regN "langue" ; - tooth_N = regGenN "dent" feminine ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = regN "femme" ; - wind_N = regN "vent" ; - wing_N = regN "aile" ; - woman_N = woman_N ; - worm_N = regN "ver" ; - year_N = regN "an" ; --- année - - -- Verbs - - bite_V = ( mordre_V2) ; - blow_V = regV "souffler" ; - breathe_V = dirV2 (regV "respirer") ; - burn_V = regV "brûler" ; - come_V = venir_V ; - count_V = dirV2 (regV "conter") ; - cut_V = dirV2 (regV "tailler") ; - die_V = mourir_V ; - dig_V = regV "creuser" ; - drink_V = ( boire_V2) ; - eat_V = dirV2 (regV "manger") ; - fall_V = regV "tomber" ; - fear_V = ( craindre_V2) ; - fight_V = dirV2 (regV "lutter") ; - float_V = regV "flotter" ; - flow_V = regV "couler" ; - fly_V = regV "voler" ; - freeze_V = reg3V "geler" "gèle" "gèlera" ; - give_V = dirdirV3 (regV "donner") ; - hear_V = ( entendre_V2) ; - hit_V = dirV2 (regV "frapper") ; - hold_V = ( tenir_V2) ; - hunt_V = dirV2 (regV "chasser") ; - kill_V = dirV2 (regV "tuer") ; - know_V = ( connaître_V2) ; - laugh_V = rire_V2 ; - lie_V = reflV étendre_V2 ; - live_V = vivre_V2 ; - play_V = regV "jouer" ; - pull_V = dirV2 (regV "tirer") ; - push_V = dirV2 (regV "pousser") ; - rub_V = dirV2 (regV "frotter") ; - say_V = dire_V2 ; - scratch_V = dirV2 (regV "gratter") ; - see_V = ( voir_V2) ; - sew_V = coudre_V2 ; - sing_V = regV "chanter" ; - sit_V = reflV asseoir_V2 ; - sleep_V = dormir_V2 ; - smell_V = v2V ( sentir_V2) ; - spit_V = regV "cracher" ; - split_V = ( fendre_V2) ; - squeeze_V = dirV2 (regV "serrer") ; - stab_V = dirV2 (regV "poignarder") ; - stand_V = reflV (reg3V "lever" "lève" "lèvera") ; - suck_V = dirV2 (regV "sucer") ; - swell_V = regV "gonfler" ; - swim_V = regV "nager" ; - think_V = regV "penser" ; - throw_V = dirV2 (regV "jeter") ; - tie_V = dirV2 (regV "lier") ; - turn_V = regV "tourner" ; - vomit_V = regV "vomir" ; - walk_V = regV "marcher" ; - wash_V = dirV2 (regV "laver") ; - wipe_V = dirV2 (regV "essuyer") ; - -} diff --git a/examples/bronzeage/SwadeshI.gf b/examples/bronzeage/SwadeshI.gf new file mode 100644 index 000000000..01f1a43c2 --- /dev/null +++ b/examples/bronzeage/SwadeshI.gf @@ -0,0 +1,228 @@ +incomplete concrete SwadeshI of Swadesh = open Lang in { + + lincat + MassN = Lang.N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + many_Det = many_Det ; + some_Det = someSg_Det ; +---- few_Det = few_Det ; + + left_Ord = left_Ord ; + right_Ord = right_Ord ; + -- Adverbs + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; + far_Adv = far_Adv ; + -- not : Adv ; -- ? + -- Conjunctions + and_Conj = and_Conj ; + -- Prepositions + in_Prep = in_Prep ; + with_Prep = with_Prep ; + -- Numerals + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + -- Adjectives + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = correct_A ; + dirty_A = dirty_A ; + dry_A = dry_A ; + dull_A = dull_A ; + full_A = full_A ; + good_A = good_A ; + green_A = green_A ; + heavy_A = heavy_A ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = near_A ; + new_A = new_A ; + old_A = old_A ; +---- other_A = other_A ; + red_A = red_A ; + rotten_A = rotten_A ; + round_A = round_A ; + sharp_A = sharp_A ; + short_A = short_A ; + small_A = small_A ; + smooth_A = smooth_A ; + straight_A = straight_A ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = wet_A ; + white_A = white_A ; + wide_A = wide_A ; + yellow_A = yellow_A ; + -- Nouns + animal_N = animal_N ; + ashes_N = ashes_N ; + back_N = back_N ; + bark_N = bark_N ; + belly_N = belly_N ; + bird_N = bird_N; + blood_N = blood_N ; + bone_N = bone_N ; + breast_N = breast_N ; + child_N = child_N ; + cloud_N = cloud_N ; + day_N = day_N ; + dog_N = dog_N ; + dust_N = dust_N ; + ear_N = ear_N ; + earth_N = earth_N ; + egg_N = egg_N ; + eye_N = eye_N ; + fat_N = fat_N ; + feather_N = feather_N ; + fingernail_N = fingernail_N ; + fire_N = fire_N ; + fish_N = fish_N ; + flower_N = flower_N ; + fog_N = fog_N ; + foot_N = foot_N ; + forest_N = forest_N ; + fruit_N = fruit_N ; + grass_N = grass_N ; + guts_N = guts_N ; + hair_N = hair_N ; + hand_N = hand_N ; + head_N = head_N ; + heart_N = heart_N ; + horn_N = horn_N ; + husband_N = man_N ; --- aviomies + ice_N = ice_N ; + knee_N = knee_N ; + lake_N = lake_N ; + leaf_N = leaf_N ; + leg_N = leg_N ; + liver_N = liver_N ; + louse_N = louse_N ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; +---- mother_N = mother_N ; + mountain_N = mountain_N ; + mouth_N = mouth_N ; + name_N = name_N ; + neck_N = neck_N ; + night_N = night_N ; + nose_N = nose_N ; + person_N = person_N ; + rain_N = rain_N ; + river_N = river_N ; + road_N = road_N ; + root_N = root_N ; + rope_N = rope_N ; + salt_N = salt_N ; + sand_N = sand_N ; + sea_N = sea_N ; + seed_N = seed_N ; + skin_N = skin_N ; + sky_N = sky_N ; + smoke_N = smoke_N ; + snake_N = snake_N ; + snow_N = snow_N ; + star_N = star_N ; + stick_N = stick_N ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = tail_N ; + tongue_N = tongue_N ; + tooth_N = tooth_N ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = wife_N ; + wind_N = wind_N ; + wing_N = wing_N ; + woman_N = woman_N ; + worm_N = worm_N ; + year_N = year_N ; + -- Verbs + bite_V2 = bite_V2 ; + blow_V = blow_V ; + breathe_V = breathe_V ; + burn_V = burn_V ; + come_V = come_V ; + count_V2 = count_V2 ; + cut_V2 = cut_V2 ; + die_V = die_V ; + dig_V = dig_V ; + drink_V2 = ( drink_V2) ; + eat_V2 = ( eat_V2) ; + fall_V = fall_V ; + fear_V2 = fear_V2 ; + fight_V2 = fight_V2 ; + float_V = float_V ; + flow_V = flow_V ; + fly_V = fly_V ; + freeze_V = freeze_V ; + give_V3 = give_V3 ; + hear_V2 = hear_V2 ; + hit_V2 = hit_V2 ; + hold_V2 = hold_V2 ; + hunt_V2 = hunt_V2 ; + kill_V2 = kill_V2 ; + know_V2 = know_V2 ; + laugh_V = laugh_V ; + lie_V = lie_V ; + live_V = live_V ; + play_V = play_V2 ; + pull_V2 = pull_V2 ; + push_V2 = push_V2 ; + rub_V2 = rub_V2 ; + say_V = say_VS ; + scratch_V2 = scratch_V2 ; + see_V2 = ( see_V2) ; + sew_V = sew_V ; + sing_V = sing_V ; + sit_V = sit_V ; + sleep_V = sleep_V ; + smell_V = smell_V ; + spit_V = spit_V ; + split_V2 = split_V2 ; + squeeze_V2 = squeeze_V2 ; + stab_V2 = stab_V2 ; + stand_V = stand_V ; + suck_V2 = suck_V2 ; + swell_V = swell_V ; + swim_V = swim_V ; + think_V = think_V ; + throw_V2 = throw_V2 ; + tie_V2 = tie_V2 ; + turn_V = turn_V ; + vomit_V = vomit_V ; + walk_V = walk_V ; + wash_V2 = wash_V2 ; + wipe_V2 = wipe_V2 ; + + + +} diff --git a/examples/bronzeage/SwadeshIta.gf b/examples/bronzeage/SwadeshIta.gf index e04eec40b..b84295867 100644 --- a/examples/bronzeage/SwadeshIta.gf +++ b/examples/bronzeage/SwadeshIta.gf @@ -1,258 +1,5 @@ ---# -path=.:../italian:../common:../abstract:../../prelude:../romance +--# -path=.:present:prelude -concrete SwadeshIta of Swadesh = CatIta - ** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in { +concrete SwadeshIta of Swadesh = CatIta ** SwadeshI with + (Lang = LangIta) ; - lincat - MassN = N ; - - lin - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = { - s = \\g,c => prepCase c ++ genForms ["tutti i"] ["tutte le"] ! g ; - n = Pl - } ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = {s = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl} ; - other_Det = { - s = \\g,c => prepCase c ++ genForms "altri" "altre" ! g ; - n = Pl - } ; - - left_Ord = mkOrd (regA "sinistro") ; - right_Ord = mkOrd (regA "destro") ; - - oper - mkOrd : A -> Ord ; - mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; - - lin - - -- Adverbs - - here_Adv = here_Adv; - there_Adv = there_Adv; - where_IAdv = where_IAdv; - when_IAdv = when_IAdv; - how_IAdv = how_IAdv; - far_Adv = mkAdv "lontano" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = dative ; - in_Prep = in_Prep ; - with_Prep = with_Prep ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "corretto" ; - dirty_A = dirty_A ; - dry_A = regA "secco" ; - dull_A = regA "noioso" ; - full_A = regA "pieno" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = regA "pesante" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = regA "vicino" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = regA "marcio" ; - round_A = regA "rotondo" ; - sharp_A = regA "aguzzo" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "liscio" ; - straight_A = regA "diretto" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "bagnato" ; - white_A = white_A ; - wide_A = regA "largo" ; - yellow_A = yellow_A ; - - -- Nouns - - animal_N = regN "animale" ; - ashes_N = regN "cenere" ; - back_N = regN "schiena" ; - bark_N = regN "corteccia" ; - belly_N = regN "pancia" ; - bird_N = bird_N; - blood_N = regN "sangue" ; - bone_N = regN "osso" ; - breast_N = regN "seno" ; - child_N = child_N ; - cloud_N = regN "nuvola" ; - day_N = regN "giorno" ; - dog_N = dog_N ; - dust_N = regN "polvere" ; - ear_N = regN "orecchio" ; - earth_N = regN "terra" ; - egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl - eye_N = regN "occhio" ; - fat_N = regN "grasso" ; - father_N = UseN2 father_N2 ; - feather_N = regN "piuma" ; - fingernail_N = regN "unghia" ; - fire_N = regN "fuoco" ; - fish_N = fish_N ; - flower_N = regN "fiore" ; - fog_N = regN "nebbia" ; - foot_N = regN "piede" ; - forest_N = regN "bosco" ; - fruit_N = fruit_N ; - grass_N = regN "erba" ; - guts_N = regN "intestino" ; - hair_N = regN "capello" ; - hand_N = femN (regN "mano") ; - head_N = regN "testa" ; - heart_N = regN "cuore" ; - horn_N = regN "corno" ; - husband_N = regN "marito" ; - ice_N = regN "ghiaccio" ; - knee_N = regN "ginocchio" ; - lake_N = lake_N ; - leaf_N = regN "foglia" ; - leg_N = regN "gamba" ; - liver_N = regN "fegato" ; - louse_N = regN "pidocchio" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = regN "bocca" ; - name_N = regN "nome" ; - neck_N = regN "collo" ; - night_N = femN (regN "notte") ; - nose_N = regN "naso" ; - person_N = regN "persona" ; - rain_N = regN "pioggia" ; - river_N = river_N ; - road_N = regN "strada" ; - root_N = femN (regN "radice") ; - rope_N = regN "corda" ; - salt_N = regN "sale" ; - sand_N = regN "sabbia" ; - sea_N = sea_N ; - seed_N = regN "seme" ; - skin_N = femN (regN "pelle") ; - sky_N = regN "cielo" ; - smoke_N = regN "fumo" ; - snake_N = snake_N ; - snow_N = femN (regN "neve") ; - star_N = star_N ; - stick_N = regN "bastone" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = regN "coda" ; - tongue_N = regN "lingua" ; - tooth_N = regN "dente" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = regN "donna" ; - wind_N = regN "vento" ; - wing_N = regN "ala" ; - woman_N = woman_N ; - worm_N = regN "verme" ; - year_N = regN "anno" ; - - -- Verbs - - bite_V = dirV2 (verboV (esplodere_51 "mordere")) ; - blow_V = regV "soffiare" ; - breathe_V = dirV2 (regV "respirare") ; - burn_V = regV "bruciare" ; - come_V = come_V ; - count_V = dirV2 (regV "contare") ; - cut_V = dirV2 (regV "tagliare") ; - die_V = die_V ; - dig_V = regV "scavare" ; - drink_V = dirV2 (drink_V2) ; - eat_V = dirV2 (regV "mangiare") ; - fall_V = essereV (verboV (cadere_28 "cadere")) ; - fear_V = dirV2 (fear_VS) ; - fight_V = dirV2 (regV "lottare") ; - float_V = regV "galleggiare" ; - flow_V = verboV (finire_100 "fluire") ; - fly_V = regV "volare" ; - freeze_V = regV "gelare" ; - give_V = dirdirV3 (verboV (dare_15 "dare")) ; - hear_V = dirV2 (hear_V2) ; - hit_V = dirV2 (regV "colpire") ; - hold_V = dirV2 (verboV (venire_110 "tenire")) ; - hunt_V = dirV2 (regV "cacciare") ; - kill_V = dirV2 (verboV (ridere_74 "uccidere")) ; - know_V = dirV2 (know_V2) ; - laugh_V = verboV (ridere_74 "ridere") ; - lie_V = verboV (piacere_64 "giacere") ; - live_V = live_V ; - play_V = regV "giocare" ; - pull_V = dirV2 (regV "tirare") ; - push_V = dirV2 (verboV (cingere_31 "spingere")) ; - rub_V = dirV2 (regV "strofinare") ; - say_V = say_VS ; - scratch_V = dirV2 (regV "graffiare") ; - see_V = dirV2 (see_V2) ; - sew_V = verboV (cucire_103 "cucire") ; - sing_V = regV "cantare" ; - sit_V = reflV (verboV (sedere_84 "sedere")) ; - sleep_V = sleep_V ; - smell_V = verboV (sentire_99 "sentire") ; - spit_V = regV "sputare" ; - split_V = dirV2 (verboV (ridere_74 "dividere")) ; - squeeze_V = dirV2 (verboV (temere_20 "spremere")) ; - stab_V = dirV2 (regV "pugnalare") ; - stand_V = verboV (stare_16 "stare") ; ---- in piedi - suck_V = dirV2 (regV "succhiare") ; - swell_V = regV "gonfiare" ; - swim_V = regV "nuotare" ; - think_V = regV "pensare" ; - throw_V = dirV2 (regV "gettare") ; - tie_V = dirV2 (regV "legare") ; - turn_V = regV "tornare" ; - vomit_V = regV "vomitare" ; - walk_V = regV "camminare" ; - wash_V = dirV2 (regV "lavare") ; - wipe_V = dirV2 (regV "asciugare") ; - -} diff --git a/examples/bronzeage/SwadeshNor.gf b/examples/bronzeage/SwadeshNor.gf index 6b160146c..5d392462d 100644 --- a/examples/bronzeage/SwadeshNor.gf +++ b/examples/bronzeage/SwadeshNor.gf @@ -1,252 +1,5 @@ ---# -path=.:../norwegian:../common:../abstract:../scandinavian:../../prelude +--# -path=.:present:prelude -concrete SwadeshNor of Swadesh = CatNor - ** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in { +concrete SwadeshNor of Swadesh = CatNor ** SwadeshI with + (Lang = LangNor) ; - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = {s = \\_,_ => "alle" ; n = Pl ; det = DDef Indef} ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ; - other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ; - - left_Ord = {s = "venstre" ; isDet = True} ; - right_Ord = {s = "høyre" ; isDet = True} ; - - -- Adverbs - - here_Adv = here_Adv ; - there_Adv = there_Adv ; - where_IAdv = where_IAdv ; - when_IAdv = when_IAdv ; - how_IAdv = how_IAdv ; - - far_Adv = mkAdv "fjern" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = ss "ved" ; - in_Prep = ss "i" ; - with_Prep = ss "med" ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "riktig" ; - dirty_A = dirty_A ; - dry_A = mk2A "tørr" "tørt" ; - dull_A = regA "sløv" ; - full_A = regA "full" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = irregADeg "tung" "tyngre" "tyngst" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = mk3ADeg "råtten" "råttent" "råtne" ; - round_A = regA "rund" ; - sharp_A = mk2A "kvass" "kvast" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = mk2A "slett" "slett" ; - straight_A = regA "rak" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "våt" ; - white_A = white_A ; - wide_A = regA "bred" ; - yellow_A = yellow_A ; - - - -- Nouns - - animal_N = mk2N "dyr" "dyret" ; - ashes_N = mk2N "aske" "aska" ; - back_N = mk2N "rygg" "ryggen" ; - bark_N = mk2N "bark" "barken" ; - belly_N = mk2N "mage" "magen" ; - bird_N = bird_N ; - blood_N = mk2N "blod" "blodet" ; - bone_N = mk2N "bein" "beinet" ; - breast_N = mk2N "bryst" "brystet" ; - child_N = child_N ; - cloud_N = mk2N "sky" "skya" ; - day_N = mk2N "dag" "dagen" ; - dog_N = dog_N ; - dust_N = mk2N "støv" "støvet" ; - ear_N = mk2N "øre" "øret" ; - earth_N = mk2N "jord" "jorda" ; - egg_N = mk2N "egg" "egget" ; - eye_N = mkN "øye" "øyet" "øyne" "øynene" ; - fat_N = mk2N "fett" "fettet" ; - father_N = mkN "far" "faren" "fedre" "fedrene" ; --- father_N = UseN2 father_N2 ; - feather_N = mk2N "fjør" "fjøra" ; - fingernail_N = mk2N "negl" "neglen" ; - fire_N = mk2N "ild" "ilden" ; - fish_N = fish_N ; - flower_N = mk2N "blomst" "blomsten" ; - fog_N = mk2N "tåke" "tåka" ; - foot_N = mk2N "fot" "føtter" ; - forest_N = mk2N "skog" "skogen" ; - fruit_N = fruit_N ; - grass_N = mk2N "gras" "graset" ; - guts_N = mk2N "tarm" "tarmen" ; ---- involler - hair_N = mk2N "hår" "håret" ; - hand_N = mk2N "hånd" "hånden" ; - - head_N = mk2N "hode" "hodet" ; - heart_N = mk2N "hjerte" "hjertet" ; - horn_N = mk2N "horn" "hornet" ; - husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ; - ice_N = mk2N "is" "isen" ; - knee_N = mkN "kne" "kneet" "knær" "knæne" ; - lake_N = lake_N ; - leaf_N = mk2N "løv" "løvet" ; - leg_N = mk2N "bein" "beinet" ; - liver_N = mkN "lever" "leveren" "levrer" "levrene" ; - louse_N = mk2N "lus" "lusa" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = mkN "mor" "moren" "mødre" "mødrene" ; --- mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = mk2N "munn" "munnen" ; - name_N = mk2N "navn" "navnet" ; - neck_N = mk2N "nakke" "nakken" ; - night_N = mkN "natt" "natta" "netter" "nettene" ; - nose_N = mk2N "nese" "nesen" ; - person_N = mk2N "person" "personen" ; - rain_N = mk2N "regn" "regnet" ; - river_N = river_N ; - road_N = mk2N "vei" "veien" ; - root_N = mkN "rot" "rota" "røtter" "røttene" ; - rope_N = mk2N "tau" "tauet" ; - salt_N = mk2N "salt" "saltet" ; - sand_N = mk2N "sand" "sanden" ; - sea_N = sea_N ; - seed_N = mk2N "frø" "frøet" ; - skin_N = mk2N "skinn" "skinnet" ; - sky_N = mkN "himmel" "himmelen" "himler" "himlene" ; - smoke_N = mk2N "røyk" "røyken" ; - snake_N = snake_N ; - snow_N = mk2N "snø" "snøen" ; - star_N = star_N ; - stick_N = mk2N "pinne" "pinnen" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = mk2N "hale" "halen" ; - tongue_N = mk2N "tunge" "tunga" ; - tooth_N = mkN "tann" "tanna" "tenner" "tennene" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = mk2N "kone" "kona" ; - wind_N = mk2N "vind" "vinden" ; - wing_N = mk2N "vinge" "vingen" ; - woman_N = woman_N ; - worm_N = mk2N "mark" "marken" ; - year_N = mk2N "år" "året" ; - - -- Verbs - - bite_V = dirV2 (IrregNor.bite_V) ; - blow_V = mk2V "blåse" "blåste" ; - breathe_V = dirV2 (regV "puste") ; - burn_V = brenne_V ; - come_V = komme_V ; - count_V = dirV2 (regV "regne") ; - cut_V = dirV2 (skjære_V) ; - die_V = dø_V ; - dig_V = mk2V "grave" "gravde" ; - drink_V = dirV2 (drikke_V) ; - eat_V = dirV2 (mk2V "spise" "spiste") ; - fall_V = falle_V ; - fear_V = dirV2 (regV "frykte") ; - fight_V = dirV2 (slåss_V) ; - float_V = flyte_V ; - flow_V = renne_V ; - fly_V = fly_V ; - freeze_V = fryse_V ; - give_V = dirdirV3 gi_V ; - hear_V = dirV2 (mk2V "høre" "hørde") ; - hit_V = dirV2 (slå_V) ; - hold_V = dirV2 (holde_V) ; - hunt_V = dirV2 (regV "jakte") ; - kill_V = dirV2 (mk2V "drepe" "drepte") ; - know_V = dirV2 (vite_V) ; - laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ; - lie_V = ligge_V ; - live_V = mk2V "leve" "levde" ; - play_V = mk2V "leke" "lekte" ; - pull_V = dirV2 (dra_V) ; - push_V = dirV2 (irregV "skyve" "skjøv" "skjøvet") ; - rub_V = dirV2 (gni_V) ; - say_V = si_V ; - scratch_V = dirV2 (regV "klø") ; - see_V = dirV2 (se_V) ; - sew_V = mk2V "sy" "sydde" ; - sing_V = synge_V ; - sit_V = sitte_V ; - sleep_V = sove_V ; - smell_V = regV "lukte" ; - spit_V = regV "spytte" ; - split_V = dirV2 (mk2V "kløyve" "kløyvde") ; - squeeze_V = dirV2 (mk2V "klemme" "klemte") ; - stab_V = dirV2 (stikke_V) ; - stand_V = stå_V ; - suck_V = dirV2 (suge_V) ; - swell_V = partV (regV "hovne") "opp" ; - swim_V = regV "simme" ; - think_V = mk2V "tenke" "tenkte" ; - throw_V = dirV2 (regV "kaste") ; - tie_V = dirV2 (regV "knytte") ; - turn_V = mk2V "vende" "vendte" ; - vomit_V = partV (regV "kaste") "opp" ; - walk_V = gå_V ; - wash_V = dirV2 (regV "vaske") ; - wipe_V = dirV2 (regV "tørke") ; - -} diff --git a/examples/bronzeage/SwadeshSpa.gf b/examples/bronzeage/SwadeshSpa.gf index 9ada657f7..48de83341 100644 --- a/examples/bronzeage/SwadeshSpa.gf +++ b/examples/bronzeage/SwadeshSpa.gf @@ -1,262 +1,5 @@ ---# -path=.:../spanish:../common:../abstract:../../prelude:../romance +--# -path=.:present:prelude -concrete SwadeshSpa of Swadesh = CatSpa - ** open PhonoSpa, MorphoSpa, LangSpa, ParadigmsSpa, BeschSpa, Prelude in { +concrete SwadeshSpa of Swadesh = CatSpa ** SwadeshI with + (Lang = LangSpa) ; --- words contributed by Ana Bove, May 2005 - - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = { - s = \\g,c => prepCase c ++ genForms ["todos los"] ["todas las"] ! g ; - n = Pl - } ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = {s = \\g,c => prepCase c ++ genForms "pocos" "pocas" ! g ; n = Pl} ; - other_Det = { - s = \\g,c => prepCase c ++ genForms "otros" "otras" ! g ; - n = Pl - } ; - - left_Ord = mkOrd (regA "izquierda") ; - right_Ord = mkOrd (regA "derecha") ; - - oper - mkOrd : A -> Ord ; - mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; - - lin - - -- Adverbs - - here_Adv = here_Adv; - there_Adv = there_Adv; - where_IAdv = where_IAdv; - when_IAdv = when_IAdv; - how_IAdv = how_IAdv; - far_Adv = mkAdv "lejos" ; ----? - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = dative ; - in_Prep = in_Prep ; - with_Prep = with_Prep ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "correcto" ; - dirty_A = dirty_A ; - dry_A = regA "seco" ; - dull_A = regA "desafilado" ; - full_A = regA "lleno" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = regA "pesado" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = regA "cerca" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = regA "podrido" ; - round_A = regA "redondo" ; - sharp_A = regA "filoso" ; -- afilado, puntiagudo - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "liso" ; -- suave - straight_A = regA "directo" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "mojado" ; - white_A = white_A ; - wide_A = regA "ancho" ; -- extenso - yellow_A = yellow_A ; - - -- Nouns - - animal_N = regN "animal" ; -- masc (sometimes fem when adj) - ashes_N = regN "ceniza" ; - back_N = regN "espalda" ; - bark_N = regN "corteza" ; - belly_N = regN "panza" ; -- barriga - bird_N = bird_N; - blood_N = femN (regN "sangre") ; - bone_N = regN "hueso" ; - breast_N = regN "seno" ; -- pecho - child_N = child_N ; - cloud_N = femN (regN "nube") ; - day_N = mascN (regN "día") ; - dog_N = dog_N ; - dust_N = regN "polvo" ; - ear_N = regN "oreja" ; - earth_N = regN "tierra" ; - egg_N = regN "huevo" ; - eye_N = regN "ojo" ; - fat_N = regN "grasa" ; - father_N = UseN2 father_N2 ; - feather_N = regN "pluma" ; - fingernail_N = regN "uña" ; - fire_N = regN "fuego" ; - fish_N = fish_N ; - flower_N = femN (regN "flor") ; - fog_N = regN "niebla" ; - foot_N = regN "pie" ; - forest_N = regN "bosque" ; - fruit_N = fruit_N ; - grass_N = regN "pasto" ; -- hierba, césped (masc) - guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas - hair_N = regN "cabello" ; -- pelo - hand_N = femN (regN "mano") ; - head_N = regN "cabeza" ; - heart_N = mkN "corazón" "corazones" masculine ; - horn_N = regN "cuerno" ; - husband_N = regN "marido" ; -- esposo - ice_N = regN "hielo" ; - knee_N = regN "rodilla" ; - lake_N = lake_N ; - leaf_N = regN "hoja" ; - leg_N = regN "pierna" ; - liver_N = regN "hígado" ; - louse_N = regN "piojo" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = regN "boca" ; - name_N = regN "nombre" ; - neck_N = regN "cuello" ; - night_N = femN (regN "noche") ; - nose_N = femN (regN "nariz") ; - person_N = regN "persona" ; - rain_N = regN "lluvia" ; - river_N = river_N ; - road_N = femN (regN "calle") ; -- camino - root_N = femN (regN "raíz") ; - rope_N = regN "cuerda" ; - salt_N = femN (regN "sal") ; - sand_N = regN "arena" ; - sea_N = sea_N ; - seed_N = regN "semilla" ; - skin_N = femN (regN "piel") ; -- fem - sky_N = regN "cielo" ; - smoke_N = regN "humo" ; - snake_N = snake_N ; - snow_N = femN (regN "nieve") ; -- fem - star_N = star_N ; - stick_N = mkN "bastón" "bastones" masculine ; -- palo - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = regN "cola" ; - tongue_N = regN "lengua" ; - tooth_N = regN "diente" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = regN "esposa" ; - wind_N = regN "viento" ; - wing_N = regN "ala" ; - woman_N = woman_N ; - worm_N = regN "gusano" ; -- lombriz (fem) - year_N = regN "año" ; - - -- Verbs - - bite_V = dirV2 (verboV (morder_50b "morder")) ; - blow_V = regV "soplar" ; - breathe_V = dirV2 (regV "respirar") ; - burn_V = regV "quemar" ; - come_V = come_V ; - count_V = dirV2 (verboV (contar_38b "contar")) ; - cut_V = dirV2 (regV "cortar") ; - die_V = die_V ; - dig_V = regV "escarbar" ; - drink_V = dirV2 (regV "tomar") ; - eat_V = dirV2 (regV "comer") ; - fall_V = verboV (caer_20 "caer") ; - fear_V = dirV2 (fear_VS) ; - fight_V = dirV2 (regV "pelear") ; - float_V = regV "flotar" ; - flow_V = verboV (influir_45 "fluir") ; -- circular - fly_V = regV "volar" ; - freeze_V = regV "congelar" ; - give_V = dirdirV3 (verboV (dar_27 "dar")) ; - hear_V = dirV2 (hear_V2) ; - hit_V = dirV2 (regV "golpear") ; - hold_V = dirV2 (verboV (tener_4 "tener")) ; - hunt_V = dirV2 (regV "cazar") ; - kill_V = dirV2 (regV "matar") ; - know_V = dirV2 (know_V2) ; - laugh_V = regV "reir" ; ----V reír_67 - lie_V = reflV (regV "acostar") ; -- "acostarse" - live_V = live_V ; - play_V = regV "jugar" ; - pull_V = dirV2 (regV "tirar") ; - push_V = dirV2 (regV "empujar") ; - rub_V = dirV2 (regV "resfregar") ; - say_V = say_VS ; - scratch_V = dirV2 (regV "rascar") ; - see_V = dirV2 (see_V2) ; - sew_V = regV "coser" ; - sing_V = regV "cantar" ; - sit_V = reflV (regV "sentar") ; - sleep_V = sleep_V ; - smell_V = verboV (oler_52 "oler") ; - spit_V = regV "escupir" ; - split_V = dirV2 (regV "separar") ; -- dividir,) ; - squeeze_V = dirV2 (regV "exprimir") ; - stab_V = dirV2 (regV "apuñalar") ; - stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ; - suck_V = dirV2 (regV "chupar") ; - swell_V = regV "tragar" ; - swim_V = regV "nadar" ; - think_V = regV "pensar" ; - throw_V = dirV2 (regV "tirar") ; - tie_V = dirV2 (regV "atar") ; - turn_V = regV "doblar" ; - vomit_V = regV "vomitar" ; - walk_V = regV "caminar" ; - wash_V = dirV2 (regV "lavar") ; - wipe_V = dirV2 (regV "secar") ; - -} diff --git a/examples/bronzeage/SwadeshSwe.gf b/examples/bronzeage/SwadeshSwe.gf index 0bcaa9879..2a82b2bc4 100644 --- a/examples/bronzeage/SwadeshSwe.gf +++ b/examples/bronzeage/SwadeshSwe.gf @@ -1,252 +1,5 @@ --# -path=.:present:prelude -concrete SwadeshSwe of Swadesh = CatSwe - ** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in { +concrete SwadeshSwe of Swadesh = CatSwe ** SwadeshI with + (Lang = LangSwe) ; - lincat - MassN = N ; - - lin - - -- Pronouns - - i_NP = i_Pron ; - youSg_NP = youSg_Pron ; - he_NP = he_Pron ; - we_NP = we_Pron ; - youPl_NP = youPl_Pron ; - they_NP = they_Pron ; - whoPl_IP = whoPl_IP ; - whoSg_IP = whoSg_IP ; - whatPl_IP = whatPl_IP ; - whatSg_IP = whatSg_IP ; - - -- Determiners - - this_Det = DetSg (SgQuant this_Quant) NoOrd ; - that_Det = DetSg (SgQuant that_Quant) NoOrd ; - all_Det = {s = \\_,_ => "alla" ; n = Pl ; det = DDef Indef} ; - many_Det = many_Det ; - some_Det = someSg_Det ; - few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ; - other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ; - - left_Ord = {s = "vänstra" ; isDet = True} ; - right_Ord = {s = "högra" ; isDet = True} ; - - -- Adverbs - - here_Adv = here_Adv ; - there_Adv = there_Adv ; - where_IAdv = where_IAdv ; - when_IAdv = when_IAdv ; - how_IAdv = how_IAdv ; - far_Adv = mkAdv "långt" ; - - -- not : Adv ; -- ? - - -- Conjunctions - - and_Conj = and_Conj ; - - -- Prepositions - - at_Prep = ss "vid" ; - in_Prep = ss "i" ; - with_Prep = ss "med" ; - - -- Numerals - - one_Det = DetSg one_Quant NoOrd ; - two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; - three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; - four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; - five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; - - -- Adjectives - - bad_A = bad_A ; - big_A = big_A ; - black_A = black_A ; - cold_A = cold_A ; - correct_A = regA "riktig" ; - dirty_A = dirty_A ; - dry_A = regA "torr" ; - dull_A = mk2A "slö" "slött"; - full_A = regA "full" ; - good_A = good_A ; - green_A = green_A ; - heavy_A = irregA "tung" "tyngre" "tyngst" ; - long_A = long_A ; - narrow_A = narrow_A ; - near_A = mkA "nära" "nära" "nära" "nära" - "närmare" "närmast" "närmaste" ; - new_A = new_A ; - old_A = old_A ; - red_A = red_A ; - rotten_A = mk3A "rutten" "ruttet" "ruttna" ; - round_A = regA "rund" ; - sharp_A = regA "vass" ; - short_A = short_A ; - small_A = small_A ; - smooth_A = regA "slät" ; - straight_A = regA "rak" ; - thick_A = thick_A ; - thin_A = thin_A ; - warm_A = warm_A ; - wet_A = regA "våt" ; - white_A = white_A ; - wide_A = mk2A "bred" "brett" ; - yellow_A = yellow_A ; - - - -- Nouns - - animal_N = mk2N "djur" "djur" ; - ashes_N = mk2N "aska" "askor" ; - back_N = mk2N "rygg" "ryggar" ; - bark_N = mk2N "bark" "barkar" ; - belly_N = mk2N "mage" "magar" ; - bird_N = bird_N ; - blood_N = mk2N "blod" "blod" ; - bone_N = mk2N "ben" "ben" ; - breast_N = mk2N "bröst" "bröst" ; - child_N = child_N ; - cloud_N = mk2N "moln" "moln" ; - day_N = mk2N "dag" "dagar" ; - dog_N = dog_N ; - dust_N = mk2N "damm" "damm" ; - ear_N = mkN "öra" "örat" "öron" "öronen" ; - earth_N = mk2N "jord" "jordar" ; - egg_N = mk2N "ägg" "ägg" ; - eye_N = mkN "öga" "ögat" "ögon" "ögonen" ; - fat_N = mk2N "fett" "fett" ; - father_N = (mkN "far" "fadern" "fäder" "fäderna") ; --- father_N = UseN2 father_N2 ; - feather_N = mk2N "fjäder" "fjädrar" ; - fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna"; - fire_N = mk2N "eld" "eldar" ; - fish_N = fish_N ; - flower_N = mk2N "blomma" "blommor" ; - fog_N = mk2N "dimma" "dimmor" ; - foot_N = mk2N "fot" "fötter" ; - forest_N = mk2N "skog" "skogar" ; - fruit_N = fruit_N ; - grass_N = mk2N "gräs" "gräs" ; - guts_N = mk2N "inälva" "inälvor" ; - hair_N = mk2N "hår" "hår" ; - hand_N = mk2N "hand" "händer" ; - head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ; - heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ; - horn_N = mk2N "horn" "horn" ; - husband_N = (mk2N "make" "makar") ; - ice_N = mk2N "is" "isar" ; - knee_N = mkN "knä" "knäet" "knän" "knäna" ; - lake_N = lake_N ; - leaf_N = mk2N "löv" "löv" ; - leg_N = mk2N "ben" "ben" ; - liver_N = mkN "lever" "levern" "levrar" "levrarna"; - louse_N = mkN "lus" "lusen" "löss" "lössen" ; - man_N = man_N ; - meat_N = meat_N ; - moon_N = moon_N ; - mother_N = mkN "mor" "modern" "mödrar" "mödrarna" ; --- mother_N = UseN2 mother_N2 ; - mountain_N = mountain_N ; - mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ; - name_N = mk2N "namn" "namn" ; - neck_N = mk2N "nacke" "nackar" ; - night_N = mk2N "natt" "nätter" ; - nose_N = mk2N "näsa" "näsor" ; - person_N = mk2N "person" "personer" ; - rain_N = mk2N "regn" "regn" ; - river_N = river_N ; - road_N = mk2N "väg" "vägar" ; - root_N = mk2N "rot" "rötter" ; - rope_N = mk2N "rep" "rep" ; - salt_N = mkN "salt" "saltet" "salter" "salterna"; - sand_N = mk2N "sand" "sander" ; - sea_N = sea_N ; - seed_N = mkN "frö" "fröet" "frön" "fröna" ; - skin_N = mk2N "skinn" "skinn" ; - sky_N = mk2N "himmel" "himlar" ; - smoke_N = mk2N "rök" "rökar" ; - snake_N = snake_N ; - snow_N = mkN "snö" "snön" "snöer" "snöerna" ; - star_N = star_N ; - stick_N = mk2N "pinne" "pinnar" ; - stone_N = stone_N ; - sun_N = sun_N ; - tail_N = mk2N "svans" "svansar" ; - tongue_N = mk2N "tunga" "tungor" ; - tooth_N = mk2N "tand" "tänder" ; - tree_N = tree_N ; - water_N = water_N ; - wife_N = mk2N "fru" "fruar" ; - wind_N = mk2N "vind" "vindar" ; - wing_N = mk2N "vinge" "vingar" ; - woman_N = woman_N ; - worm_N = mk2N "mask" "maskar" ; - year_N = mk2N "år" "år" ; - - -- Verbs - - bite_V = dirV2 (bita_V) ; - blow_V = mk2V "blåsa" "blåste" ; - breathe_V = dirV2 (depV (regV "anda")) ; - burn_V = brinna_V ; -- FIXME: bränna? - come_V = komma_V ; - count_V = dirV2 (regV "räkna") ; - cut_V = dirV2 (skära_V) ; - die_V = dö_V ; - dig_V = mk2V "gräva" "grävde" ; - drink_V = dirV2 (dricka_V) ; - eat_V = dirV2 (äta_V) ; - fall_V = falla_V ; - fear_V = dirV2 (regV "frukta") ; - -- FIXME: passive forms are very strange - fight_V = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ; - float_V = flyta_V ; - flow_V = rinna_V ; - fly_V = flyga_V ; - freeze_V = frysa_V ; - give_V = dirV3 giva_V "till"; - hear_V = dirV2 (mk2V "höra" "hörde") ; - hit_V = dirV2 (slå_V) ; - hold_V = dirV2 (hålla_V) ; - hunt_V = dirV2 (regV "jaga") ; - kill_V = dirV2 (regV "döda") ; - know_V = dirV2 (känna_V) ; - laugh_V = regV "skratta" ; - lie_V = ligga_V ; - live_V = leva_V ; - play_V = mk2V "leka" "lekte" ; - pull_V = dirV2 (draga_V) ; - push_V = dirV2 (mk2V "trycka" "tryckte") ; - rub_V = dirV2 (gnida_V) ; - say_V = säga_V ; - scratch_V = dirV2 (regV "klia") ; - see_V = dirV2 (se_V) ; - sew_V = sy_V ; - sing_V = sjunga_V ; - sit_V = sitta_V ; - sleep_V = sova_V ; - smell_V = regV "lukta" ; - spit_V = regV "spotta" ; - split_V = dirV2 (klyva_V) ; - squeeze_V = dirV2 (klämma_V) ; - stab_V = dirV2 (sticka_V) ; - stand_V = stå_V ; - suck_V = dirV2 (suga_V) ; - swell_V = svälla_V ; - swim_V = regV "simma" ; - think_V = mk2V "tänka" "tänkte" ; - throw_V = dirV2 (regV "kasta") ; - tie_V = dirV2 (knyta_V) ; - turn_V = vända_V ; - vomit_V = mk2V "spy" "spydde" ; - walk_V = gå_V ; - wash_V = dirV2 (regV "tvätta") ; - wipe_V = dirV2 (regV "torka") ; - -} diff --git a/examples/bronzeage/old/SwadeshEng.gf b/examples/bronzeage/old/SwadeshEng.gf new file mode 100644 index 000000000..b79111b11 --- /dev/null +++ b/examples/bronzeage/old/SwadeshEng.gf @@ -0,0 +1,243 @@ +concrete SwadeshEng of Swadesh = CatEng + ** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in { + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Predet = all_Predet ; + many_Det = many_Det ; + some_Det = someSg_Det ; + +-- left_Ord = left_Ord ; +-- right_Ord = right_Ord ; + + -- Adverbs + + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; +-- far_Adv = far_Adv ; + + -- "not" treated in Verb + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + +--- at_Prep = ss "at" ; + in_Prep = in_Prep ; + with_Prep = with_Prep ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = (regA "correct") ; + dirty_A = dirty_A ; + dry_A = regA "dry" ; + dull_A = regA "dull" ; + full_A = regA "full" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = regA "heavy" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = regA "near" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = (regA "rotten") ; + round_A = regA "round" ; + sharp_A = regA "sharp" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "smooth" ; + straight_A = regA "straight" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "wet" ; ---- + white_A = white_A ; + wide_A = regA "wide" ; + yellow_A = yellow_A ; + + -- Nouns + + animal_N = regN "animal" ; + ashes_N = regN "ash" ; -- FIXME: plural only? + back_N = regN "back" ; + bark_N = regN "bark" ; + belly_N = regN "belly" ; + bird_N = bird_N; + blood_N = regN "blood" ; + bone_N = regN "bone" ; + breast_N = regN "breast" ; + child_N = child_N ; + cloud_N = regN "cloud" ; + day_N = regN "day" ; + dog_N = dog_N ; + dust_N = regN "dust" ; + ear_N = regN "ear" ; + earth_N = regN "earth" ; + egg_N = regN "egg" ; + eye_N = regN "eye" ; + fat_N = regN "fat" ; + father_N = UseN2 father_N2 ; + feather_N = regN "feather" ; + fingernail_N = regN "fingernail" ; + fire_N = regN "fire" ; + fish_N = fish_N ; + flower_N = regN "flower" ; + fog_N = regN "fog" ; + foot_N = mk2N "foot" "feet" ; + forest_N = regN "forest" ; + fruit_N = fruit_N ; + 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" ; + husband_N = genderN masculine (regN "husband") ; + ice_N = regN "ice" ; + knee_N = regN "knee" ; + lake_N = lake_N ; + leaf_N = mk2N "leaf" "leaves" ; + leg_N = regN "leg" ; + liver_N = regN "liver" ; + louse_N = mk2N "louse" "lice" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = regN "mouth" ; + name_N = regN "name" ; + neck_N = regN "neck" ; + night_N = regN "night" ; + nose_N = regN "nose" ; + person_N = genderN human (regN "person") ; + rain_N = regN "rain" ; + river_N = river_N ; + road_N = regN "road" ; + root_N = regN "root" ; + rope_N = regN "rope" ; + salt_N = regN "salt" ; + sand_N = regN "sand" ; + sea_N = sea_N ; + seed_N = regN "seed" ; + skin_N = regN "skin" ; + sky_N = regN "sky" ; + smoke_N = regN "smoke" ; + snake_N = snake_N ; + snow_N = regN "snow" ; + star_N = star_N ; + stick_N = regN "stick" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = regN "tail" ; + tongue_N = regN "tongue" ; + tooth_N = mk2N "tooth" "teeth" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = genderN feminine (mk2N "wife" "wives") ; + wind_N = regN "wind" ; + wing_N = regN "wing" ; + woman_N = woman_N ; + worm_N = regN "worm" ; + year_N = regN "year" ; + + -- Verbs + + bite_V2 = dirV2 bite_V ; + blow_V = blow_V ; + breathe_V = dirV2 (regV "breathe") ; + burn_V = burn_V ; + come_V = come_V ; + count_V2 = dirV2 (regV "count") ; + cut_V2 = dirV2 cut_V ; + die_V = die_V ; + dig_V = dig_V ; + drink_V2 = dirV2 drink_V ; + eat_V2 = dirV2 eat_V ; + fall_V = fall_V ; + fear_V2 = dirV2 (regV "fear") ; + fight_V2 = dirV2 fight_V ; + float_V = regV "float" ; + flow_V = regV "flow" ; + fly_V = fly_V ; + freeze_V = freeze_V ; + give_V3 = dirV3 give_V "to" ; + hear_V2 = dirV2 hear_V ; + hit_V2 = dirV2 hit_V ; + hold_V2 = dirV2 hold_V ; + hunt_V2 = dirV2 (regV "hunt") ; + kill_V2 = dirV2 (regV "kill") ; + know_V2 = dirV2 know_V ; + laugh_V = regV "laugh" ; + lie_V = lie_V ; + live_V = live_V ; + play_V = regV "play" ; + pull_V2 = dirV2 (regV "pull") ; + push_V2 = dirV2 (regV "push") ; + rub_V2 = dirV2 (regDuplV "rub") ; + say_V = say_V ; + scratch_V2 = dirV2 (regV "scratch") ; + see_V2 = dirV2 see_V ; + sew_V = sew_V ; + sing_V = sing_V ; + sit_V = sit_V ; + sleep_V = sleep_V ; + smell_V = regV "smell" ; + spit_V = spit_V ; + split_V2 = dirV2 split_V ; + squeeze_V2 = dirV2 (regV "squeeze") ; + stab_V2 = dirV2 (regDuplV "stab") ; + stand_V = stand_V ; + suck_V2 = dirV2 (regV "suck") ; + swell_V = swell_V ; + swim_V = swim_V ; + think_V = think_V ; + throw_V2 = dirV2 throw_V ; + tie_V2 = dirV2 (regV "tie") ; + turn_V = regV "turn" ; + vomit_V = regV "vomit" ; + walk_V = walk_V ; + wash_V2 = dirV2 (regV "wash") ; + wipe_V2 = dirV2 (regV "wipe") ; + +} diff --git a/examples/bronzeage/old/SwadeshFin.gf b/examples/bronzeage/old/SwadeshFin.gf new file mode 100644 index 000000000..4f73c5a09 --- /dev/null +++ b/examples/bronzeage/old/SwadeshFin.gf @@ -0,0 +1,269 @@ +--# -path=.:../present:../finnish:../common:../abstract:../../prelude + +concrete SwadeshFin of Swadesh = CatFin + ** open MorphoFin, LangFin, ParadigmsFin, Prelude in { + + flags optimize=values ; + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = mkDet Pl {s = \\nf => + let + kaiket = (nhn (sKorpi "kaikki" "kaiken" "kaikkena")).s + in + case nf of { + NCase Pl Nom => "kaikki" ; + _ => kaiket ! nf + } + } ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = mkDet Sg (regN "harva") ; + other_Det = mkDet Sg (regN "muu") ; + + left_Ord = mkOrd (regN "vasen") ; + right_Ord = mkOrd (regN "oikea") ; + + oper + mkOrd : N -> Ord ; + mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ; + + lin + + -- Adverbs + + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; + far_Adv = mkAdv "kaukana" ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = casePrep adessive ; + in_Prep = casePrep inessive ; + with_Prep = postGenPrep "kanssa" ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "oikea" ; + dirty_A = dirty_A ; + dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ; + dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ; + full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = regA "raskas" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = regA "läheinen" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = regA "mätä" ; + round_A = regA "pyöreä" ; + sharp_A = regA "terävä" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "sileä" ; + straight_A = mkADeg (regN "suora") "suorempi" "suorin" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = mkADeg (regN "märkä") "märempi" "märin" ; + white_A = white_A ; + wide_A = regA "leveä" ; + yellow_A = yellow_A ; + + -- Nouns + + animal_N = reg3N "eläin" "eläimen" "eläimiä" ; + ashes_N = regN "tuhka" ; + back_N = regN "selkä" ; + bark_N = regN "kaarna" ; + belly_N = regN "vatsa" ; + bird_N = bird_N; + blood_N = nMeri "veri" ; + bone_N = regN "luu" ; + breast_N = regN "rinta" ; + child_N = child_N ; + cloud_N = reg2N "pilvi" "pilviä" ; + day_N = regN "päivä" ; + dog_N = dog_N ; + dust_N = regN "pöly" ; + ear_N = regN "korva" ; + earth_N = regN "maa" ; + egg_N = regN "muna" ; + eye_N = regN "silmä" ; + fat_N = regN "rasva" ; + father_N = regN "isä" ; + feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ; + fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ; + fire_N = reg2N "tuli" "tulia" ; + fish_N = fish_N ; + flower_N = regN "kukka" ; + fog_N = regN "sumu" ; + foot_N = regN "jalka" ; + forest_N = regN "metsä" ; + fruit_N = fruit_N ; + grass_N = regN "ruoho" ; + guts_N = regN "sisälmys" ; --- suoli + hair_N = regN "hius" ; + hand_N = reg3N "käsi" "käden" "käsiä" ; + head_N = regN "pää" ; + heart_N = reg3N "sydän" "sydämen" "sydämiä" ; + horn_N = reg2N "sarvi" "sarvia" ; + husband_N = man_N ; --- aviomies + ice_N = regN "jää" ; + knee_N = reg2N "polvi" "polvia" ; + lake_N = lake_N ; + leaf_N = reg2N "lehti" "lehtiä" ; + leg_N = regN "jalka" ; --- sääri + liver_N = regN "maksa" ; + louse_N = regN "lude" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = regN "äiti" ; + mountain_N = mountain_N ; + mouth_N = regN "suu" ; + name_N = reg2N "nimi" "nimiä" ; + neck_N = regN "niska" ; + night_N = regN "yö" ; + nose_N = regN "nenä" ; + person_N = regN "henkilö" ; + rain_N = regN "sade" ; + river_N = river_N ; + road_N = regN "tie" ; + root_N = reg2N "juuri" "juuria" ; + rope_N = reg3N "köysi" "köyden" "köysiä" ; + salt_N = regN "suola" ; + sand_N = regN "hiekka" ; + sea_N = sea_N ; + seed_N = regN "siemen" ; + skin_N = regN "nahka" ; + sky_N = reg3N "taivas" "taivaan" "taivaita" ; + smoke_N = regN "savu" ; + snake_N = snake_N ; + snow_N = sgpartN (nMeri "lumi") "lunta" ; + star_N = star_N ; + stick_N = regN "keppi" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = regN "häntä" ; + tongue_N = reg2N "kieli" "kieliä" ; + tooth_N = regN "hammas" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = regN "vaimo" ; + wind_N = reg2N "tuuli" "tuulia" ; + wing_N = reg2N "siipi" "siipiä" ; + woman_N = woman_N ; + worm_N = regN "mato" ; + year_N = reg3N "vuosi" "vuoden" "vuosia" ; + + -- Verbs + + bite_V2 = dirV2 (regV "purra") ; + blow_V = regV "puhaltaa" ; + breathe_V2 = dirV2 (regV "hengittää") ; + burn_V = regV "palaa" ; + come_V = come_V ; + count_V2 = dirV2 (regV "laskea") ; + cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ; + die_V = regV "kuolla"; + dig_V = regV "kaivaa" ; + drink_V2 = dirV2 ( drink_V2) ; + eat_V2 = dirV2 ( eat_V2) ; + fall_V = reg3V "pudota" "putoan" "putosi" ; + fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ; + fight_V2 = dirV2 (regV "taistella") ; + float_V = regV "kellua" ; + flow_V = reg3V "virrata" "virtaan" "virtasi" ; + fly_V = regV "lentää" ; + freeze_V = regV "jäätyä" ; + give_V = dirdirV3 (regV "antaa") ; + hear_V2 = dirV2 ( hear_V2) ; + hit_V2 = dirV2 (regV "lyödä") ; + hold_V2 = dirV2 (regV "pitää") ; + hunt_V2 = dirV2 (regV "metsästää") ; + kill_V2 = dirV2 (regV "tappaa") ; + know_V2 = dirV2 (reg2V "tuntea" "tunsin") ; + laugh_V = reg3V "nauraa" "nauran" "nauroi" ; + lie_V = reg3V "maata" "makaan" "makasi" ; + live_V = live_V ; + play_V = play_V2 ; + pull_V2 = dirV2 (regV "vetää") ; + push_V2 = dirV2 (regV "työntää") ; + rub_V2 = dirV2 (regV "hieroa") ; + say_V = regV "sanoa" ; + scratch_V2 = dirV2 (regV "raapia") ; + see_V = ( see_V2) ; + sew_V = regV "kylvää" ; + sing_V = regV "laulaa" ; + sit_V = regV "istua" ; + sleep_V = sleep_V ; + smell_V = reg2V "haistaa" "haistoi" ; + spit_V = regV "sylkeä" ; + split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ; + squeeze_V2 = dirV2 (regV "puristaa") ; + stab_V2 = dirV2 (regV "pistää") ; + stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään" + "seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät + suck_V2 = dirV2 (regV "imeä") ; + swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan" + "turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ; + swim_V = reg3V "uida" "uin" "ui" ; + think_V = reg3V "ajatella" "ajattelen" "ajatteli" ; + throw_V2 = dirV2 (regV "heittää") ; + tie_V2 = dirV2 (regV "sitoa") ; + turn_V = regV "kääntyä" ; + vomit_V = regV "oksentaa" ; + walk_V = walk_V ; + wash_V2 = dirV2 (regV "pestä") ; + wipe_V2 = dirV2 (regV "pyyhkiä") ; + +oper + regA = regADeg ; ---- + + +} diff --git a/examples/bronzeage/old/SwadeshFre.gf b/examples/bronzeage/old/SwadeshFre.gf new file mode 100644 index 000000000..a7c326ca4 --- /dev/null +++ b/examples/bronzeage/old/SwadeshFre.gf @@ -0,0 +1,259 @@ +--# -path=.:../french:../common:../abstract:../../prelude:../romance + +concrete SwadeshFre of Swadesh = CatFre + ** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in { + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = { + s = \\g,c => prepCase c ++ genForms "tous" "toutes" ! g ++ "les" ; + n = Pl + } ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = {s = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl} ; + other_Det = { + s = \\g,c => prepCase c ++ "d'autres" ; -- de d'autres + n = Pl + } ; + + left_Ord = mkOrd (regA "gauche") ; + right_Ord = mkOrd (regA "droite") ; + + oper + mkOrd : A -> Ord ; + mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; + + lin + + -- Adverbs + + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; + far_Adv = mkAdv "loin" ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = dative ; + in_Prep = in_Prep ; + with_Prep = with_Prep ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "correct" ; + dirty_A = dirty_A ; + dry_A = (mkA "sec" "sèche" "secs" "sèches") ; + dull_A = regA "émoussé" ; + full_A = regA "plein" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = regA "lourd" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = regA "proche" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = regA "pourri" ; + round_A = regA "rond" ; + sharp_A = regA "tranchant" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "lisse" ; + straight_A = regA "droite" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "mouillé" ; + white_A = white_A ; + wide_A = regA "large" ; + yellow_A = yellow_A ; + + -- Nouns + + animal_N = regN "animal" ; + ashes_N = regGenN "cendre" masculine ; + back_N = regN "dos" ; + bark_N = regN "écorce" ; + belly_N = regGenN "ventre" masculine ; + bird_N = bird_N; + blood_N = regN "sang" ; + bone_N = regN "os" ; + breast_N = regN "sein" ; --- poitrine + child_N = child_N ; + cloud_N = regGenN "nuage" masculine ; + day_N = regN "jour" ; + dog_N = dog_N ; + dust_N = regN "poussière" ; + ear_N = regN "oreille" ; + earth_N = regN "terre" ; + egg_N = regN "oeuf" ; + eye_N = mkN "oeil" "yeux" masculine ; + fat_N = regN "graisse" ; + father_N = UseN2 father_N2 ; + feather_N = regN "plume" ; + fingernail_N = regGenN "ongle" masculine ; + fire_N = regN "feu" ; + fish_N = fish_N ; + flower_N = regGenN "fleur" feminine ; + fog_N = regN "brouillard" ; + foot_N = regN "pied" ; + forest_N = regGenN "forêt" feminine ; + fruit_N = fruit_N ; + grass_N = regN "herbe" ; + guts_N = regN "entraille" ; + hair_N = regN "cheveu" ; + hand_N = regGenN "main" feminine ; + head_N = regN "tête" ; + heart_N = regN "coeur" ; + horn_N = regGenN "corne" masculine ; + husband_N = regN "mari" ; + ice_N = regN "glace" ; + knee_N = regN "genou" ; + lake_N = lake_N ; + leaf_N = regN "feuille" ; + leg_N = regN "jambe" ; + liver_N = regGenN "foie" masculine ; + louse_N = regN "pou" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = regN "bouche" ; + name_N = regN "nom" ; + neck_N = mkN "cou" "cous" masculine ; + night_N = regGenN "nuit" feminine ; + nose_N = regN "nez" ; + person_N = regN "personne" ; + rain_N = regN "pluie" ; + river_N = river_N ; + road_N = regN "route" ; + root_N = regN "racine" ; + rope_N = regN "corde" ; + salt_N = regN "sel" ; + sand_N = regGenN "sable" masculine ; + sea_N = sea_N ; + seed_N = regN "graine" ; + skin_N = regN "peau" ; + sky_N = mkN "ciel" "cieux" masculine ; + smoke_N = regN "fumée" ; + snake_N = snake_N ; + snow_N = regN "neige" ; + star_N = star_N ; + stick_N = regN "bâton" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = regN "queue" ; + tongue_N = regN "langue" ; + tooth_N = regGenN "dent" feminine ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = regN "femme" ; + wind_N = regN "vent" ; + wing_N = regN "aile" ; + woman_N = woman_N ; + worm_N = regN "ver" ; + year_N = regN "an" ; --- année + + -- Verbs + + bite_V = ( mordre_V2) ; + blow_V = regV "souffler" ; + breathe_V2 = dirV2 (regV "respirer") ; + burn_V = regV "brûler" ; + come_V = venir_V ; + count_V2 = dirV2 (regV "conter") ; + cut_V2 = dirV2 (regV "tailler") ; + die_V = mourir_V ; + dig_V = regV "creuser" ; + drink_V = ( boire_V2) ; + eat_V2 = dirV2 (regV "manger") ; + fall_V = regV "tomber" ; + fear_V = ( craindre_V2) ; + fight_V2 = dirV2 (regV "lutter") ; + float_V = regV "flotter" ; + flow_V = regV "couler" ; + fly_V = regV "voler" ; + freeze_V = reg3V "geler" "gèle" "gèlera" ; + give_V = dirdirV3 (regV "donner") ; + hear_V = ( entendre_V2) ; + hit_V2 = dirV2 (regV "frapper") ; + hold_V = ( tenir_V2) ; + hunt_V2 = dirV2 (regV "chasser") ; + kill_V2 = dirV2 (regV "tuer") ; + know_V = ( connaître_V2) ; + laugh_V = rire_V2 ; + lie_V = reflV étendre_V2 ; + live_V = vivre_V2 ; + play_V = regV "jouer" ; + pull_V2 = dirV2 (regV "tirer") ; + push_V2 = dirV2 (regV "pousser") ; + rub_V2 = dirV2 (regV "frotter") ; + say_V = dire_V2 ; + scratch_V2 = dirV2 (regV "gratter") ; + see_V = ( voir_V2) ; + sew_V = coudre_V2 ; + sing_V = regV "chanter" ; + sit_V = reflV asseoir_V2 ; + sleep_V = dormir_V2 ; + smell_V = v2V ( sentir_V2) ; + spit_V = regV "cracher" ; + split_V = ( fendre_V2) ; + squeeze_V2 = dirV2 (regV "serrer") ; + stab_V2 = dirV2 (regV "poignarder") ; + stand_V = reflV (reg3V "lever" "lève" "lèvera") ; + suck_V2 = dirV2 (regV "sucer") ; + swell_V = regV "gonfler" ; + swim_V = regV "nager" ; + think_V = regV "penser" ; + throw_V2 = dirV2 (regV "jeter") ; + tie_V2 = dirV2 (regV "lier") ; + turn_V = regV "tourner" ; + vomit_V = regV "vomir" ; + walk_V = regV "marcher" ; + wash_V2 = dirV2 (regV "laver") ; + wipe_V2 = dirV2 (regV "essuyer") ; + +} diff --git a/examples/bronzeage/SwadeshGer.gf b/examples/bronzeage/old/SwadeshGer.gf similarity index 87% rename from examples/bronzeage/SwadeshGer.gf rename to examples/bronzeage/old/SwadeshGer.gf index 3b29da219..85c057bb0 100644 --- a/examples/bronzeage/SwadeshGer.gf +++ b/examples/bronzeage/old/SwadeshGer.gf @@ -190,59 +190,59 @@ concrete SwadeshGer of Swadesh = CatGer -- bite_V = bite_V ; -- blow_V = blow_V ; --- breathe_V = dirV2 (regV "breathe") ; +-- breathe_V2 = dirV2 (regV "breathe") ; -- burn_V = burn_V ; come_V = come_V ; --- count_V = dirV2 (regV "count") ; --- cut_V = dirV2 cut_V ; +-- count_V2 = dirV2 (regV "count") ; +-- cut_V2 = dirV2 cut_V ; die_V = die_V ; -- dig_V = dig_V ; drink_V = drink_V2 ; eat_V = eat_V2 ; -- fall_V = fall_V ; --- fear_V = dirV2 (regV "fear") ; --- fight_V = dirV2 fight_V ; +-- fear_V2 = dirV2 (regV "fear") ; +-- fight_V2 = dirV2 fight_V ; -- float_V = regV "float" ; -- flow_V = regV "flow" ; -- fly_V = fly_V ; -- freeze_V = freeze_V ; -- give_V = dirdirV3 give_V ; hear_V = hear_V2 ; --- hit_V = dirV2 hit_V ; --- hold_V = dirV2 hold_V ; --- hunt_V = dirV2 (regV "hunt") ; --- kill_V = dirV2 (regV "kill") ; --- know_V = dirV2 know_V ; +-- hit_V2 = dirV2 hit_V ; +-- hold_V2 = dirV2 hold_V ; +-- hunt_V2 = dirV2 (regV "hunt") ; +-- kill_V2 = dirV2 (regV "kill") ; +-- know_V2 = dirV2 know_V ; -- laugh_V = regV "laugh" ; -- lie_V = lie_V ; live_V = live_V ; -- play_V = regV "play" ; --- pull_V = dirV2 (regV "pull") ; --- push_V = dirV2 (regV "push") ; --- rub_V = dirV2 (regDuplV "rub") ; +-- pull_V2 = dirV2 (regV "pull") ; +-- push_V2 = dirV2 (regV "push") ; +-- rub_V2 = dirV2 (regDuplV "rub") ; -- say_V = say_V ; --- scratch_V = dirV2 (regV "scratch") ; +-- scratch_V2 = dirV2 (regV "scratch") ; -- see_V = see_V2 ; -- sew_V = sew_V ; -- sing_V = sing_V ; -- sit_V = sit_V ; sleep_V = sleep_V ; --- smell_V = dirV2 (regV "smell") ; +-- smell_V2 = dirV2 (regV "smell") ; -- spit_V = spit_V ; --- split_V = dirV2 split_V ; --- squeeze_V = dirV2 (regV "squeeze") ; --- stab_V = dirV2 (regDuplV "stab") ; +-- split_V2 = dirV2 split_V ; +-- squeeze_V2 = dirV2 (regV "squeeze") ; +-- stab_V2 = dirV2 (regDuplV "stab") ; -- stand_V = stand_V ; --- suck_V = dirV2 (regV "suck") ; +-- suck_V2 = dirV2 (regV "suck") ; -- swell_V = swell_V ; -- swim_V = swim_V ; -- think_V = think_V ; --- throw_V = dirV2 throw_V ; --- tie_V = dirV2 (regV "tie") ; +-- throw_V2 = dirV2 throw_V ; +-- tie_V2 = dirV2 (regV "tie") ; -- turn_V = regV "turn" ; -- vomit_V = regV "vomit" ; walk_V = walk_V ; --- wash_V = dirV2 (regV "wash") ; --- wipe_V = dirV2 (regV "wipe") ; +-- wash_V2 = dirV2 (regV "wash") ; +-- wipe_V2 = dirV2 (regV "wipe") ; } diff --git a/examples/bronzeage/old/SwadeshIta.gf b/examples/bronzeage/old/SwadeshIta.gf new file mode 100644 index 000000000..7d55f2a99 --- /dev/null +++ b/examples/bronzeage/old/SwadeshIta.gf @@ -0,0 +1,258 @@ +--# -path=.:../italian:../common:../abstract:../../prelude:../romance + +concrete SwadeshIta of Swadesh = CatIta + ** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in { + + lincat + MassN = N ; + + lin + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = { + s = \\g,c => prepCase c ++ genForms ["tutti i"] ["tutte le"] ! g ; + n = Pl + } ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = {s = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl} ; + other_Det = { + s = \\g,c => prepCase c ++ genForms "altri" "altre" ! g ; + n = Pl + } ; + + left_Ord = mkOrd (regA "sinistro") ; + right_Ord = mkOrd (regA "destro") ; + + oper + mkOrd : A -> Ord ; + mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; + + lin + + -- Adverbs + + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; + far_Adv = mkAdv "lontano" ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = dative ; + in_Prep = in_Prep ; + with_Prep = with_Prep ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "corretto" ; + dirty_A = dirty_A ; + dry_A = regA "secco" ; + dull_A = regA "noioso" ; + full_A = regA "pieno" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = regA "pesante" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = regA "vicino" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = regA "marcio" ; + round_A = regA "rotondo" ; + sharp_A = regA "aguzzo" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "liscio" ; + straight_A = regA "diretto" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "bagnato" ; + white_A = white_A ; + wide_A = regA "largo" ; + yellow_A = yellow_A ; + + -- Nouns + + animal_N = regN "animale" ; + ashes_N = regN "cenere" ; + back_N = regN "schiena" ; + bark_N = regN "corteccia" ; + belly_N = regN "pancia" ; + bird_N = bird_N; + blood_N = regN "sangue" ; + bone_N = regN "osso" ; + breast_N = regN "seno" ; + child_N = child_N ; + cloud_N = regN "nuvola" ; + day_N = regN "giorno" ; + dog_N = dog_N ; + dust_N = regN "polvere" ; + ear_N = regN "orecchio" ; + earth_N = regN "terra" ; + egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl + eye_N = regN "occhio" ; + fat_N = regN "grasso" ; + father_N = UseN2 father_N2 ; + feather_N = regN "piuma" ; + fingernail_N = regN "unghia" ; + fire_N = regN "fuoco" ; + fish_N = fish_N ; + flower_N = regN "fiore" ; + fog_N = regN "nebbia" ; + foot_N = regN "piede" ; + forest_N = regN "bosco" ; + fruit_N = fruit_N ; + grass_N = regN "erba" ; + guts_N = regN "intestino" ; + hair_N = regN "capello" ; + hand_N = femN (regN "mano") ; + head_N = regN "testa" ; + heart_N = regN "cuore" ; + horn_N = regN "corno" ; + husband_N = regN "marito" ; + ice_N = regN "ghiaccio" ; + knee_N = regN "ginocchio" ; + lake_N = lake_N ; + leaf_N = regN "foglia" ; + leg_N = regN "gamba" ; + liver_N = regN "fegato" ; + louse_N = regN "pidocchio" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = regN "bocca" ; + name_N = regN "nome" ; + neck_N = regN "collo" ; + night_N = femN (regN "notte") ; + nose_N = regN "naso" ; + person_N = regN "persona" ; + rain_N = regN "pioggia" ; + river_N = river_N ; + road_N = regN "strada" ; + root_N = femN (regN "radice") ; + rope_N = regN "corda" ; + salt_N = regN "sale" ; + sand_N = regN "sabbia" ; + sea_N = sea_N ; + seed_N = regN "seme" ; + skin_N = femN (regN "pelle") ; + sky_N = regN "cielo" ; + smoke_N = regN "fumo" ; + snake_N = snake_N ; + snow_N = femN (regN "neve") ; + star_N = star_N ; + stick_N = regN "bastone" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = regN "coda" ; + tongue_N = regN "lingua" ; + tooth_N = regN "dente" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = regN "donna" ; + wind_N = regN "vento" ; + wing_N = regN "ala" ; + woman_N = woman_N ; + worm_N = regN "verme" ; + year_N = regN "anno" ; + + -- Verbs + + bite_V2 = dirV2 (verboV (esplodere_51 "mordere")) ; + blow_V = regV "soffiare" ; + breathe_V2 = dirV2 (regV "respirare") ; + burn_V = regV "bruciare" ; + come_V = come_V ; + count_V2 = dirV2 (regV "contare") ; + cut_V2 = dirV2 (regV "tagliare") ; + die_V = die_V ; + dig_V = regV "scavare" ; + drink_V2 = dirV2 (drink_V2) ; + eat_V2 = dirV2 (regV "mangiare") ; + fall_V = essereV (verboV (cadere_28 "cadere")) ; + fear_V2 = dirV2 (fear_VS) ; + fight_V2 = dirV2 (regV "lottare") ; + float_V = regV "galleggiare" ; + flow_V = verboV (finire_100 "fluire") ; + fly_V = regV "volare" ; + freeze_V = regV "gelare" ; + give_V = dirdirV3 (verboV (dare_15 "dare")) ; + hear_V2 = dirV2 (hear_V2) ; + hit_V2 = dirV2 (regV "colpire") ; + hold_V2 = dirV2 (verboV (venire_110 "tenire")) ; + hunt_V2 = dirV2 (regV "cacciare") ; + kill_V2 = dirV2 (verboV (ridere_74 "uccidere")) ; + know_V2 = dirV2 (know_V2) ; + laugh_V = verboV (ridere_74 "ridere") ; + lie_V = verboV (piacere_64 "giacere") ; + live_V = live_V ; + play_V = regV "giocare" ; + pull_V2 = dirV2 (regV "tirare") ; + push_V2 = dirV2 (verboV (cingere_31 "spingere")) ; + rub_V2 = dirV2 (regV "strofinare") ; + say_V = say_VS ; + scratch_V2 = dirV2 (regV "graffiare") ; + see_V2 = dirV2 (see_V2) ; + sew_V = verboV (cucire_103 "cucire") ; + sing_V = regV "cantare" ; + sit_V = reflV (verboV (sedere_84 "sedere")) ; + sleep_V = sleep_V ; + smell_V = verboV (sentire_99 "sentire") ; + spit_V = regV "sputare" ; + split_V2 = dirV2 (verboV (ridere_74 "dividere")) ; + squeeze_V2 = dirV2 (verboV (temere_20 "spremere")) ; + stab_V2 = dirV2 (regV "pugnalare") ; + stand_V = verboV (stare_16 "stare") ; ---- in piedi + suck_V2 = dirV2 (regV "succhiare") ; + swell_V = regV "gonfiare" ; + swim_V = regV "nuotare" ; + think_V = regV "pensare" ; + throw_V2 = dirV2 (regV "gettare") ; + tie_V2 = dirV2 (regV "legare") ; + turn_V = regV "tornare" ; + vomit_V = regV "vomitare" ; + walk_V = regV "camminare" ; + wash_V2 = dirV2 (regV "lavare") ; + wipe_V2 = dirV2 (regV "asciugare") ; + +} diff --git a/examples/bronzeage/old/SwadeshNor.gf b/examples/bronzeage/old/SwadeshNor.gf new file mode 100644 index 000000000..48d8a4db8 --- /dev/null +++ b/examples/bronzeage/old/SwadeshNor.gf @@ -0,0 +1,252 @@ +--# -path=.:../norwegian:../common:../abstract:../scandinavian:../../prelude + +concrete SwadeshNor of Swadesh = CatNor + ** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in { + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = {s = \\_,_ => "alle" ; n = Pl ; det = DDef Indef} ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ; + other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ; + + left_Ord = {s = "venstre" ; isDet = True} ; + right_Ord = {s = "høyre" ; isDet = True} ; + + -- Adverbs + + here_Adv = here_Adv ; + there_Adv = there_Adv ; + where_IAdv = where_IAdv ; + when_IAdv = when_IAdv ; + how_IAdv = how_IAdv ; + + far_Adv = mkAdv "fjern" ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = ss "ved" ; + in_Prep = ss "i" ; + with_Prep = ss "med" ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "riktig" ; + dirty_A = dirty_A ; + dry_A = mk2A "tørr" "tørt" ; + dull_A = regA "sløv" ; + full_A = regA "full" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = irregADeg "tung" "tyngre" "tyngst" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = mk3ADeg "råtten" "råttent" "råtne" ; + round_A = regA "rund" ; + sharp_A = mk2A "kvass" "kvast" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = mk2A "slett" "slett" ; + straight_A = regA "rak" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "våt" ; + white_A = white_A ; + wide_A = regA "bred" ; + yellow_A = yellow_A ; + + + -- Nouns + + animal_N = mk2N "dyr" "dyret" ; + ashes_N = mk2N "aske" "aska" ; + back_N = mk2N "rygg" "ryggen" ; + bark_N = mk2N "bark" "barken" ; + belly_N = mk2N "mage" "magen" ; + bird_N = bird_N ; + blood_N = mk2N "blod" "blodet" ; + bone_N = mk2N "bein" "beinet" ; + breast_N = mk2N "bryst" "brystet" ; + child_N = child_N ; + cloud_N = mk2N "sky" "skya" ; + day_N = mk2N "dag" "dagen" ; + dog_N = dog_N ; + dust_N = mk2N "støv" "støvet" ; + ear_N = mk2N "øre" "øret" ; + earth_N = mk2N "jord" "jorda" ; + egg_N = mk2N "egg" "egget" ; + eye_N = mkN "øye" "øyet" "øyne" "øynene" ; + fat_N = mk2N "fett" "fettet" ; + father_N = mkN "far" "faren" "fedre" "fedrene" ; +-- father_N = UseN2 father_N2 ; + feather_N = mk2N "fjør" "fjøra" ; + fingernail_N = mk2N "negl" "neglen" ; + fire_N = mk2N "ild" "ilden" ; + fish_N = fish_N ; + flower_N = mk2N "blomst" "blomsten" ; + fog_N = mk2N "tåke" "tåka" ; + foot_N = mk2N "fot" "føtter" ; + forest_N = mk2N "skog" "skogen" ; + fruit_N = fruit_N ; + grass_N = mk2N "gras" "graset" ; + guts_N = mk2N "tarm" "tarmen" ; ---- involler + hair_N = mk2N "hår" "håret" ; + hand_N = mk2N "hånd" "hånden" ; + + head_N = mk2N "hode" "hodet" ; + heart_N = mk2N "hjerte" "hjertet" ; + horn_N = mk2N "horn" "hornet" ; + husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ; + ice_N = mk2N "is" "isen" ; + knee_N = mkN "kne" "kneet" "knær" "knæne" ; + lake_N = lake_N ; + leaf_N = mk2N "løv" "løvet" ; + leg_N = mk2N "bein" "beinet" ; + liver_N = mkN "lever" "leveren" "levrer" "levrene" ; + louse_N = mk2N "lus" "lusa" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = mkN "mor" "moren" "mødre" "mødrene" ; +-- mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = mk2N "munn" "munnen" ; + name_N = mk2N "navn" "navnet" ; + neck_N = mk2N "nakke" "nakken" ; + night_N = mkN "natt" "natta" "netter" "nettene" ; + nose_N = mk2N "nese" "nesen" ; + person_N = mk2N "person" "personen" ; + rain_N = mk2N "regn" "regnet" ; + river_N = river_N ; + road_N = mk2N "vei" "veien" ; + root_N = mkN "rot" "rota" "røtter" "røttene" ; + rope_N = mk2N "tau" "tauet" ; + salt_N = mk2N "salt" "saltet" ; + sand_N = mk2N "sand" "sanden" ; + sea_N = sea_N ; + seed_N = mk2N "frø" "frøet" ; + skin_N = mk2N "skinn" "skinnet" ; + sky_N = mkN "himmel" "himmelen" "himler" "himlene" ; + smoke_N = mk2N "røyk" "røyken" ; + snake_N = snake_N ; + snow_N = mk2N "snø" "snøen" ; + star_N = star_N ; + stick_N = mk2N "pinne" "pinnen" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = mk2N "hale" "halen" ; + tongue_N = mk2N "tunge" "tunga" ; + tooth_N = mkN "tann" "tanna" "tenner" "tennene" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = mk2N "kone" "kona" ; + wind_N = mk2N "vind" "vinden" ; + wing_N = mk2N "vinge" "vingen" ; + woman_N = woman_N ; + worm_N = mk2N "mark" "marken" ; + year_N = mk2N "år" "året" ; + + -- Verbs + + bite_V2 = dirV2 (IrregNor.bite_V) ; + blow_V = mk2V "blåse" "blåste" ; + breathe_V2 = dirV2 (regV "puste") ; + burn_V = brenne_V ; + come_V = komme_V ; + count_V2 = dirV2 (regV "regne") ; + cut_V2 = dirV2 (skjære_V) ; + die_V = dø_V ; + dig_V = mk2V "grave" "gravde" ; + drink_V2 = dirV2 (drikke_V) ; + eat_V2 = dirV2 (mk2V "spise" "spiste") ; + fall_V = falle_V ; + fear_V2 = dirV2 (regV "frykte") ; + fight_V2 = dirV2 (slåss_V) ; + float_V = flyte_V ; + flow_V = renne_V ; + fly_V = fly_V ; + freeze_V = fryse_V ; + give_V = dirdirV3 gi_V ; + hear_V2 = dirV2 (mk2V "høre" "hørde") ; + hit_V2 = dirV2 (slå_V) ; + hold_V2 = dirV2 (holde_V) ; + hunt_V2 = dirV2 (regV "jakte") ; + kill_V2 = dirV2 (mk2V "drepe" "drepte") ; + know_V2 = dirV2 (vite_V) ; + laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ; + lie_V = ligge_V ; + live_V = mk2V "leve" "levde" ; + play_V = mk2V "leke" "lekte" ; + pull_V2 = dirV2 (dra_V) ; + push_V2 = dirV2 (irregV "skyve" "skjøv" "skjøvet") ; + rub_V2 = dirV2 (gni_V) ; + say_V = si_V ; + scratch_V2 = dirV2 (regV "klø") ; + see_V2 = dirV2 (se_V) ; + sew_V = mk2V "sy" "sydde" ; + sing_V = synge_V ; + sit_V = sitte_V ; + sleep_V = sove_V ; + smell_V = regV "lukte" ; + spit_V = regV "spytte" ; + split_V2 = dirV2 (mk2V "kløyve" "kløyvde") ; + squeeze_V2 = dirV2 (mk2V "klemme" "klemte") ; + stab_V2 = dirV2 (stikke_V) ; + stand_V = stå_V ; + suck_V2 = dirV2 (suge_V) ; + swell_V = partV (regV "hovne") "opp" ; + swim_V = regV "simme" ; + think_V = mk2V "tenke" "tenkte" ; + throw_V2 = dirV2 (regV "kaste") ; + tie_V2 = dirV2 (regV "knytte") ; + turn_V = mk2V "vende" "vendte" ; + vomit_V = partV (regV "kaste") "opp" ; + walk_V = gå_V ; + wash_V2 = dirV2 (regV "vaske") ; + wipe_V2 = dirV2 (regV "tørke") ; + +} diff --git a/examples/bronzeage/SwadeshRus.gf b/examples/bronzeage/old/SwadeshRus.gf similarity index 100% rename from examples/bronzeage/SwadeshRus.gf rename to examples/bronzeage/old/SwadeshRus.gf diff --git a/examples/bronzeage/old/SwadeshSpa.gf b/examples/bronzeage/old/SwadeshSpa.gf new file mode 100644 index 000000000..c7ef810df --- /dev/null +++ b/examples/bronzeage/old/SwadeshSpa.gf @@ -0,0 +1,262 @@ +--# -path=.:../spanish:../common:../abstract:../../prelude:../romance + +concrete SwadeshSpa of Swadesh = CatSpa + ** open PhonoSpa, MorphoSpa, LangSpa, ParadigmsSpa, BeschSpa, Prelude in { + +-- words contributed by Ana Bove, May 2005 + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = { + s = \\g,c => prepCase c ++ genForms ["todos los"] ["todas las"] ! g ; + n = Pl + } ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = {s = \\g,c => prepCase c ++ genForms "pocos" "pocas" ! g ; n = Pl} ; + other_Det = { + s = \\g,c => prepCase c ++ genForms "otros" "otras" ! g ; + n = Pl + } ; + + left_Ord = mkOrd (regA "izquierda") ; + right_Ord = mkOrd (regA "derecha") ; + + oper + mkOrd : A -> Ord ; + mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ; + + lin + + -- Adverbs + + here_Adv = here_Adv; + there_Adv = there_Adv; + where_IAdv = where_IAdv; + when_IAdv = when_IAdv; + how_IAdv = how_IAdv; + far_Adv = mkAdv "lejos" ; ----? + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = dative ; + in_Prep = in_Prep ; + with_Prep = with_Prep ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "correcto" ; + dirty_A = dirty_A ; + dry_A = regA "seco" ; + dull_A = regA "desafilado" ; + full_A = regA "lleno" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = regA "pesado" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = regA "cerca" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = regA "podrido" ; + round_A = regA "redondo" ; + sharp_A = regA "filoso" ; -- afilado, puntiagudo + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "liso" ; -- suave + straight_A = regA "directo" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "mojado" ; + white_A = white_A ; + wide_A = regA "ancho" ; -- extenso + yellow_A = yellow_A ; + + -- Nouns + + animal_N = regN "animal" ; -- masc (sometimes fem when adj) + ashes_N = regN "ceniza" ; + back_N = regN "espalda" ; + bark_N = regN "corteza" ; + belly_N = regN "panza" ; -- barriga + bird_N = bird_N; + blood_N = femN (regN "sangre") ; + bone_N = regN "hueso" ; + breast_N = regN "seno" ; -- pecho + child_N = child_N ; + cloud_N = femN (regN "nube") ; + day_N = mascN (regN "día") ; + dog_N = dog_N ; + dust_N = regN "polvo" ; + ear_N = regN "oreja" ; + earth_N = regN "tierra" ; + egg_N = regN "huevo" ; + eye_N = regN "ojo" ; + fat_N = regN "grasa" ; + father_N = UseN2 father_N2 ; + feather_N = regN "pluma" ; + fingernail_N = regN "uña" ; + fire_N = regN "fuego" ; + fish_N = fish_N ; + flower_N = femN (regN "flor") ; + fog_N = regN "niebla" ; + foot_N = regN "pie" ; + forest_N = regN "bosque" ; + fruit_N = fruit_N ; + grass_N = regN "pasto" ; -- hierba, césped (masc) + guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas + hair_N = regN "cabello" ; -- pelo + hand_N = femN (regN "mano") ; + head_N = regN "cabeza" ; + heart_N = mkN "corazón" "corazones" masculine ; + horn_N = regN "cuerno" ; + husband_N = regN "marido" ; -- esposo + ice_N = regN "hielo" ; + knee_N = regN "rodilla" ; + lake_N = lake_N ; + leaf_N = regN "hoja" ; + leg_N = regN "pierna" ; + liver_N = regN "hígado" ; + louse_N = regN "piojo" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = regN "boca" ; + name_N = regN "nombre" ; + neck_N = regN "cuello" ; + night_N = femN (regN "noche") ; + nose_N = femN (regN "nariz") ; + person_N = regN "persona" ; + rain_N = regN "lluvia" ; + river_N = river_N ; + road_N = femN (regN "calle") ; -- camino + root_N = femN (regN "raíz") ; + rope_N = regN "cuerda" ; + salt_N = femN (regN "sal") ; + sand_N = regN "arena" ; + sea_N = sea_N ; + seed_N = regN "semilla" ; + skin_N = femN (regN "piel") ; -- fem + sky_N = regN "cielo" ; + smoke_N = regN "humo" ; + snake_N = snake_N ; + snow_N = femN (regN "nieve") ; -- fem + star_N = star_N ; + stick_N = mkN "bastón" "bastones" masculine ; -- palo + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = regN "cola" ; + tongue_N = regN "lengua" ; + tooth_N = regN "diente" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = regN "esposa" ; + wind_N = regN "viento" ; + wing_N = regN "ala" ; + woman_N = woman_N ; + worm_N = regN "gusano" ; -- lombriz (fem) + year_N = regN "año" ; + + -- Verbs + + bite_V2 = dirV2 (verboV (morder_50b "morder")) ; + blow_V = regV "soplar" ; + breathe_V2 = dirV2 (regV "respirar") ; + burn_V = regV "quemar" ; + come_V = come_V ; + count_V2 = dirV2 (verboV (contar_38b "contar")) ; + cut_V2 = dirV2 (regV "cortar") ; + die_V = die_V ; + dig_V = regV "escarbar" ; + drink_V2 = dirV2 (regV "tomar") ; + eat_V2 = dirV2 (regV "comer") ; + fall_V = verboV (caer_20 "caer") ; + fear_V2 = dirV2 (fear_VS) ; + fight_V2 = dirV2 (regV "pelear") ; + float_V = regV "flotar" ; + flow_V = verboV (influir_45 "fluir") ; -- circular + fly_V = regV "volar" ; + freeze_V = regV "congelar" ; + give_V = dirdirV3 (verboV (dar_27 "dar")) ; + hear_V2 = dirV2 (hear_V2) ; + hit_V2 = dirV2 (regV "golpear") ; + hold_V2 = dirV2 (verboV (tener_4 "tener")) ; + hunt_V2 = dirV2 (regV "cazar") ; + kill_V2 = dirV2 (regV "matar") ; + know_V2 = dirV2 (know_V2) ; + laugh_V = regV "reir" ; ----V reír_67 + lie_V = reflV (regV "acostar") ; -- "acostarse" + live_V = live_V ; + play_V = regV "jugar" ; + pull_V2 = dirV2 (regV "tirar") ; + push_V2 = dirV2 (regV "empujar") ; + rub_V2 = dirV2 (regV "resfregar") ; + say_V = say_VS ; + scratch_V2 = dirV2 (regV "rascar") ; + see_V2 = dirV2 (see_V2) ; + sew_V = regV "coser" ; + sing_V = regV "cantar" ; + sit_V = reflV (regV "sentar") ; + sleep_V = sleep_V ; + smell_V = verboV (oler_52 "oler") ; + spit_V = regV "escupir" ; + split_V2 = dirV2 (regV "separar") ; -- dividir,) ; + squeeze_V2 = dirV2 (regV "exprimir") ; + stab_V2 = dirV2 (regV "apuñalar") ; + stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ; + suck_V2 = dirV2 (regV "chupar") ; + swell_V = regV "tragar" ; + swim_V = regV "nadar" ; + think_V = regV "pensar" ; + throw_V2 = dirV2 (regV "tirar") ; + tie_V2 = dirV2 (regV "atar") ; + turn_V = regV "doblar" ; + vomit_V = regV "vomitar" ; + walk_V = regV "caminar" ; + wash_V2 = dirV2 (regV "lavar") ; + wipe_V2 = dirV2 (regV "secar") ; + +} diff --git a/examples/bronzeage/old/SwadeshSwe.gf b/examples/bronzeage/old/SwadeshSwe.gf new file mode 100644 index 000000000..be548b07f --- /dev/null +++ b/examples/bronzeage/old/SwadeshSwe.gf @@ -0,0 +1,252 @@ +--# -path=.:present:prelude + +concrete SwadeshSwe of Swadesh = CatSwe + ** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in { + + lincat + MassN = N ; + + lin + + -- Pronouns + + i_NP = i_Pron ; + youSg_NP = youSg_Pron ; + he_NP = he_Pron ; + we_NP = we_Pron ; + youPl_NP = youPl_Pron ; + they_NP = they_Pron ; + whoPl_IP = whoPl_IP ; + whoSg_IP = whoSg_IP ; + whatPl_IP = whatPl_IP ; + whatSg_IP = whatSg_IP ; + + -- Determiners + + this_Det = DetSg (SgQuant this_Quant) NoOrd ; + that_Det = DetSg (SgQuant that_Quant) NoOrd ; + all_Det = {s = \\_,_ => "alla" ; n = Pl ; det = DDef Indef} ; + many_Det = many_Det ; + some_Det = someSg_Det ; + few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ; + other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ; + + left_Ord = {s = "vänstra" ; isDet = True} ; + right_Ord = {s = "högra" ; isDet = True} ; + + -- Adverbs + + here_Adv = here_Adv ; + there_Adv = there_Adv ; + where_IAdv = where_IAdv ; + when_IAdv = when_IAdv ; + how_IAdv = how_IAdv ; + far_Adv = mkAdv "långt" ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = ss "vid" ; + in_Prep = ss "i" ; + with_Prep = ss "med" ; + + -- Numerals + + one_Det = DetSg one_Quant NoOrd ; + two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_A = bad_A ; + big_A = big_A ; + black_A = black_A ; + cold_A = cold_A ; + correct_A = regA "riktig" ; + dirty_A = dirty_A ; + dry_A = regA "torr" ; + dull_A = mk2A "slö" "slött"; + full_A = regA "full" ; + good_A = good_A ; + green_A = green_A ; + heavy_A = irregA "tung" "tyngre" "tyngst" ; + long_A = long_A ; + narrow_A = narrow_A ; + near_A = mkA "nära" "nära" "nära" "nära" + "närmare" "närmast" "närmaste" ; + new_A = new_A ; + old_A = old_A ; + red_A = red_A ; + rotten_A = mk3A "rutten" "ruttet" "ruttna" ; + round_A = regA "rund" ; + sharp_A = regA "vass" ; + short_A = short_A ; + small_A = small_A ; + smooth_A = regA "slät" ; + straight_A = regA "rak" ; + thick_A = thick_A ; + thin_A = thin_A ; + warm_A = warm_A ; + wet_A = regA "våt" ; + white_A = white_A ; + wide_A = mk2A "bred" "brett" ; + yellow_A = yellow_A ; + + + -- Nouns + + animal_N = mk2N "djur" "djur" ; + ashes_N = mk2N "aska" "askor" ; + back_N = mk2N "rygg" "ryggar" ; + bark_N = mk2N "bark" "barkar" ; + belly_N = mk2N "mage" "magar" ; + bird_N = bird_N ; + blood_N = mk2N "blod" "blod" ; + bone_N = mk2N "ben" "ben" ; + breast_N = mk2N "bröst" "bröst" ; + child_N = child_N ; + cloud_N = mk2N "moln" "moln" ; + day_N = mk2N "dag" "dagar" ; + dog_N = dog_N ; + dust_N = mk2N "damm" "damm" ; + ear_N = mkN "öra" "örat" "öron" "öronen" ; + earth_N = mk2N "jord" "jordar" ; + egg_N = mk2N "ägg" "ägg" ; + eye_N = mkN "öga" "ögat" "ögon" "ögonen" ; + fat_N = mk2N "fett" "fett" ; + father_N = (mkN "far" "fadern" "fäder" "fäderna") ; +-- father_N = UseN2 father_N2 ; + feather_N = mk2N "fjäder" "fjädrar" ; + fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna"; + fire_N = mk2N "eld" "eldar" ; + fish_N = fish_N ; + flower_N = mk2N "blomma" "blommor" ; + fog_N = mk2N "dimma" "dimmor" ; + foot_N = mk2N "fot" "fötter" ; + forest_N = mk2N "skog" "skogar" ; + fruit_N = fruit_N ; + grass_N = mk2N "gräs" "gräs" ; + guts_N = mk2N "inälva" "inälvor" ; + hair_N = mk2N "hår" "hår" ; + hand_N = mk2N "hand" "händer" ; + head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ; + heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ; + horn_N = mk2N "horn" "horn" ; + husband_N = (mk2N "make" "makar") ; + ice_N = mk2N "is" "isar" ; + knee_N = mkN "knä" "knäet" "knän" "knäna" ; + lake_N = lake_N ; + leaf_N = mk2N "löv" "löv" ; + leg_N = mk2N "ben" "ben" ; + liver_N = mkN "lever" "levern" "levrar" "levrarna"; + louse_N = mkN "lus" "lusen" "löss" "lössen" ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = mkN "mor" "modern" "mödrar" "mödrarna" ; +-- mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ; + name_N = mk2N "namn" "namn" ; + neck_N = mk2N "nacke" "nackar" ; + night_N = mk2N "natt" "nätter" ; + nose_N = mk2N "näsa" "näsor" ; + person_N = mk2N "person" "personer" ; + rain_N = mk2N "regn" "regn" ; + river_N = river_N ; + road_N = mk2N "väg" "vägar" ; + root_N = mk2N "rot" "rötter" ; + rope_N = mk2N "rep" "rep" ; + salt_N = mkN "salt" "saltet" "salter" "salterna"; + sand_N = mk2N "sand" "sander" ; + sea_N = sea_N ; + seed_N = mkN "frö" "fröet" "frön" "fröna" ; + skin_N = mk2N "skinn" "skinn" ; + sky_N = mk2N "himmel" "himlar" ; + smoke_N = mk2N "rök" "rökar" ; + snake_N = snake_N ; + snow_N = mkN "snö" "snön" "snöer" "snöerna" ; + star_N = star_N ; + stick_N = mk2N "pinne" "pinnar" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = mk2N "svans" "svansar" ; + tongue_N = mk2N "tunga" "tungor" ; + tooth_N = mk2N "tand" "tänder" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = mk2N "fru" "fruar" ; + wind_N = mk2N "vind" "vindar" ; + wing_N = mk2N "vinge" "vingar" ; + woman_N = woman_N ; + worm_N = mk2N "mask" "maskar" ; + year_N = mk2N "år" "år" ; + + -- Verbs + + bite_V2 = dirV2 (bita_V) ; + blow_V = mk2V "blåsa" "blåste" ; + breathe_V2 = dirV2 (depV (regV "anda")) ; + burn_V = brinna_V ; -- FIXME: bränna? + come_V = komma_V ; + count_V2 = dirV2 (regV "räkna") ; + cut_V2 = dirV2 (skära_V) ; + die_V = dö_V ; + dig_V = mk2V "gräva" "grävde" ; + drink_V2 = dirV2 (dricka_V) ; + eat_V2 = dirV2 (äta_V) ; + fall_V = falla_V ; + fear_V2 = dirV2 (regV "frukta") ; + -- FIXME: passive forms are very strange + fight_V = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ; + float_V = flyta_V ; + flow_V = rinna_V ; + fly_V = flyga_V ; + freeze_V = frysa_V ; + give_V = dirV3 giva_V "till"; + hear_V2 = dirV2 (mk2V "höra" "hörde") ; + hit_V2 = dirV2 (slå_V) ; + hold_V2 = dirV2 (hålla_V) ; + hunt_V2 = dirV2 (regV "jaga") ; + kill_V2 = dirV2 (regV "döda") ; + know_V2 = dirV2 (känna_V) ; + laugh_V = regV "skratta" ; + lie_V = ligga_V ; + live_V = leva_V ; + play_V = mk2V "leka" "lekte" ; + pull_V2 = dirV2 (draga_V) ; + push_V2 = dirV2 (mk2V "trycka" "tryckte") ; + rub_V2 = dirV2 (gnida_V) ; + say_V = säga_V ; + scratch_V2 = dirV2 (regV "klia") ; + see_V2 = dirV2 (se_V) ; + sew_V = sy_V ; + sing_V = sjunga_V ; + sit_V = sitta_V ; + sleep_V = sova_V ; + smell_V = regV "lukta" ; + spit_V = regV "spotta" ; + split_V2 = dirV2 (klyva_V) ; + squeeze_V2 = dirV2 (klämma_V) ; + stab_V2 = dirV2 (sticka_V) ; + stand_V = stå_V ; + suck_V2 = dirV2 (suga_V) ; + swell_V = svälla_V ; + swim_V = regV "simma" ; + think_V = mk2V "tänka" "tänkte" ; + throw_V2 = dirV2 (regV "kasta") ; + tie_V2 = dirV2 (knyta_V) ; + turn_V = vända_V ; + vomit_V = mk2V "spy" "spydde" ; + walk_V = gå_V ; + wash_V2 = dirV2 (regV "tvätta") ; + wipe_V2 = dirV2 (regV "torka") ; + +} diff --git a/lib/resource-1.0/abstract/Lexicon.gf b/lib/resource-1.0/abstract/Lexicon.gf index 837fac26f..3d82e1eec 100644 --- a/lib/resource-1.0/abstract/Lexicon.gf +++ b/lib/resource-1.0/abstract/Lexicon.gf @@ -1,47 +1,47 @@ ---1 A Lexicon Lexicon - --- This files gives a list of words whose purpose is to test the GF --- resource grammar. It covers all lexical categories of [Cat Cat.html]. --- By containing some of the most common words, --- it is aimed to cover, with high probability, all morphological --- patterns in the different languages. - --- Using this lexicon for translation is not recommended. The linearizations --- of the words in different languages are not guaranteed to be translation --- equivalents. - abstract Lexicon = Cat ** { - fun +fun add_V3 : V3 ; airplane_N : N ; already_Adv : Adv ; + animal_N : N ; answer_V2S : V2 ; apartment_N : N ; apple_N : N ; art_N : N ; + ashes_N : N ; ask_V2Q : V2 ; baby_N : N ; + back_N : N ; bad_A : A ; bank_N : N ; + bark_N : N ; beautiful_A : A ; become_VA : VA ; beer_N : N ; beg_V2V : V2 ; + belly_N : N ; big_A : A ; bike_N : N ; bird_N : N ; + bite_V2 : V2 ; black_A : A ; + blood_N : N ; + blow_V : V ; blue_A : A ; boat_N : N ; + bone_N : N ; book_N : N ; boot_N : N ; boss_N : N ; boy_N : N ; bread_N : N ; break_V2 : V2 ; + breast_N : N ; + breathe_V : V ; broad_A : A ; brother_N2 : N2 ; brown_A : A ; + burn_V : V ; butter_N : N ; buy_V2 : V2 ; camera_N : N ; @@ -58,82 +58,147 @@ abstract Lexicon = Cat ** { clean_A : A ; clever_A : A ; close_V2 : V2 ; + cloud_N : N ; coat_N : N ; cold_A : A ; come_V : V ; computer_N : N ; + correct_A : A ; country_N : N ; + count_V2 : V2 ; cousin_N : N ; cow_N : N ; + cut_V2 : V2 ; + day_N : N ; die_V : V ; + dig_V : V ; dirty_A : A ; distance_N3 : N3 ; - do_V2 : V2 ; doctor_N : N ; dog_N : N ; door_N : N ; + do_V2 : V2 ; drink_V2 : V2 ; + drink_V2 : V2 ; + dry_A : A ; + dull_A : A ; + dust_N : N ; + ear_N : N ; + earth_N : N ; easy_A2V : A2 ; eat_V2 : V2 ; - enemy_N : N ; + eat_V2 : V2 ; + egg_N : N ; empty_A : A ; + enemy_N : N ; + eye_N : N ; factory_N : N ; + fall_V : V ; + far_Adv : Adv ; father_N2 : N2 ; + fat_N : N ; fear_VS : VS ; + fear_V2 : V2 ; + feather_N : N ; + fight_V2 : V2 ; find_V2 : V2 ; + fingernail_N : N ; + fire_N : N ; fish_N : N ; + float_V : V ; floor_N : N ; + flower_N : N ; + flow_V : V ; + fly_V : V ; + fog_N : N ; + foot_N : N ; + forest_N : N ; forget_V2 : V2 ; + freeze_V : V ; fridge_N : N ; friend_N : N ; fruit_N : N ; + full_A : A ; + fun fun_AV : A ; garden_N : N ; girl_N : N ; + give_V3 : V3 ; glove_N : N ; gold_N : N ; good_A : A ; go_V : V ; + grass_N : N ; green_A : A ; + guts_N : N ; + hair_N : N ; + hand_N : N ; harbour_N : N ; hate_V2 : V2 ; hat_N : N ; have_V2 : V2 ; + head_N : N ; + heart_N : N ; hear_V2 : V2 ; + hear_V2 : V2 ; + heavy_A : A ; hill_N : N ; + hit_V2 : V2 ; + hold_V2 : V2 ; hope_VS : VS ; + horn_N : N ; horse_N : N ; hot_A : A ; house_N : N ; + hunt_V2 : V2 ; + husband_N : N ; + ice_N : N ; important_A : A ; industry_N : N ; iron_N : N ; jump_V : V ; + kill_V2 : V2 ; king_N : N ; + knee_N : N ; + know_V2 : V2 ; know_V2 : V2 ; lake_N : N ; lamp_N : N ; + laugh_V : V ; + leaf_N : N ; learn_V2 : V2 ; leather_N : N ; leave_V2 : V2 ; + left_Ord : Ord ; + leg_N : N ; + lie_V : V ; like_V2 : V2 ; listen_V2 : V2 ; + liver_N : N ; live_V : V ; long_A : A ; lose_V2 : V2 ; + louse_N : N ; love_N : N ; love_V2 : V2 ; man_N : N ; married_A2 : A2 ; meat_N : N ; + meat_N : N ; milk_N : N ; moon_N : N ; mother_N2 : N2 ; mountain_N : N ; + mouth_N : N ; music_N : N ; + name_N : N ; narrow_A : A ; + near_A : A ; + neck_N : N ; new_A : A ; newspaper_N : N ; + night_N : N ; + nose_N : N ; now_Adv : Adv ; number_N : N ; oil_N : N ; @@ -144,33 +209,52 @@ abstract Lexicon = Cat ** { paris_PN : PN ; peace_N : N ; pen_N : N ; + person_N : N ; planet_N : N ; plastic_N : N ; play_V2 : V2 ; + play_V : V ; policeman_N : N ; priest_N : N ; probable_AS : A ; + pull_V2 : V2 ; + push_V2 : V2 ; put_V2 : V2 ; queen_N : N ; radio_N : N ; + rain_N : N ; rain_V0 : V ; read_V2 : V2 ; red_A : A ; religion_N : N ; restaurant_N : N ; + right_Ord : Ord ; river_N : N ; + road_N : N ; rock_N : N ; roof_N : N ; + root_N : N ; + rope_N : N ; + rotten_A : A ; + round_A : A ; rubber_N : N ; + rub_V2 : V2 ; run_V : V ; + salt_N : N ; + sand_N : N ; say_VS : VS ; school_N : N ; science_N : N ; + scratch_V2 : V2 ; sea_N : N ; + seed_N : N ; seek_V2 : V2 ; see_V2 : V2 ; + see_V2 : V2 ; sell_V3 : V3 ; send_V3 : V3 ; + sew_V : V ; + sharp_A : A ; sheep_N : N ; ship_N : N ; shirt_N : N ; @@ -178,52 +262,87 @@ abstract Lexicon = Cat ** { shop_N : N ; short_A : A ; silver_N : N ; + sing_V : V ; sister_N : N ; + sit_V : V ; + skin_N : N ; + sky_N : N ; sleep_V : V ; small_A : A ; + smell_V : V ; + smoke_N : N ; + smooth_A : A ; snake_N : N ; + snow_N : N ; sock_N : N ; song_N : N ; speak_V2 : V2 ; + spit_V : V ; + split_V2 : V2 ; + squeeze_V2 : V2 ; + stab_V2 : V2 ; + stand_V : V ; star_N : N ; steel_N : N ; + stick_N : N ; stone_N : N ; stop_V : V ; stove_N : N ; + straight_A : A ; student_N : N ; stupid_A : A ; + suck_V2 : V2 ; sun_N : N ; + swell_V : V ; + swim_V : V ; switch8off_V2 : V2 ; switch8on_V2 : V2 ; table_N : N ; + tail_N : N ; talk_V3 : V3 ; teacher_N : N ; teach_V2 : V2 ; television_N : N ; thick_A : A ; thin_A : A ; + think_V : V ; + throw_V2 : V2 ; + tie_V2 : V2 ; + tongue_N : N ; + tooth_N : N ; train_N : N ; travel_V : V ; tree_N : N ; - ---- trousers_N : N ; + turn_V : V ; ugly_A : A ; understand_V2 : V2 ; university_N : N ; village_N : N ; + vomit_V : V ; wait_V2 : V2 ; walk_V : V ; warm_A : A ; war_N : N ; + wash_V2 : V2 ; watch_V2 : V2 ; water_N : N ; + water_N : N ; + wet_A : A ; white_A : A ; + wide_A : A ; + wife_N : N ; + wind_N : N ; window_N : N ; wine_N : N ; + wing_N : N ; win_V2 : V2 ; + wipe_V2 : V2 ; woman_N : N ; wonder_VQ : VQ ; wood_N : N ; + worm_N : N ; write_V2 : V2 ; + year_N : N ; yellow_A : A ; young_A : A ; diff --git a/lib/resource-1.0/abstract/Structural.gf b/lib/resource-1.0/abstract/Structural.gf index 477f969f7..ea3fe0301 100644 --- a/lib/resource-1.0/abstract/Structural.gf +++ b/lib/resource-1.0/abstract/Structural.gf @@ -38,6 +38,7 @@ abstract Structural = Cat ** { everything_NP : NP ; everywhere_Adv : Adv ; first_Ord : Ord ; + few_Det : Det ; from_Prep : Prep ; he_Pron : Pron ; here_Adv : Adv ; diff --git a/lib/resource-1.0/doc/clt2006.html b/lib/resource-1.0/doc/clt2006.html index 4ee440495..b7e180545 100644 --- a/lib/resource-1.0/doc/clt2006.html +++ b/lib/resource-1.0/doc/clt2006.html @@ -7,7 +7,7 @@

The GF Resource Grammar Library Version 1.0

Author: Aarne Ranta <aarne (at) cs.chalmers.se>
-Last update: Sat Mar 4 14:20:07 2006 +Last update: Tue Mar 7 16:01:46 2006

@@ -274,9 +274,7 @@ Rosetta Machine Translation (B

Coverage

-

-===Languages==== -

+

Languages

The current GF Resource Project covers ten languages:

@@ -302,9 +300,7 @@ API 1.0 not yet implemented for Danish and Russian

-

-===Morphology==== -

+

Morphology and lexicon

Complete inflection engine

@@ -315,24 +311,20 @@ Complete inflection engine

-High-level access via ParadigmsX; e.g. Swedish: +Basic lexicon

+ +

+It is more important to enable lexicon extensions than to +provide a huge lexicon. +

+

@@ -340,7 +332,32 @@ High-level access via ParadigmsX; e.g. Swedish:

Syntactic structures

- +Texts: +sequences of phrases with punctuation +

+

+Phrases: +declaratives, questions, imperatives, vocatives +

+

+Tense, mood, and polarity: +present, past, future, conditional ; similtaneous, anterior ; positive, negative +

+

+Questions: +yes-no, "wh" ; direct, indirect +

+

+Clauses: +main, relative, embedded (subject, object, adverbial) +

+

+Verb phrases: +intransitive, transitive, ditransitive, prepositional +

+

+Noun phrases: +proper names, pronouns, determiners, possessives, cardinals and ordinals

@@ -378,15 +395,125 @@ Lines of source code (4/3/2006):

-

Structure

+

Structure of the API

+

Language-independent ground API

+

+ +

-

Language-independent ground API

+

The structure of a text sentence

+
+  John walks.
+  
+  TFullStop              : Phr -> Text -> Text
+    (PhrUtt              : PConj -> Utt -> Voc -> Phr
+      NoPConj
+      (UttS              : S -> Utt
+        (UseCl           : Tense -> Anter -> Pol -> Cl -> S
+          TPres              
+          ASimul 
+          PPos 
+          (PredVP        : NP -> VP -> Cl
+            (UsePN       : PN -> NP 
+              john_PN) 
+            (UseV        : V  -> VP
+              walk_V)))) 
+      NoVoc) 
+    TEmpty
+
+

+

+ +

+

Structure in syntax editor

+

+ +

Language-dependent paradigm modules

+

Regular paradigms

+

+Every language implements these regular patterns that take +"dictionary forms" as arguments. +

+
+    regN : Str -> N
+    regA : Str -> A 
+    regV : Str -> V
+
+

+Their usefulness varies. For instance, they +all are quite good in Finnish and English. +In Swedish, less so: +

+
+    regN "val" ---> val, valen, valar, valarna
+
+

+Initializing a lexicon with regXs is +usually a good starting point in grammar development. +

+

+ +

+

Regular paradigms

+

+In Swedish, giving the gender of N improves a lot +

+
+    regGenN "val" neutrum ---> val, valet, val, valen
+
+

+

+There are also special constructs taking other forms: +

+
+    mk2N : (nyckel,nycklar : Str) -> N
+    mk1N : (bilarna : Str) -> N
+  
+    irregV : (dricka, drack, druckit : Str) -> V
+
+

+

+Regular verbs are actually implemented the +Lexin way +

+
+    regV : (talar : Str) -> N
+
+

+

+ +

+

Worst-case paradigms

+

+To cover all situations, worst-case paradigms are given. E.g. Swedish +

+
+    mkN : (apa,apan,apor,aporna : Str) -> N
+    mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> A
+    mkV : (supa,super,sup,söp,supit,supen : Str) -> V
+
+

+

+ +

+

Irregular words

+

+Iregular words in IrregX, e.g. Swedish: +

+
+      draga_V : V = 
+        mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"}) 
+            (variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ;
+
+

+Goal: eliminate the user's need of worst-case functions. +

@@ -395,6 +522,20 @@ Lines of source code (4/3/2006):

Special-purpose APIs

+

+Syntactic structures that are not shared by all languages. +

+

+Not implemented yet. +

+

+Candidates: +

+ +

@@ -402,20 +543,127 @@ Lines of source code (4/3/2006):

+

Compiling

+

+It is a good idea to compile the library, so that it can be opened faster +

+
+    GF/lib/resource-1.0% make
+  
+    writes GF/lib/alltenses
+           GF/lib/present
+           GF/lib/resource-1.0/langs.gfcm
+
+

+If you don't intend to change the library, you never need to process the source +files again. Just do some of +

+
+    gf -nocf langs.gfcm                                    -- all 8 languages
+   
+    gf -nocf -path=alltenses:prelude alltenses/LangSwe.gfc -- Swedish only
+  
+    gf -nocf -path=alltenses:prelude present/LangSwe.gfc   -- Swedish only, present tense only
+
+

+

+ +

Parsing

+The default parser does not work! +

+

+The MCFG parser works in some languages, after waiting appr. 20 seconds +

+
+    p -mcfg -lang=LangEng -cat=S "I would see her"
+  
+    p -mcfg -lang=LangSwe -cat=S "jag skulle se henne"
+  
+    p -mcfg -lang=LangNor -cat=S "jeg ville se henne"
+  
+
+

+Parsing in present/ versions is quicker. +

+

Treebank generation

+Multilingual treebank entry = tree + linearizations +

+

+Some examples on treebank generation, assuming langs.gfcm +

+
+    gr -cat=S   -number=10 -cf | tb                  -- 10 random S
+  
+    gt -cat=Phr -depth=4       | tb -xml | wf ex.xml -- all Phr to depth 4, into file ex.xml
+
+

+Regression testing +

+
+    rf ex.xml | tb -c      -- read treebank from file and compare to present grammars 
+
+

+Updating a treebank +

+
+    rf old.xml | tb -trees | tb -xml | wf new.xml    -- read old from file, write new to file
+
+

+

Treebank-based parsing

+Brute-force method that helps if real parsing is more expensive. +

+
+    make treebank                     -- make treebank with all languages
+  
+    gf -treebank langs.xml            -- start GF by reading the treebank
+  
+    > ut -strings -treebank=LangIta   -- show all Ita strings
+  
+    > ut -treebank=LangIta -raw "Quello non si romperebbe" -- look up a string
+  
+    > i -nocf langs.gfcm              -- read grammar to be able to linearize
+  
+    > ut -treebank=LangIta "Quello non si romperebbe" | l -multi  -- translate to all
+
+

+

Morphology

+Use morphological analyser +

+
+    gf -nocf -retain -path=alltenses:prelude alltenses/LangSwe.gf
+    > ma "jag kan inte höra vad du säger"
+
+

+

+Try out a morphology quiz +

+
+    > mq -cat=V
+
+

+

+Try out inflection patterns +

+
+    gf -retain -path=alltenses:prelude alltenses/ParadigmsSwe.gfr
+    > cc regV "lyser"
+
+

+

@@ -423,6 +671,16 @@ Lines of source code (4/3/2006):

Syntax editing

+We start a demo by +

+
+  gfeditor langs.gfcm
+
+

+

+ +

+

Efficient parsing via application grammar

@@ -469,6 +727,6 @@ Lines of source code (4/3/2006):

Extend old modules or add a new one?

- + diff --git a/lib/resource-1.0/doc/clt2006.txt b/lib/resource-1.0/doc/clt2006.txt index 5b215297a..dd348b2da 100644 --- a/lib/resource-1.0/doc/clt2006.txt +++ b/lib/resource-1.0/doc/clt2006.txt @@ -217,7 +217,7 @@ Rosetta Machine Translation ([Book 1994 http://citeseer.ist.psu.edu/181924.html] ==Coverage== -===Languages==== +===Languages=== The current GF Resource Project covers ten languages: - ``Dan``ish @@ -240,7 +240,7 @@ API 1.0 not yet implemented for Danish and Russian #NEW -===Morphology==== +===Morphology and lexicon=== Complete inflection engine - all word classes @@ -248,24 +248,16 @@ Complete inflection engine - all inflectional paradigms -High-level access via ``ParadigmsX``; e.g. Swedish: -- worst-case functions -``` - mkV : (supa,super,sup,söp,supit,supen : Str) -> V ; -``` -- common patterns -``` - regV : (talar : Str) -> V ; - irregV : (dricka, drack, druckit : Str) -> V ; -``` -- irregular words in ``IrregX``: -``` - draga_V : V = - mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"}) - (variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ; -``` +Basic lexicon +- 100 structural words +- 350 content words, mainly for testing +- these include the 207 [Swadesh words http://en.wiktionary.org/wiki/Swadesh_List] +It is more important to enable lexicon extensions than to +provide a huge lexicon. +- technical lexica can have very special words, which tend to be regular + @@ -274,7 +266,28 @@ High-level access via ``ParadigmsX``; e.g. Swedish: ===Syntactic structures=== -[Lang.png] +Texts: +sequences of phrases with punctuation + +Phrases: +declaratives, questions, imperatives, vocatives + +Tense, mood, and polarity: +present, past, future, conditional ; similtaneous, anterior ; positive, negative + +Questions: +yes-no, "wh" ; direct, indirect + +Clauses: +main, relative, embedded (subject, object, adverbial) + +Verb phrases: +intransitive, transitive, ditransitive, prepositional + +Noun phrases: +proper names, pronouns, determiners, possessives, cardinals and ordinals + + #NEW @@ -307,16 +320,117 @@ Lines of source code (4/3/2006): #NEW -==Structure== +==Structure of the API== + +===Language-independent ground API=== + +[Lang.png] + #NEW -===Language-independent ground API=== +===The structure of a text sentence=== + +``` +John walks. + +TFullStop : Phr -> Text -> Text + (PhrUtt : PConj -> Utt -> Voc -> Phr + NoPConj + (UttS : S -> Utt + (UseCl : Tense -> Anter -> Pol -> Cl -> S + TPres + ASimul + PPos + (PredVP : NP -> VP -> Cl + (UsePN : PN -> NP + john_PN) + (UseV : V -> VP + walk_V)))) + NoVoc) + TEmpty +``` + +#NEW + +===Structure in syntax editor=== + +[editor.png] + #NEW ===Language-dependent paradigm modules=== +====Regular paradigms==== + +Every language implements these regular patterns that take +"dictionary forms" as arguments. +``` + regN : Str -> N + regA : Str -> A + regV : Str -> V +``` +Their usefulness varies. For instance, they +all are quite good in Finnish and English. +In Swedish, less so: +``` + regN "val" ---> val, valen, valar, valarna +``` +Initializing a lexicon with ``regX``s is +usually a good starting point in grammar development. + + +#NEW + +====Regular paradigms==== + +In Swedish, giving the gender of ``N`` improves a lot +``` + regGenN "val" neutrum ---> val, valet, val, valen +``` + +There are also special constructs taking other forms: +``` + mk2N : (nyckel,nycklar : Str) -> N + mk1N : (bilarna : Str) -> N + + irregV : (dricka, drack, druckit : Str) -> V +``` + +Regular verbs are actually implemented the +[Lexin http://lexin.nada.kth.se/sve-sve.shtml] way +``` + regV : (talar : Str) -> N +``` + + +#NEW + +====Worst-case paradigms==== + +To cover all situations, worst-case paradigms are given. E.g. Swedish +``` + mkN : (apa,apan,apor,aporna : Str) -> N + mkA : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> A + mkV : (supa,super,sup,söp,supit,supen : Str) -> V +``` + + +#NEW + +====Irregular words==== + +Iregular words in ``IrregX``, e.g. Swedish: +``` + draga_V : V = + mkV (variants { "dra"; "draga"}) (variants { "drar" ; "drager"}) + (variants { "dra" ; "drag" }) "drog" "dragit" "dragen" ; +``` +Goal: eliminate the user's need of worst-case functions. + + + #NEW ===Language-dependent syntax extensions=== @@ -325,34 +439,139 @@ Lines of source code (4/3/2006): ===Special-purpose APIs=== +Syntactic structures that are not shared by all languages. + +Not implemented yet. + +Candidates: +- ``Nor`` post-possessives: ``bilen min`` +- ``Fre`` question forms: ``est-ce que tu dors ?`` + #NEW ===How to use as top-level grammar=== +#NEW + +===Compiling=== + +It is a good idea to compile the library, so that it can be opened faster +``` + GF/lib/resource-1.0% make + + writes GF/lib/alltenses + GF/lib/present + GF/lib/resource-1.0/langs.gfcm +``` +If you don't intend to change the library, you never need to process the source +files again. Just do some of +``` + gf -nocf langs.gfcm -- all 8 languages + + gf -nocf -path=alltenses:prelude alltenses/LangSwe.gfc -- Swedish only + + gf -nocf -path=alltenses:prelude present/LangSwe.gfc -- Swedish only, present tense only +``` + + #NEW ===Parsing=== +The default parser does not work! + +The MCFG parser works in some languages, after waiting appr. 20 seconds +``` + p -mcfg -lang=LangEng -cat=S "I would see her" + + p -mcfg -lang=LangSwe -cat=S "jag skulle se henne" + + p -mcfg -lang=LangNor -cat=S "jeg ville se henne" + +``` +Parsing in ``present/`` versions is quicker. + + #NEW ===Treebank generation=== +Multilingual treebank entry = tree + linearizations + +Some examples on treebank generation, assuming ``langs.gfcm`` +``` + gr -cat=S -number=10 -cf | tb -- 10 random S + + gt -cat=Phr -depth=4 | tb -xml | wf ex.xml -- all Phr to depth 4, into file ex.xml +``` +Regression testing +``` + rf ex.xml | tb -c -- read treebank from file and compare to present grammars +``` +Updating a treebank +``` + rf old.xml | tb -trees | tb -xml | wf new.xml -- read old from file, write new to file +``` + + + #NEW ===Treebank-based parsing=== +Brute-force method that helps if real parsing is more expensive. +``` + make treebank -- make treebank with all languages + + gf -treebank langs.xml -- start GF by reading the treebank + + > ut -strings -treebank=LangIta -- show all Ita strings + + > ut -treebank=LangIta -raw "Quello non si romperebbe" -- look up a string + + > i -nocf langs.gfcm -- read grammar to be able to linearize + + > ut -treebank=LangIta "Quello non si romperebbe" | l -multi -- translate to all +``` + + #NEW ===Morphology=== +Use morphological analyser +``` + gf -nocf -retain -path=alltenses:prelude alltenses/LangSwe.gf + > ma "jag kan inte höra vad du säger" +``` + +Try out a morphology quiz +``` + > mq -cat=V +``` + +Try out inflection patterns +``` + gf -retain -path=alltenses:prelude alltenses/ParadigmsSwe.gfr + > cc regV "lyser" +``` + + #NEW + #NEW ===Syntax editing=== +We start a demo by +``` gfeditor langs.gfcm + +[editor.png] + + #NEW ===Efficient parsing via application grammar=== diff --git a/lib/resource-1.0/doc/editor.png b/lib/resource-1.0/doc/editor.png new file mode 100644 index 0000000000000000000000000000000000000000..63a3161bfc38346991ade7840c152f7a9172284a GIT binary patch literal 20552 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 Str -> {s : Number => Str} = \x,y -> { s = table Number [x ; y] diff --git a/lib/resource-1.0/finnish/LexiconFin.gf b/lib/resource-1.0/finnish/LexiconFin.gf index 0bbe9d8b8..1d3cd997d 100644 --- a/lib/resource-1.0/finnish/LexiconFin.gf +++ b/lib/resource-1.0/finnish/LexiconFin.gf @@ -1,6 +1,6 @@ --# -path=.:prelude -concrete LexiconFin of Lexicon = CatFin ** open ParadigmsFin in { +concrete LexiconFin of Lexicon = CatFin ** open MorphoFin, ParadigmsFin in { flags optimize=values ; @@ -51,8 +51,8 @@ lin "lapsina" "lapsissa" "lasten" "lapsia" "lapsiin" ; church_N = nLukko "kirkko" ; city_N = regN "kaupunki" ; - clean_A = regADeg "puhdas" ; - clever_A = regADeg "viisas" ; + clean_A = regA "puhdas" ; + clever_A = regA "viisas" ; close_V2 = dirV2 (regV "sulkea") ; coat_N = regN "takki" ; cold_A = mkADeg (nLukko "kylmä") "kylmempi" "kylmin" ; @@ -121,7 +121,8 @@ lin love_V2 = caseV2 (regV "rakastaa") partitive ; man_N = mkN "mies" "miehen" "miehenä" "miestä" "mieheen" "miehinä" "miehissä" "miesten" "miehiä" "miehiin" ; - married_A2 = mkA2 (mkA (nRae "avioitunut" "avioituneena")) (postPrep genitive "kanssa") ; + married_A2 = + mkA2 (mkA (nRae "avioitunut" "avioituneena")) (postPrep genitive "kanssa") ; meat_N = nLukko "liha" ; milk_N = nLukko "maito" ; moon_N = regN "kuu" ; @@ -149,7 +150,7 @@ lin radio_N = reg2N "radio" "radioita" ; rain_V0 = mkV0 (reg2V "sataa" "satoi") ; read_V2 = dirV2 (regV "lukea") ; - red_A = regADeg "punainen" ; + red_A = regA "punainen" ; religion_N = nLukko "uskonto" ; restaurant_N = nLukko "ravintola" ; river_N = nArpi "joki" ; @@ -172,7 +173,7 @@ lin shirt_N = nLukko "paita" ; shoe_N = nLukko "kenkä" ; shop_N = nLukko "kauppa" ; - short_A = regADeg "lyhyt" ; + short_A = regA "lyhyt" ; silver_N = regN "hopea" ; sister_N = nLukko "sisko" ; sleep_V = regV "nukkua" ; @@ -185,7 +186,7 @@ lin stone_N = nSylki "kivi" ; stove_N = reg3N "liesi" "lieden" "liesiä" ; student_N = reg2N "opiskelija" "opiskelijoita" ; - stupid_A = regADeg "tyhmä" ; + stupid_A = regA "tyhmä" ; sun_N = nLukko "aurinko" ; switch8off_V2 = dirV2 (regV "sammuttaa") ; --- switch8on_V2 = dirV2 (regV "sytyttää") ; --- @@ -194,8 +195,8 @@ lin teacher_N = nLukko "opettaja" ; teach_V2 = dirV2 (regV "opettaa") ; television_N = reg2N "televisio" "televisioita" ; - thick_A = regADeg "paksu" ; - thin_A = regADeg "ohut" ; + thick_A = regA "paksu" ; + thin_A = regA "ohut" ; train_N = nLukko "juna" ; travel_V = regV "matkustaa" ; tree_N = regN "puu" ; @@ -214,7 +215,7 @@ lin war_N = nLukko "sota" ; watch_V2 = dirV2 (regV "katsella") ; water_N = reg3N "vesi" "veden" "vesiä" ; - white_A = regADeg "valkoinen" ; + white_A = regA "valkoinen" ; window_N = reg2N "ikkuna" "ikkunoita" ; wine_N = regN "viini" ; win_V2 = dirV2 (regV "voittaa") ; @@ -222,7 +223,7 @@ lin wonder_VQ = mkVQ (regV "ihmetellä") ; wood_N = regN "puu" ; write_V2 = dirV2 (regV "kirjoittaa") ; - yellow_A = regADeg "keltainen" ; + yellow_A = regA "keltainen" ; young_A = mkADeg (nArpi "nuori") "nuorempi" "nuorin" ; do_V2 = dirV2 ( @@ -237,13 +238,137 @@ lin put_V2 = dirV2 (regV "panna") ; stop_V = regV "pysähtyä" ; jump_V = regV "hypätä" ; -{- - here_Adv = mkAdv "täällä" ; - here7to_Adv = mkAdv "tänne" ; - here7from_Adv = mkAdv "täältä" ; - there_Adv = mkAdv "siellä" ; --- tuolla - there7to_Adv = mkAdv "sinne" ; - there7from_Adv = mkAdv "sieltä" ; --} + left_Ord = mkOrd (regN "vasen") ; + right_Ord = mkOrd (regN "oikea") ; + far_Adv = mkAdv "kaukana" ; + correct_A = regA "oikea" ; + dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ; + dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ; + full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ; + heavy_A = regA "raskas" ; + near_A = regA "läheinen" ; + rotten_A = regA "mätä" ; + round_A = regA "pyöreä" ; + sharp_A = regA "terävä" ; + smooth_A = regA "sileä" ; + straight_A = mkADeg (regN "suora") "suorempi" "suorin" ; + wet_A = mkADeg (regN "märkä") "märempi" "märin" ; + wide_A = regA "leveä" ; + animal_N = reg3N "eläin" "eläimen" "eläimiä" ; + ashes_N = regN "tuhka" ; + back_N = regN "selkä" ; + bark_N = regN "kaarna" ; + belly_N = regN "vatsa" ; + blood_N = nMeri "veri" ; + bone_N = regN "luu" ; + breast_N = regN "rinta" ; + cloud_N = reg2N "pilvi" "pilviä" ; + day_N = regN "päivä" ; + dust_N = regN "pöly" ; + ear_N = regN "korva" ; + earth_N = regN "maa" ; + egg_N = regN "muna" ; + eye_N = regN "silmä" ; + fat_N = regN "rasva" ; + feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ; + fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ; + fire_N = reg2N "tuli" "tulia" ; + flower_N = regN "kukka" ; + fog_N = regN "sumu" ; + foot_N = regN "jalka" ; + forest_N = regN "metsä" ; + grass_N = regN "ruoho" ; + guts_N = regN "sisälmys" ; --- suoli + hair_N = regN "hius" ; + hand_N = reg3N "käsi" "käden" "käsiä" ; + head_N = regN "pää" ; + heart_N = reg3N "sydän" "sydämen" "sydämiä" ; + horn_N = reg2N "sarvi" "sarvia" ; + husband_N = mkN "mies" "miehen" "miehenä" "miestä" "mieheen" + "miehinä" "miehissä" "miesten" "miehiä" "miehiin" ; + ice_N = regN "jää" ; + knee_N = reg2N "polvi" "polvia" ; + leaf_N = reg2N "lehti" "lehtiä" ; + leg_N = regN "jalka" ; --- sääri + liver_N = regN "maksa" ; + louse_N = regN "lude" ; + mouth_N = regN "suu" ; + name_N = reg2N "nimi" "nimiä" ; + neck_N = regN "niska" ; + night_N = regN "yö" ; + nose_N = regN "nenä" ; + person_N = regN "henkilö" ; + rain_N = regN "sade" ; + road_N = regN "tie" ; + root_N = reg2N "juuri" "juuria" ; + rope_N = reg3N "köysi" "köyden" "köysiä" ; + salt_N = regN "suola" ; + sand_N = regN "hiekka" ; + seed_N = regN "siemen" ; + skin_N = regN "nahka" ; + sky_N = reg3N "taivas" "taivaan" "taivaita" ; + smoke_N = regN "savu" ; + snow_N = sgpartN (nMeri "lumi") "lunta" ; + stick_N = regN "keppi" ; + tail_N = regN "häntä" ; + tongue_N = reg2N "kieli" "kieliä" ; + tooth_N = regN "hammas" ; + wife_N = regN "vaimo" ; + wind_N = reg2N "tuuli" "tuulia" ; + wing_N = reg2N "siipi" "siipiä" ; + worm_N = regN "mato" ; + year_N = reg3N "vuosi" "vuoden" "vuosia" ; + bite_V2 = dirV2 (regV "purra") ; + blow_V = regV "puhaltaa" ; + burn_V = regV "palaa" ; + count_V2 = dirV2 (regV "laskea") ; + cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ; + dig_V = regV "kaivaa" ; + fall_V = reg3V "pudota" "putoan" "putosi" ; + fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ; + fight_V2 = dirV2 (regV "taistella") ; + float_V = regV "kellua" ; + flow_V = reg3V "virrata" "virtaan" "virtasi" ; + fly_V = regV "lentää" ; + freeze_V = regV "jäätyä" ; + give_V3 = dirdirV3 (regV "antaa") ; + hit_V2 = dirV2 (regV "lyödä") ; + hold_V2 = dirV2 (regV "pitää") ; + hunt_V2 = dirV2 (regV "metsästää") ; + kill_V2 = dirV2 (regV "tappaa") ; + laugh_V = reg3V "nauraa" "nauran" "nauroi" ; + lie_V = reg3V "maata" "makaan" "makasi" ; + play_V = regV "pelata" ; + pull_V2 = dirV2 (regV "vetää") ; + push_V2 = dirV2 (regV "työntää") ; + rub_V2 = dirV2 (regV "hieroa") ; + scratch_V2 = dirV2 (regV "raapia") ; + sew_V = regV "kylvää" ; + sing_V = regV "laulaa" ; + sit_V = regV "istua" ; + smell_V = reg2V "haistaa" "haistoi" ; + spit_V = regV "sylkeä" ; + split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ; + squeeze_V2 = dirV2 (regV "puristaa") ; + stab_V2 = dirV2 (regV "pistää") ; + stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään" + "seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät + suck_V2 = dirV2 (regV "imeä") ; + swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan" + "turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ; + swim_V = reg3V "uida" "uin" "ui" ; + think_V = reg3V "ajatella" "ajattelen" "ajatteli" ; + throw_V2 = dirV2 (regV "heittää") ; + tie_V2 = dirV2 (regV "sitoa") ; + turn_V = regV "kääntyä" ; + vomit_V = regV "oksentaa" ; + wash_V2 = dirV2 (regV "pestä") ; + wipe_V2 = dirV2 (regV "pyyhkiä") ; + + breathe_V = regV "hengittää" ; + + oper + mkOrd : N -> Ord ; + mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ; } ; diff --git a/lib/resource-1.0/finnish/ParadigmsFin.gf b/lib/resource-1.0/finnish/ParadigmsFin.gf index 1f7d8bfa9..0120d62e8 100644 --- a/lib/resource-1.0/finnish/ParadigmsFin.gf +++ b/lib/resource-1.0/finnish/ParadigmsFin.gf @@ -224,7 +224,7 @@ oper -- The regular adjectives are based on $regN$ in the positive. - regADeg : (punainen : Str) -> A ; + regA : (punainen : Str) -> A ; --2 Verbs @@ -490,13 +490,15 @@ reg3N = \vesi,veden,vesi in regAdjective x kivempaa kivinta ** {lock_A = <>} ; - regADeg suuri = + regA suuri = let suur = regN suuri in mkADeg suur (init (suur.s ! NCase Sg Gen) + "mpi") (init (suur.s ! NCase Pl Ess)) ; + regADeg = regA ; -- for bw compat + mkV a b c d e f g h i j k l = mkVerb a b c d e f g h i j k l ** {sc = NPCase Nom ; lock_V = <>} ; diff --git a/lib/resource-1.0/french/LexiconFre.gf b/lib/resource-1.0/french/LexiconFre.gf index 04d57e91d..0467041f3 100644 --- a/lib/resource-1.0/french/LexiconFre.gf +++ b/lib/resource-1.0/french/LexiconFre.gf @@ -1,6 +1,7 @@ --# -path=.:../romance:../common:../abstract:../../prelude -concrete LexiconFre of Lexicon = CatFre ** open ParadigmsFre, IrregFre in { +concrete LexiconFre of Lexicon = CatFre ** + open MorphoFre, ParadigmsFre, IrregFre in { flags optimize=values ; @@ -71,6 +72,7 @@ lin factory_N = regGenN "usine" feminine ; father_N2 = deN2 (regGenN "père" masculine) ; fear_VS = mkVS (v2V craindre_V2) ; + fear_V2 = dirV2 (v2V craindre_V2) ; find_V2 = dirV2 (regV "trouver") ; fish_N = regGenN "poisson" masculine ; floor_N = regGenN "plancher" masculine ; @@ -224,4 +226,127 @@ lin stop_V = reflV (regV "arrêter") ; jump_V = regV "sauter" ; + left_Ord = mkOrd (regA "gauche") ; + right_Ord = mkOrd (regA "droite") ; + far_Adv = mkAdv "loin" ; + correct_A = regA "correct" ; + dry_A = (mkA "sec" "sèche" "secs" "sèches") ; + dull_A = regA "émoussé" ; + full_A = regA "plein" ; + heavy_A = regA "lourd" ; + near_A = regA "proche" ; + rotten_A = regA "pourri" ; + round_A = regA "rond" ; + sharp_A = regA "tranchant" ; + smooth_A = regA "lisse" ; + straight_A = regA "droite" ; + wet_A = regA "mouillé" ; + wide_A = regA "large" ; + animal_N = regN "animal" ; + ashes_N = regGenN "cendre" masculine ; + back_N = regN "dos" ; + bark_N = regN "écorce" ; + belly_N = regGenN "ventre" masculine ; + blood_N = regN "sang" ; + bone_N = regN "os" ; + breast_N = regN "sein" ; --- poitrine + cloud_N = regGenN "nuage" masculine ; + day_N = regN "jour" ; + dust_N = regN "poussière" ; + ear_N = regN "oreille" ; + earth_N = regN "terre" ; + egg_N = regN "oeuf" ; + eye_N = mkN "oeil" "yeux" masculine ; + fat_N = regN "graisse" ; + feather_N = regN "plume" ; + fingernail_N = regGenN "ongle" masculine ; + fire_N = regN "feu" ; + flower_N = regGenN "fleur" feminine ; + fog_N = regN "brouillard" ; + foot_N = regN "pied" ; + forest_N = regGenN "forêt" feminine ; + grass_N = regN "herbe" ; + guts_N = regN "entraille" ; + hair_N = regN "cheveu" ; + hand_N = regGenN "main" feminine ; + head_N = regN "tête" ; + heart_N = regN "coeur" ; + horn_N = regGenN "corne" masculine ; + husband_N = regN "mari" ; + ice_N = regN "glace" ; + knee_N = regN "genou" ; + leaf_N = regN "feuille" ; + leg_N = regN "jambe" ; + liver_N = regGenN "foie" masculine ; + louse_N = regN "pou" ; + mouth_N = regN "bouche" ; + name_N = regN "nom" ; + neck_N = mkN "cou" "cous" masculine ; + night_N = regGenN "nuit" feminine ; + nose_N = regN "nez" ; + person_N = regN "personne" ; + rain_N = regN "pluie" ; + road_N = regN "route" ; + root_N = regN "racine" ; + rope_N = regN "corde" ; + salt_N = regN "sel" ; + sand_N = regGenN "sable" masculine ; + seed_N = regN "graine" ; + skin_N = regN "peau" ; + sky_N = mkN "ciel" "cieux" masculine ; + smoke_N = regN "fumée" ; + snow_N = regN "neige" ; + stick_N = regN "bâton" ; + tail_N = regN "queue" ; + tongue_N = regN "langue" ; + tooth_N = regGenN "dent" feminine ; + wife_N = regN "femme" ; + wind_N = regN "vent" ; + wing_N = regN "aile" ; + worm_N = regN "ver" ; + year_N = regN "an" ; --- année + bite_V2 = mordre_V2 ; + blow_V = regV "souffler" ; + breathe_V = regV "respirer" ; + burn_V = regV "brûler" ; + count_V2 = dirV2 (regV "conter") ; + cut_V2 = dirV2 (regV "tailler") ; + dig_V = regV "creuser" ; + fall_V = regV "tomber" ; + fight_V2 = dirV2 (regV "lutter") ; + float_V = regV "flotter" ; + flow_V = regV "couler" ; + fly_V = regV "voler" ; + freeze_V = reg3V "geler" "gèle" "gèlera" ; + give_V3 = dirdirV3 (regV "donner") ; + hit_V2 = dirV2 (regV "frapper") ; + hunt_V2 = dirV2 (regV "chasser") ; + kill_V2 = dirV2 (regV "tuer") ; + laugh_V = rire_V2 ; + lie_V = reflV étendre_V2 ; + play_V = regV "jouer" ; + pull_V2 = dirV2 (regV "tirer") ; + push_V2 = dirV2 (regV "pousser") ; + rub_V2 = dirV2 (regV "frotter") ; + scratch_V2 = dirV2 (regV "gratter") ; + sew_V = coudre_V2 ; + sing_V = regV "chanter" ; + sit_V = reflV asseoir_V2 ; + smell_V = v2V ( sentir_V2) ; + spit_V = regV "cracher" ; + squeeze_V2 = dirV2 (regV "serrer") ; + stab_V2 = dirV2 (regV "poignarder") ; + stand_V = reflV (reg3V "lever" "lève" "lèvera") ; + suck_V2 = dirV2 (regV "sucer") ; + swell_V = regV "gonfler" ; + swim_V = regV "nager" ; + think_V = regV "penser" ; + throw_V2 = dirV2 (regV "jeter") ; + tie_V2 = dirV2 (regV "lier") ; + turn_V = regV "tourner" ; + vomit_V = regV "vomir" ; + wash_V2 = dirV2 (regV "laver") ; + wipe_V2 = dirV2 (regV "essuyer") ; + + } ; diff --git a/lib/resource-1.0/german/LexiconGer.gf b/lib/resource-1.0/german/LexiconGer.gf index 1193b00a2..d6051e699 100644 --- a/lib/resource-1.0/german/LexiconGer.gf +++ b/lib/resource-1.0/german/LexiconGer.gf @@ -202,7 +202,8 @@ lin tree_N = reg2N "Baum" "Bäume" masculine ; ---- trousers_N = regN "trousers" ; ---- pl t ! ugly_A = regA "häßlich" ; - understand_V2 = dirV2 (irregV "verstehen" "versteht" "verstand" "verstände" "verstanden") ; + understand_V2 = + dirV2 (irregV "verstehen" "versteht" "verstand" "verstände" "verstanden") ; university_N = reg2N "Universitet" "Universiteten" feminine ; village_N = reg2N "Dorf" "Dörfer" neuter ; wait_V2 = mkV2 (regV "warten") (mkPrep "auf" accusative) ; @@ -222,4 +223,136 @@ lin 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! + far_Adv = mkAdv "weit" ; + correct_A = (regA "recht") ; + dry_A = regA "trocken" ; + dull_A = regA "dull" ; + full_A = regA "voll" ; + heavy_A = regA "schwer" ; + near_A = regA "nahe" ; + rotten_A = (regA "rotten") ; + round_A = regA "rund" ; + sharp_A = regA "scharf" ; + smooth_A = regA "eben" ; + 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" ; + blood_N = regN "Blut" ; + bone_N = regN "Bein" ; + breast_N = regN "Brust" ; + cloud_N = regN "Wolk" ; + day_N = regN "Tag" ; + dust_N = regN "dust" ; + ear_N = regN "Ohre" ; + earth_N = regN "Erde" ; + egg_N = regN "Ei" ; + eye_N = regN "Auge" ; + fat_N = regN "dick" ; + feather_N = regN "feather" ; + fingernail_N = regN "Nagel" ; + 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" ; + 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" ; + 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") ; + +-} + } ; diff --git a/lib/resource-1.0/italian/LexiconIta.gf b/lib/resource-1.0/italian/LexiconIta.gf index 0676cd975..785771824 100644 --- a/lib/resource-1.0/italian/LexiconIta.gf +++ b/lib/resource-1.0/italian/LexiconIta.gf @@ -1,6 +1,7 @@ --# -path=.:../romance:../common:../abstract:../../prelude -concrete LexiconIta of Lexicon = CatIta ** open ParadigmsIta, BeschIta in { +concrete LexiconIta of Lexicon = CatIta ** open + MorphoIta, ParadigmsIta, BeschIta in { flags optimize=values ; @@ -223,12 +224,130 @@ lin put_V2 = dirV2 (verboV (mettere_57 "mettere")) ; stop_V = reflV (regV "fermare") ; jump_V = regV "saltare" ; -{- - here_Adv = mkAdv "quì" ; - here7to_Adv = mkAdv "quì" ; - here7from_Adv = mkAdv ["da quì"] ; - there_Adv = mkAdv "lì" ; - there7to_Adv = mkAdv "lì" ; - there7from_Adv = mkAdv ["da lì"] ; --} + + left_Ord = mkOrd (regA "sinistro") ; + right_Ord = mkOrd (regA "destro") ; + far_Adv = mkAdv "lontano" ; + correct_A = regA "corretto" ; + dry_A = regA "secco" ; + dull_A = regA "noioso" ; + full_A = regA "pieno" ; + heavy_A = regA "pesante" ; + near_A = regA "vicino" ; + rotten_A = regA "marcio" ; + round_A = regA "rotondo" ; + sharp_A = regA "aguzzo" ; + smooth_A = regA "liscio" ; + straight_A = regA "diretto" ; + wet_A = regA "bagnato" ; + wide_A = regA "largo" ; + animal_N = regN "animale" ; + ashes_N = regN "cenere" ; + back_N = regN "schiena" ; + bark_N = regN "corteccia" ; + belly_N = regN "pancia" ; + blood_N = regN "sangue" ; + bone_N = regN "osso" ; + breast_N = regN "seno" ; + cloud_N = regN "nuvola" ; + day_N = regN "giorno" ; + dust_N = regN "polvere" ; + ear_N = regN "orecchio" ; + earth_N = regN "terra" ; + egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl + eye_N = regN "occhio" ; + fat_N = regN "grasso" ; + feather_N = regN "piuma" ; + fingernail_N = regN "unghia" ; + fire_N = regN "fuoco" ; + flower_N = regN "fiore" ; + fog_N = regN "nebbia" ; + foot_N = regN "piede" ; + forest_N = regN "bosco" ; + grass_N = regN "erba" ; + guts_N = regN "intestino" ; + hair_N = regN "capello" ; + hand_N = femN (regN "mano") ; + head_N = regN "testa" ; + heart_N = regN "cuore" ; + horn_N = regN "corno" ; + husband_N = regN "marito" ; + ice_N = regN "ghiaccio" ; + knee_N = regN "ginocchio" ; + leaf_N = regN "foglia" ; + leg_N = regN "gamba" ; + liver_N = regN "fegato" ; + louse_N = regN "pidocchio" ; + mouth_N = regN "bocca" ; + name_N = regN "nome" ; + neck_N = regN "collo" ; + night_N = femN (regN "notte") ; + nose_N = regN "naso" ; + person_N = regN "persona" ; + rain_N = regN "pioggia" ; + road_N = regN "strada" ; + root_N = femN (regN "radice") ; + rope_N = regN "corda" ; + salt_N = regN "sale" ; + sand_N = regN "sabbia" ; + seed_N = regN "seme" ; + skin_N = femN (regN "pelle") ; + sky_N = regN "cielo" ; + smoke_N = regN "fumo" ; + snow_N = femN (regN "neve") ; + stick_N = regN "bastone" ; + tail_N = regN "coda" ; + tongue_N = regN "lingua" ; + tooth_N = regN "dente" ; + wife_N = regN "donna" ; + wind_N = regN "vento" ; + wing_N = regN "ala" ; + worm_N = regN "verme" ; + year_N = regN "anno" ; + bite_V2 = dirV2 (verboV (esplodere_51 "mordere")) ; + blow_V = regV "soffiare" ; + burn_V = regV "bruciare" ; + count_V2 = dirV2 (regV "contare") ; + cut_V2 = dirV2 (regV "tagliare") ; + dig_V = regV "scavare" ; + fall_V = essereV (verboV (cadere_28 "cadere")) ; + fear_V2 = dirV2 (verboV (temere_20 "temere")) ; + fight_V2 = dirV2 (regV "lottare") ; + float_V = regV "galleggiare" ; + flow_V = verboV (finire_100 "fluire") ; + fly_V = regV "volare" ; + freeze_V = regV "gelare" ; + give_V3 = dirdirV3 (verboV (dare_15 "dare")) ; + hit_V2 = dirV2 (regV "colpire") ; + hold_V2 = dirV2 (verboV (venire_110 "tenire")) ; + hunt_V2 = dirV2 (regV "cacciare") ; + kill_V2 = dirV2 (verboV (ridere_74 "uccidere")) ; + laugh_V = verboV (ridere_74 "ridere") ; + lie_V = verboV (piacere_64 "giacere") ; + play_V = regV "giocare" ; + pull_V2 = dirV2 (regV "tirare") ; + push_V2 = dirV2 (verboV (cingere_31 "spingere")) ; + rub_V2 = dirV2 (regV "strofinare") ; + scratch_V2 = dirV2 (regV "graffiare") ; + sew_V = verboV (cucire_103 "cucire") ; + sing_V = regV "cantare" ; + sit_V = reflV (verboV (sedere_84 "sedere")) ; + smell_V = verboV (sentire_99 "sentire") ; + spit_V = regV "sputare" ; + split_V2 = dirV2 (verboV (ridere_74 "dividere")) ; + squeeze_V2 = dirV2 (verboV (temere_20 "spremere")) ; + stab_V2 = dirV2 (regV "pugnalare") ; + stand_V = verboV (stare_16 "stare") ; ---- in piedi + suck_V2 = dirV2 (regV "succhiare") ; + swell_V = regV "gonfiare" ; + swim_V = regV "nuotare" ; + think_V = regV "pensare" ; + throw_V2 = dirV2 (regV "gettare") ; + tie_V2 = dirV2 (regV "legare") ; + turn_V = regV "tornare" ; + vomit_V = regV "vomitare" ; + wash_V2 = dirV2 (regV "lavare") ; + wipe_V2 = dirV2 (regV "asciugare") ; + breathe_V = (regV "respirare") ; + } ; diff --git a/lib/resource-1.0/minimal/MkLex.hs b/lib/resource-1.0/minimal/MkLex.hs index 3260843d5..94525126f 100644 --- a/lib/resource-1.0/minimal/MkLex.hs +++ b/lib/resource-1.0/minimal/MkLex.hs @@ -1,12 +1,26 @@ module MkLexicon where import Char +import qualified Data.Set as S + +-- apply function o to each line in file f allLines o f = do s <- readFile f mapM_ (putStrLn . o) (filter noComm (lines s)) +-- take each line in file k as a key, and choose those lines in file f +-- that match any of the keys (i.e. whose first word matches it) +chooseKeys k f = do + keys <- readFile k >>= return . (S.fromList . lines) + let choose line = case words line of + w:_ -> S.member w keys + _ -> False + old <- readFile f >>= return . lines + mapM_ (putStrLn . drop 2) $ filter choose old -- to remove extra indent + + -- discard comments and empty lines noComm s = case s of @@ -141,3 +155,10 @@ getAllThose sought given = do gi <- readFile given let so = [w | l <- lines s, w:_ <- [words l]] mapM_ putStrLn $ allThose so $ lines gi + + +-- Swadesh 7/3/2006: replace string defs with f = f ; + +reuseLex line = case words line of + w : "=" : _ | elem '"' line -> " " ++ w ++ " = " ++ w ++ " ;" + _ -> line diff --git a/lib/resource-1.0/norwegian/LexiconNor.gf b/lib/resource-1.0/norwegian/LexiconNor.gf index 9dd4dd0b8..ed9d351c1 100644 --- a/lib/resource-1.0/norwegian/LexiconNor.gf +++ b/lib/resource-1.0/norwegian/LexiconNor.gf @@ -1,6 +1,7 @@ --# -path=.:../scandinavian:../common:../abstract:../../prelude -concrete LexiconNor of Lexicon = CatNor ** open ParadigmsNor, IrregNor in { +concrete LexiconNor of Lexicon = CatNor ** + open Prelude, ParadigmsNor, IrregNor in { flags startcat=Phr ; lexer=textlit ; unlexer=text ; optimize=values ; @@ -221,14 +222,133 @@ lin put_V2 = mkV2 (irregV "sette" "satte" "satt") [] ; stop_V = regV "stanse" ; jump_V = regV "hoppe" ; -{- - here_Adv = mkAdv "her" ; - here7to_Adv = mkAdv "hit" ; - here7from_Adv = mkAdv ["herfra"] ; - there_Adv = mkAdv "der" ; - there7to_Adv = mkAdv "dit" ; - there7from_Adv = mkAdv ["derfra"] ; --} + + left_Ord = {s = "venstre" ; isDet = True} ; + right_Ord = {s = "høyre" ; isDet = True} ; + far_Adv = mkAdv "fjern" ; + correct_A = regA "riktig" ; + dry_A = mk2A "tørr" "tørt" ; + dull_A = regA "sløv" ; + full_A = regA "full" ; + heavy_A = irregADeg "tung" "tyngre" "tyngst" ; + near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ; + rotten_A = mk3ADeg "råtten" "råttent" "råtne" ; + round_A = regA "rund" ; + sharp_A = mk2A "kvass" "kvast" ; + smooth_A = mk2A "slett" "slett" ; + straight_A = regA "rak" ; + wet_A = regA "våt" ; + wide_A = regA "bred" ; + animal_N = mk2N "dyr" "dyret" ; + ashes_N = mk2N "aske" "aska" ; + back_N = mk2N "rygg" "ryggen" ; + bark_N = mk2N "bark" "barken" ; + belly_N = mk2N "mage" "magen" ; + blood_N = mk2N "blod" "blodet" ; + bone_N = mk2N "bein" "beinet" ; + breast_N = mk2N "bryst" "brystet" ; + cloud_N = mk2N "sky" "skya" ; + day_N = mk2N "dag" "dagen" ; + dust_N = mk2N "støv" "støvet" ; + ear_N = mk2N "øre" "øret" ; + earth_N = mk2N "jord" "jorda" ; + egg_N = mk2N "egg" "egget" ; + eye_N = mkN "øye" "øyet" "øyne" "øynene" ; + fat_N = mk2N "fett" "fettet" ; + feather_N = mk2N "fjør" "fjøra" ; + fingernail_N = mk2N "negl" "neglen" ; + fire_N = mk2N "ild" "ilden" ; + flower_N = mk2N "blomst" "blomsten" ; + fog_N = mk2N "tåke" "tåka" ; + foot_N = mk2N "fot" "føtter" ; + forest_N = mk2N "skog" "skogen" ; + grass_N = mk2N "gras" "graset" ; + guts_N = mk2N "tarm" "tarmen" ; ---- involler + hair_N = mk2N "hår" "håret" ; + hand_N = mk2N "hånd" "hånden" ; + head_N = mk2N "hode" "hodet" ; + heart_N = mk2N "hjerte" "hjertet" ; + horn_N = mk2N "horn" "hornet" ; + husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ; + ice_N = mk2N "is" "isen" ; + knee_N = mkN "kne" "kneet" "knær" "knæne" ; + leaf_N = mk2N "løv" "løvet" ; + leg_N = mk2N "bein" "beinet" ; + liver_N = mkN "lever" "leveren" "levrer" "levrene" ; + louse_N = mk2N "lus" "lusa" ; + mouth_N = mk2N "munn" "munnen" ; + name_N = mk2N "navn" "navnet" ; + neck_N = mk2N "nakke" "nakken" ; + night_N = mkN "natt" "natta" "netter" "nettene" ; + nose_N = mk2N "nese" "nesen" ; + person_N = mk2N "person" "personen" ; + rain_N = mk2N "regn" "regnet" ; + road_N = mk2N "vei" "veien" ; + root_N = mkN "rot" "rota" "røtter" "røttene" ; + rope_N = mk2N "tau" "tauet" ; + salt_N = mk2N "salt" "saltet" ; + sand_N = mk2N "sand" "sanden" ; + seed_N = mk2N "frø" "frøet" ; + skin_N = mk2N "skinn" "skinnet" ; + sky_N = mkN "himmel" "himmelen" "himler" "himlene" ; + smoke_N = mk2N "røyk" "røyken" ; + snow_N = mk2N "snø" "snøen" ; + stick_N = mk2N "pinne" "pinnen" ; + tail_N = mk2N "hale" "halen" ; + tongue_N = mk2N "tunge" "tunga" ; + tooth_N = mkN "tann" "tanna" "tenner" "tennene" ; + wife_N = mk2N "kone" "kona" ; + wind_N = mk2N "vind" "vinden" ; + wing_N = mk2N "vinge" "vingen" ; + worm_N = mk2N "mark" "marken" ; + year_N = mk2N "år" "året" ; + bite_V2 = dirV2 (IrregNor.bite_V) ; + blow_V = mk2V "blåse" "blåste" ; + burn_V = brenne_V ; + count_V2 = dirV2 (regV "regne") ; + cut_V2 = dirV2 (skjære_V) ; + dig_V = mk2V "grave" "gravde" ; + fall_V = falle_V ; + fear_V2 = dirV2 (regV "frykte") ; + fight_V2 = dirV2 (slåss_V) ; + float_V = flyte_V ; + flow_V = renne_V ; + fly_V = fly_V ; + freeze_V = fryse_V ; + give_V3 = dirdirV3 gi_V ; + hit_V2 = dirV2 (slå_V) ; + hold_V2 = dirV2 (holde_V) ; + hunt_V2 = dirV2 (regV "jakte") ; + kill_V2 = dirV2 (mk2V "drepe" "drepte") ; + laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ; + lie_V = ligge_V ; + play_V = mk2V "leke" "lekte" ; + pull_V2 = dirV2 (dra_V) ; + push_V2 = dirV2 (irregV "skyve" "skjøv" "skjøvet") ; + rub_V2 = dirV2 (gni_V) ; + scratch_V2 = dirV2 (regV "klø") ; + sew_V = mk2V "sy" "sydde" ; + sing_V = synge_V ; + sit_V = sitte_V ; + smell_V = regV "lukte" ; + spit_V = regV "spytte" ; + split_V2 = dirV2 (mk2V "kløyve" "kløyvde") ; + squeeze_V2 = dirV2 (mk2V "klemme" "klemte") ; + stab_V2 = dirV2 (stikke_V) ; + stand_V = stå_V ; + suck_V2 = dirV2 (suge_V) ; + swell_V = partV (regV "hovne") "opp" ; + swim_V = regV "simme" ; + think_V = mk2V "tenke" "tenkte" ; + throw_V2 = dirV2 (regV "kaste") ; + tie_V2 = dirV2 (regV "knytte") ; + turn_V = mk2V "vende" "vendte" ; + vomit_V = partV (regV "kaste") "opp" ; + wash_V2 = dirV2 (regV "vaske") ; + wipe_V2 = dirV2 (regV "tørke") ; + breathe_V = regV "puste" ; + + } ; -- a" -> e" 86 diff --git a/lib/resource-1.0/romance/CommonRomance.gf b/lib/resource-1.0/romance/CommonRomance.gf index 8ae45774e..1b5769be2 100644 --- a/lib/resource-1.0/romance/CommonRomance.gf +++ b/lib/resource-1.0/romance/CommonRomance.gf @@ -168,6 +168,10 @@ oper vpAgrNone : VPAgr = VPAgrClit (aagr Masc Sg) ; + oper + mkOrd : {s : Degree => AForm => Str} -> {s : AAgr => Str} ; + mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n} ; + param VPAgr = VPAgrSubj -- elle est partie, elle s'est vue @@ -189,5 +193,6 @@ oper ext : Polarity => Str ; -- que je dors / que je dorme } ; + } diff --git a/lib/resource-1.0/spanish/LexiconSpa.gf b/lib/resource-1.0/spanish/LexiconSpa.gf index bb01b102a..659fd8237 100644 --- a/lib/resource-1.0/spanish/LexiconSpa.gf +++ b/lib/resource-1.0/spanish/LexiconSpa.gf @@ -1,6 +1,7 @@ --# -path=.:../romance:../common:../abstract:../../prelude -concrete LexiconSpa of Lexicon = CatSpa ** open ParadigmsSpa, BeschSpa in { +concrete LexiconSpa of Lexicon = CatSpa ** open + MorphoSpa, ParadigmsSpa, BeschSpa in { flags optimize=values ; @@ -222,4 +223,130 @@ lin stop_V = regV "parar" ; jump_V = regV "saltar" ; + left_Ord = mkOrd (regA "izquierda") ; + right_Ord = mkOrd (regA "derecha") ; + far_Adv = mkAdv "lejos" ; ----? + correct_A = regA "correcto" ; + dry_A = regA "seco" ; + dull_A = regA "desafilado" ; + full_A = regA "lleno" ; + heavy_A = regA "pesado" ; + near_A = regA "cerca" ; + rotten_A = regA "podrido" ; + round_A = regA "redondo" ; + sharp_A = regA "filoso" ; -- afilado, puntiagudo + smooth_A = regA "liso" ; -- suave + straight_A = regA "directo" ; + wet_A = regA "mojado" ; + wide_A = regA "ancho" ; -- extenso + animal_N = regN "animal" ; -- masc (sometimes fem when adj) + ashes_N = regN "ceniza" ; + back_N = regN "espalda" ; + bark_N = regN "corteza" ; + belly_N = regN "panza" ; -- barriga + blood_N = femN (regN "sangre") ; + bone_N = regN "hueso" ; + breast_N = regN "seno" ; -- pecho + cloud_N = femN (regN "nube") ; + day_N = mascN (regN "día") ; + dust_N = regN "polvo" ; + ear_N = regN "oreja" ; + earth_N = regN "tierra" ; + egg_N = regN "huevo" ; + eye_N = regN "ojo" ; + fat_N = regN "grasa" ; + feather_N = regN "pluma" ; + fingernail_N = regN "uña" ; + fire_N = regN "fuego" ; + flower_N = femN (regN "flor") ; + fog_N = regN "niebla" ; + foot_N = regN "pie" ; + forest_N = regN "bosque" ; + grass_N = regN "pasto" ; -- hierba, césped (masc) + guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas + hair_N = regN "cabello" ; -- pelo + hand_N = femN (regN "mano") ; + head_N = regN "cabeza" ; + heart_N = mkN "corazón" "corazones" masculine ; + horn_N = regN "cuerno" ; + husband_N = regN "marido" ; -- esposo + ice_N = regN "hielo" ; + knee_N = regN "rodilla" ; + leaf_N = regN "hoja" ; + leg_N = regN "pierna" ; + liver_N = regN "hígado" ; + louse_N = regN "piojo" ; + mouth_N = regN "boca" ; + name_N = regN "nombre" ; + neck_N = regN "cuello" ; + night_N = femN (regN "noche") ; + nose_N = femN (regN "nariz") ; + person_N = regN "persona" ; + rain_N = regN "lluvia" ; + road_N = femN (regN "calle") ; -- camino + root_N = femN (regN "raíz") ; + rope_N = regN "cuerda" ; + salt_N = femN (regN "sal") ; + sand_N = regN "arena" ; + seed_N = regN "semilla" ; + skin_N = femN (regN "piel") ; -- fem + sky_N = regN "cielo" ; + smoke_N = regN "humo" ; + snow_N = femN (regN "nieve") ; -- fem + stick_N = mkN "bastón" "bastones" masculine ; -- palo + tail_N = regN "cola" ; + tongue_N = regN "lengua" ; + tooth_N = regN "diente" ; + wife_N = regN "esposa" ; + wind_N = regN "viento" ; + wing_N = regN "ala" ; + worm_N = regN "gusano" ; -- lombriz (fem) + year_N = regN "año" ; + bite_V2 = dirV2 (verboV (morder_50b "morder")) ; + blow_V = regV "soplar" ; + burn_V = regV "quemar" ; + count_V2 = dirV2 (verboV (contar_38b "contar")) ; + cut_V2 = dirV2 (regV "cortar") ; + dig_V = regV "escarbar" ; + fall_V = verboV (caer_20 "caer") ; + fear_V2 = dirV2 (regV "temer") ; + fight_V2 = dirV2 (regV "pelear") ; + float_V = regV "flotar" ; + flow_V = verboV (influir_45 "fluir") ; -- circular + fly_V = regV "volar" ; + freeze_V = regV "congelar" ; + give_V3 = dirdirV3 (verboV (dar_27 "dar")) ; + hit_V2 = dirV2 (regV "golpear") ; + hold_V2 = dirV2 (verboV (tener_4 "tener")) ; + hunt_V2 = dirV2 (regV "cazar") ; + kill_V2 = dirV2 (regV "matar") ; + laugh_V = regV "reir" ; ----V reír_67 + lie_V = reflV (regV "acostar") ; -- "acostarse" + play_V = regV "jugar" ; + pull_V2 = dirV2 (regV "tirar") ; + push_V2 = dirV2 (regV "empujar") ; + rub_V2 = dirV2 (regV "resfregar") ; + scratch_V2 = dirV2 (regV "rascar") ; + sew_V = regV "coser" ; + sing_V = regV "cantar" ; + sit_V = reflV (regV "sentar") ; + smell_V = verboV (oler_52 "oler") ; + spit_V = regV "escupir" ; + split_V2 = dirV2 (regV "separar") ; -- dividir,) ; + squeeze_V2 = dirV2 (regV "exprimir") ; + stab_V2 = dirV2 (regV "apuñalar") ; + stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ; + suck_V2 = dirV2 (regV "chupar") ; + swell_V = regV "tragar" ; + swim_V = regV "nadar" ; + think_V = regV "pensar" ; + throw_V2 = dirV2 (regV "tirar") ; + tie_V2 = dirV2 (regV "atar") ; + turn_V = regV "doblar" ; + vomit_V = regV "vomitar" ; + wash_V2 = dirV2 (regV "lavar") ; + wipe_V2 = dirV2 (regV "secar") ; + breathe_V = (regV "respirar") ; + + } ; diff --git a/lib/resource-1.0/swedish/LexiconSwe.gf b/lib/resource-1.0/swedish/LexiconSwe.gf index 2b8087c7f..d0cbe996c 100644 --- a/lib/resource-1.0/swedish/LexiconSwe.gf +++ b/lib/resource-1.0/swedish/LexiconSwe.gf @@ -1,6 +1,7 @@ --# -path=.:../scandinavian:../common:../abstract:../../prelude -concrete LexiconSwe of Lexicon = CatSwe ** open ParadigmsSwe, IrregSwe in { +concrete LexiconSwe of Lexicon = CatSwe ** + open Prelude, ParadigmsSwe, IrregSwe in { flags optimize=values ; @@ -223,4 +224,130 @@ lin stop_V = regV "stanna" ; jump_V = regV "hoppa" ; + left_Ord = {s = "vänstra" ; isDet = True} ; + right_Ord = {s = "högra" ; isDet = True} ; + far_Adv = mkAdv "långt" ; + correct_A = regA "riktig" ; + dry_A = regA "torr" ; + dull_A = mk2A "slö" "slött"; + full_A = regA "full" ; + heavy_A = irregA "tung" "tyngre" "tyngst" ; + near_A = mkA "nära" "nära" "nära" "nära" "närmare" "närmast" "närmaste" ; + rotten_A = mk3A "rutten" "ruttet" "ruttna" ; + round_A = regA "rund" ; + sharp_A = regA "vass" ; + smooth_A = regA "slät" ; + straight_A = regA "rak" ; + wet_A = regA "våt" ; + wide_A = mk2A "bred" "brett" ; + animal_N = mk2N "djur" "djur" ; + ashes_N = mk2N "aska" "askor" ; + back_N = mk2N "rygg" "ryggar" ; + bark_N = mk2N "bark" "barkar" ; + belly_N = mk2N "mage" "magar" ; + blood_N = mk2N "blod" "blod" ; + bone_N = mk2N "ben" "ben" ; + breast_N = mk2N "bröst" "bröst" ; + cloud_N = mk2N "moln" "moln" ; + day_N = mk2N "dag" "dagar" ; + dust_N = mk2N "damm" "damm" ; + ear_N = mkN "öra" "örat" "öron" "öronen" ; + earth_N = mk2N "jord" "jordar" ; + egg_N = mk2N "ägg" "ägg" ; + eye_N = mkN "öga" "ögat" "ögon" "ögonen" ; + fat_N = mk2N "fett" "fett" ; + feather_N = mk2N "fjäder" "fjädrar" ; + fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna"; + fire_N = mk2N "eld" "eldar" ; + flower_N = mk2N "blomma" "blommor" ; + fog_N = mk2N "dimma" "dimmor" ; + foot_N = mk2N "fot" "fötter" ; + forest_N = mk2N "skog" "skogar" ; + grass_N = mk2N "gräs" "gräs" ; + guts_N = mk2N "inälva" "inälvor" ; + hair_N = mk2N "hår" "hår" ; + hand_N = mk2N "hand" "händer" ; + head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ; + heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ; + horn_N = mk2N "horn" "horn" ; + husband_N = (mk2N "make" "makar") ; + ice_N = mk2N "is" "isar" ; + knee_N = mkN "knä" "knäet" "knän" "knäna" ; + leaf_N = mk2N "löv" "löv" ; + leg_N = mk2N "ben" "ben" ; + liver_N = mkN "lever" "levern" "levrar" "levrarna"; + louse_N = mkN "lus" "lusen" "löss" "lössen" ; + mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ; + name_N = mk2N "namn" "namn" ; + neck_N = mk2N "nacke" "nackar" ; + night_N = mk2N "natt" "nätter" ; + nose_N = mk2N "näsa" "näsor" ; + person_N = mk2N "person" "personer" ; + rain_N = mk2N "regn" "regn" ; + road_N = mk2N "väg" "vägar" ; + root_N = mk2N "rot" "rötter" ; + rope_N = mk2N "rep" "rep" ; + salt_N = mkN "salt" "saltet" "salter" "salterna"; + sand_N = mk2N "sand" "sander" ; + seed_N = mkN "frö" "fröet" "frön" "fröna" ; + skin_N = mk2N "skinn" "skinn" ; + sky_N = mk2N "himmel" "himlar" ; + smoke_N = mk2N "rök" "rökar" ; + snow_N = mkN "snö" "snön" "snöer" "snöerna" ; + stick_N = mk2N "pinne" "pinnar" ; + tail_N = mk2N "svans" "svansar" ; + tongue_N = mk2N "tunga" "tungor" ; + tooth_N = mk2N "tand" "tänder" ; + wife_N = mk2N "fru" "fruar" ; + wind_N = mk2N "vind" "vindar" ; + wing_N = mk2N "vinge" "vingar" ; + worm_N = mk2N "mask" "maskar" ; + year_N = mk2N "år" "år" ; + bite_V2 = dirV2 (bita_V) ; + blow_V = mk2V "blåsa" "blåste" ; + burn_V = brinna_V ; -- FIXME: bränna? + count_V2 = dirV2 (regV "räkna") ; + cut_V2 = dirV2 (skära_V) ; + dig_V = mk2V "gräva" "grävde" ; + fall_V = falla_V ; + fear_V2 = dirV2 (regV "frukta") ; + float_V = flyta_V ; + flow_V = rinna_V ; + fly_V = flyga_V ; + freeze_V = frysa_V ; + give_V3 = dirV3 giva_V "till"; + hit_V2 = dirV2 (slå_V) ; + hold_V2 = dirV2 (hålla_V) ; + hunt_V2 = dirV2 (regV "jaga") ; + kill_V2 = dirV2 (regV "döda") ; + laugh_V = regV "skratta" ; + lie_V = ligga_V ; + play_V = mk2V "leka" "lekte" ; + pull_V2 = dirV2 (draga_V) ; + push_V2 = dirV2 (mk2V "trycka" "tryckte") ; + rub_V2 = dirV2 (gnida_V) ; + scratch_V2 = dirV2 (regV "klia") ; + sew_V = sy_V ; + sing_V = sjunga_V ; + sit_V = sitta_V ; + smell_V = regV "lukta" ; + spit_V = regV "spotta" ; + split_V2 = dirV2 (klyva_V) ; + squeeze_V2 = dirV2 (klämma_V) ; + stab_V2 = dirV2 (sticka_V) ; + stand_V = stå_V ; + suck_V2 = dirV2 (suga_V) ; + swell_V = svälla_V ; + swim_V = regV "simma" ; + think_V = mk2V "tänka" "tänkte" ; + throw_V2 = dirV2 (regV "kasta") ; + tie_V2 = dirV2 (knyta_V) ; + turn_V = vända_V ; + vomit_V = mk2V "spy" "spydde" ; + wash_V2 = dirV2 (regV "tvätta") ; + wipe_V2 = dirV2 (regV "torka") ; + + breathe_V = depV (regV "anda") ; + fight_V2 = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ; + } ;