started Swadesh

This commit is contained in:
aarne
2005-06-28 17:23:14 +00:00
parent c4a8c71e07
commit b8e76b00d4
4 changed files with 276 additions and 9 deletions

View File

@@ -35,7 +35,7 @@ lin
bread_N = regN "leipä" ;
break_V2 = dirV2 (regV "rikkoa") ;
broad_ADeg = mkADeg (regN "leveä") "leveämpi" "levein" ;
---- brother_N2 = regN2 "brother" ;
brother_N2 = genN2 (reg3N "veli" "veljen" "veljiä") ; ---- errors in Pl
brown_ADeg = mkADeg (regN "ruskea") "ruskeampi" "ruskein" ;
--3 butter_N = reg3N "voi" "voin" "voita" ;
buy_V2 = dirV2 (regV "ostaa") ;
@@ -73,7 +73,7 @@ lin
empty_ADeg = mkADeg (regN "tyhjä") "tyhjempi" "tyhjin" ;
enemy_N = regN "vihollinen" ;
factory_N = regN "tehdas" ;
---- father_N2 = regN2 "father" ;
father_N2 = genN2 (regN "isä") ;
---- fear_VS = mkVS (reg2V "pelätä" "pelkäsi") ;
find_V2 = dirV2 (reg2V "löytää" "löysi") ;
fish_N = regN "kala" ;
@@ -125,7 +125,7 @@ lin
meat_N = regN "liha" ;
milk_N = regN "maito" ;
moon_N = regN "kuu" ;
---- mother_N2 = regN2 "äiti" ;
mother_N2 = genN2 (regN "äiti") ;
mountain_N = reg2N "vuori" "vuoria" ;
music_N = regN "musiikki" ;
narrow_ADeg = mkADeg (regN "kapea") "kapeampi" "kapein" ;

View File

@@ -172,7 +172,7 @@ oper
(linux + "ei")
(linux + "ei")
(linux + "ien")
(linux + "eja")
(linux + "ej" + a)
(linux + "eihin") ;
-- Nouns of at least 3 syllables ending with "a" or "ä", like "peruna", "rytinä".
@@ -373,6 +373,26 @@ oper
(naurei + ("t" + a))
(naurei + "siin") ;
-- Words of the form "siitin", "avain".
sLiitin : Str -> CommonNoun = \liitin ->
let
liitti = strongGrade (init liitin) ;
liittime = liitti + "me" ;
a = if_then_Str (pbool2bool (Predef.occurs "aou" liitin)) "a" "ä"
in
mkSubst a
liitin
liittime
liittime
(liitin + "t" + a)
(liittime + "en")
(liitti + "mi")
(liitti + "mi")
(liitti + "mien")
(liitti + "mi" + a)
(liitti + "miin") ;
-- The following covers adjectives like "kapea", "leveä".
sKapea : (_ : Str) -> CommonNoun = \kapea ->

View File

@@ -164,7 +164,7 @@ oper
-- the genitive.
mkN2 : N -> Case -> N2 ;
fGen : N -> N2 ;
genN2 : N -> N2 ;
-- Proper names can be formed by using declensions for nouns.
-- The plural forms are filtered away by the compiler.
@@ -294,17 +294,17 @@ regN = \vesi ->
vesi (vesi + "n") (vesi + "n"+a) (vesi + a) (vesi + a+"n")
(ves + "in"+a) (ves + "iss"+a) (ves + "iden") (ves + "it"+a)
(ves + "isiin") ;
"in" => sLiitin vesi ;
"is" => sNauris (vesi + ("t" + a)) ;
"ut" | "yt" => sRae vesi (ves + ("en" + a)) ;
"as" | "äs" => sRae vesi (strongGrade ves + (a + "n" + a)) ;
"ar" | "är" => sRae vesi (strongGrade ves + ("ren" + a)) ;
"uus" | "yys" => sRakkaus vesi ;
"us" | "ys" => sTilaus vesi (ves + ("ksen" + a)) ;
_ => case i of {
"s" => sTilaus vesi (ves + ("ksen" + a)) ;
"i" => sBaari (vesi + a) ;
"e" => sRae vesi (strongGrade (ves + "e") + "en" + a) ;
"a" | "o" | "u" | "y" | "ä" | "ö" => sLukko vesi ;
_ => sLinux (vesi + "i" + a)
_ => sLinux (vesi + "i" + a)
}
}
} ** {g = NonHuman ; lock_N = <>} ;
@@ -339,6 +339,7 @@ reg3N = \vesi,veden,vesi
"si" => sSusi vesi veden (Predef.tk 2 vesi + ("ten" + a)) ;
_ => case i of {
"a" | "o" | "u" | "y" | "ä" | "ö" => sKukko vesi veden vesiä ;
"i" => sKorpi vesi veden (init veden + "n" + a) ;
_ => vesit
}
} ** {g = NonHuman ; lock_N = <>} ;
@@ -366,7 +367,7 @@ reg3N = \vesi,veden,vesi
nComp = \s,n -> {s = \\c => s ++ n.s ! c ; g = n.g ; lock_N = <>} ;
mkN2 = \n,c -> n2n n ** {c = NPCase c ; lock_N2 = <>} ;
fGen = \n -> mkN2 n genitive ;
genN2 = \n -> mkN2 n genitive ;
mkPN n = mkProperName n ** {lock_PN = <>} ;
mkA = \x -> noun2adj x ** {lock_A = <>} ;

View File

@@ -0,0 +1,246 @@
--# -path=.:../abstract:../../prelude
concrete SwadeshLexFin of SwadeshLex = CategoriesFin
** open ResourceFin, SyntaxFin, ParadigmsFin,
BasicFin, Prelude in {
lin
-- Pronouns
i_NP = i_NP ;
thou_NP = thou_NP ;
he_NP = he_NP ;
---- we_NP = we_NP ;
you_NP = you_NP ;
they_NP = they_NP ;
---- who8many_IP = who8many_IP ;
---- who8one_IP = who8one_IP ;
---- what8many_IP = what8many_IP ;
---- what8one_IP = what8one_IP ;
-- Determiners
this_Det = this_Det ;
that_Det = that_Det ;
---- all_NDet = all_NDet ;
many_Det = many_Det ;
some_Det = some_Det ;
---- few_Det = mkDeterminer Pl "few" ;
---- other_Det = mkDeterminer Pl "other" ;
-- Adverbs
here_Adv = here_Adv;
there_Adv = there_Adv;
where_IAdv = where_IAdv;
when_IAdv = when_IAdv;
how_IAdv = how_IAdv;
-- not : Adv ; -- ?
-- Conjunctions
and_Conj = and_Conj ;
-- Prepositions
---- at_Prep = ss "at" ;
---- in_Prep = ss "in" ;
---- with_Prep = ss "with" ;
-- Numerals
one_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))) ;
two_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
three_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
four_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
five_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
-- Adjectives
bad_ADeg = bad_ADeg ;
big_ADeg = big_ADeg ;
black_ADeg = black_ADeg ;
cold_ADeg = cold_ADeg ;
correct_ADeg = regADeg "oikea" ;
dirty_ADeg = dirty_ADeg ;
dry_ADeg = mkADeg (regN "kuiva") "kuivempi" "kuivin" ;
dull_ADeg = mkADeg (regN "tylsä") "tylsempi" "tylsin" ;
far_ADeg = regADeg "kaukainen" ;
full_ADeg = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
good_ADeg = good_ADeg ;
green_ADeg = green_ADeg ;
heavy_ADeg = regADeg "raskas" ;
long_ADeg = long_ADeg ;
narrow_ADeg = narrow_ADeg ;
near_ADeg = regADeg "läheinen" ;
new_ADeg = new_ADeg ;
old_ADeg = old_ADeg ;
red_ADeg = red_ADeg ;
rotten_ADeg = regADeg "mätä" ;
round_ADeg = regADeg "pyöreä" ;
sharp_ADeg = regADeg "terävä" ;
short_ADeg = short_ADeg ;
---- small_ADeg = small_ADeg ;
smooth_ADeg = regADeg "sileä" ;
straight_ADeg = mkADeg (regN "suora") "suorempi" "suorin" ;
thick_ADeg = thick_ADeg ;
thin_ADeg = thin_ADeg ;
---- warm_ADeg = warm_ADeg ;
wet_ADeg = mkADeg (regN "märkä") "märempi" "märin" ;
white_ADeg = white_ADeg ;
wide_ADeg = regADeg "leveä" ;
yellow_ADeg = yellow_ADeg ;
left_A = mkA (regN "vasen") ; ----
right_A = mkA (regN "oikea") ;
-- Nouns
animal_N = regN "eläin" ;
ashes_N = regN "tuhka" ;
back_N = regN "selkä" ;
bark_N = regN "kaarna" ;
belly_N = regN "vatsa" ;
bird_N = bird_N;
blood_N = reg2N "veri" "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 = UseN2 father_N2 ;
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 = regN "sydän" ; -----
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 = UseN2 mother_N2 ;
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 = regN "juuri" ; -----
rope_N = reg3N "köysi" "köyden" "köysiä" ;
salt_N = regN "suola" ;
sand_N = regN "hiekka" ;
sea_N = sea_N ;
seed_N = regN "seed" ;
skin_N = regN "skin" ;
sky_N = regN "sky" ; -----
smoke_N = regN "savu" ;
snake_N = snake_N ;
snow_N = regN "lumi" ; -----
star_N = star_N ;
stick_N = regN "keppi" ;
stone_N = stone_N ;
sun_N = sun_N ;
tail_N = regN "häntä" ;
tongue_N = regN "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 = reg2N "vuosi" "vuosia" ;
-- Verbs
bite_V = regV "purra" ;
blow_V = regV "puhaltaa" ;
breathe_V = regV "hengittää" ;
burn_V = regV "palaa" ;
come_V = BasicFin.come_V ;
count_V = regV "laskea" ;
cut_V = regV "leikata" ;
die_V = regV "kuolla";
dig_V = regV "kaivata" ;
drink_V = UseV2 drink_V2 ;
eat_V = UseV2 eat_V2 ;
fall_V = regV "pudota" ;
fear_V = regV "fear" ;
fight_V = regV "taistella" ;
float_V = regV "kellua" ;
flow_V = regV "virrata" ;
fly_V = regV "lentää" ;
freeze_V = regV "jäätyä" ;
give_V = regV "antaa" ;
hear_V = UseV2 hear_V2 ;
hit_V = regV "syödä" ;
hold_V = regV "pitää" ;
hunt_V = regV "metsästää" ;
kill_V = regV "tappaa" ;
know_V =reg2V "tietää" "tiesin" ;
laugh_V = regV "nauraa" ; -----
lie_V = regV "maata" ;
live_V = live_V ;
play_V = UseV2 play_V2 ;
pull_V = regV "vetää" ;
push_V = regV "työntää" ;
rub_V = regV "hieroa" ;
say_V = regV "sanoa" ;
scratch_V = regV "raapia" ;
----- see_V = UseV2 see_V2 ;
sew_V = regV "kylvää" ;
sing_V = regV "laulaa" ;
sit_V = regV "istua" ;
sleep_V = sleep_V ;
smell_V = regV "haista" ;
spit_V = regV "sylkeä" ;
---- split_V = split_V ;
squeeze_V = regV "puristaa" ;
stab_V = regV "pistää" ;
---- stand_V = stand_V ;
suck_V = regV "imeä" ;
---- swell_V = swell_V ;
---- swim_V = swim_V ;
---- think_V = think_V ;
---- throw_V = throw_V ;
tie_V = regV "sitoa" ;
turn_V = regV "kääntyä" ;
vomit_V = regV "oksentaa" ;
walk_V = walk_V ;
wash_V = regV "pestä" ;
wipe_V = regV "pyyhkiä" ;
}