1
0
forked from GitHub/gf-core

more Finnish

This commit is contained in:
aarne
2005-06-29 09:31:56 +00:00
parent d25419c8ed
commit 3f8fecbf30
7 changed files with 111 additions and 85 deletions

View File

@@ -27,7 +27,7 @@ lin
Eat = PresV2 (dirV2 eat_V) ; Eat = PresV2 (dirV2 eat_V) ;
Bite = PresV2 (dirV2 bite_V) ; Bite = PresV2 (dirV2 bite_V) ;
Suck = PresV2 (dirV2 suck_V) ; Suck = PresV2 (dirV2 suck_V) ;
----- See = PresV2 (dirV2 see_V) ; See = PresV2 (dirV2 see_V) ;
Hear = PresV2 (dirV2 hear_V) ; Hear = PresV2 (dirV2 hear_V) ;
Know = PresV2 (dirV2 know_V) ; Know = PresV2 (dirV2 know_V) ;
Smell = PresV2 (dirV2 smell_V) ; Smell = PresV2 (dirV2 smell_V) ;
@@ -37,7 +37,7 @@ lin
Hunt = PresV2 (dirV2 hunt_V) ; Hunt = PresV2 (dirV2 hunt_V) ;
Hit = PresV2 (dirV2 hit_V) ; Hit = PresV2 (dirV2 hit_V) ;
Cut = PresV2 (dirV2 cut_V) ; Cut = PresV2 (dirV2 cut_V) ;
----- Split = PresV2 (dirV2 split_V) ; Split = PresV2 (dirV2 split_V) ;
Stab = PresV2 (dirV2 stab_V) ; Stab = PresV2 (dirV2 stab_V) ;
Scratch = PresV2 (dirV2 scratch_V) ; Scratch = PresV2 (dirV2 scratch_V) ;
Hold = PresV2 (dirV2 hold_V) ; Hold = PresV2 (dirV2 hold_V) ;
@@ -47,11 +47,11 @@ lin
Wipe = PresV2 (dirV2 wipe_V) ; Wipe = PresV2 (dirV2 wipe_V) ;
Pull = PresV2 (dirV2 pull_V) ; Pull = PresV2 (dirV2 pull_V) ;
Push = PresV2 (dirV2 push_V) ; Push = PresV2 (dirV2 push_V) ;
----- Throw = PresV2 (dirV2 throw_V) ; Throw = PresV2 (dirV2 throw_V) ;
----- Tie = PresV2 (dirV2 tie_V) ; Tie = PresV2 (dirV2 tie_V) ;
----- Count = PresV2 (dirV2 count_V) ; Count = PresV2 (dirV2 count_V) ;
----- Think = PresV think_V ; Think = PresV think_V ;
Spit = PresV spit_V ; Spit = PresV spit_V ;
Vomit = PresV vomit_V ; Vomit = PresV vomit_V ;
Blow = PresV blow_V ; Blow = PresV blow_V ;
@@ -61,13 +61,13 @@ lin
Live = PresV live_V ; Live = PresV live_V ;
Die = PresV die_V ; Die = PresV die_V ;
Dig = PresV dig_V ; Dig = PresV dig_V ;
----- Swim = PresV swim_V ; Swim = PresV swim_V ;
Fly = PresV fly_V ; Fly = PresV fly_V ;
Walk = PresV walk_V ; Walk = PresV walk_V ;
Come = PresV come_V ; Come = PresV come_V ;
Lie = PresV lie_V ; Lie = PresV lie_V ;
Sit = PresV sit_V ; Sit = PresV sit_V ;
----- Stand = PresV stand_V ; Stand = PresV stand_V ;
Turn = PresV turn_V ; Turn = PresV turn_V ;
Fall = PresV fall_V ; Fall = PresV fall_V ;
Sing = PresV sing_V ; Sing = PresV sing_V ;
@@ -76,24 +76,24 @@ lin
Float = PresV float_V ; Float = PresV float_V ;
Flow = PresV flow_V ; Flow = PresV flow_V ;
Freeze = PresV freeze_V ; Freeze = PresV freeze_V ;
----- Swell = PresV swell_V ; Swell = PresV swell_V ;
Burn = PresV burn_V ; Burn = PresV burn_V ;
----- Give = PresV3 (dirV3 give_V "to") ; Give = PresV3 (dirV3 give_V "to") ;
-- Say = ; -- Say = ;
The_One = DefOneNP ; The_One = DefOneNP ;
----- The_Many = DefNumNP NoNum ; The_Many = DefNumNP NoNum ;
A = IndefOneNP ; A = IndefOneNP ;
This = DetNP this_Det ; This = DetNP this_Det ;
That = DetNP that_Det ; That = DetNP that_Det ;
----- All = NDetNP all_NDet NoNum ; All = NDetNP all_NDet NoNum ;
Many = DetNP many_Det ; Many = DetNP many_Det ;
Some_One = DetNP some_Det ; Some_One = DetNP some_Det ;
----- Some_Many = NDetNP some_NDet NoNum ; Some_Many = NDetNP some_NDet NoNum ;
----- Few = DetNP few_Det ; Few = DetNP few_Det ;
----- Other = DetNP other_Det ; Other = DetNP other_Det ;
One = IndefNumNP one_Num ; One = IndefNumNP one_Num ;
Two = IndefNumNP two_Num ; Two = IndefNumNP two_Num ;
@@ -106,8 +106,8 @@ lin
I = i_NP ; I = i_NP ;
You_One = thou_NP ; You_One = thou_NP ;
He = he_NP ; He = he_NP ;
----- We = we_NP ; We = we_NP ;
----- You_Many = you_NP ; You_Many = you_NP ;
They = they_NP ; They = they_NP ;
-- Nouns -- Nouns
@@ -118,8 +118,8 @@ lin
Child = UseN child_N ; Child = UseN child_N ;
Wife = UseN wife_N ; Wife = UseN wife_N ;
Husband = UseN husband_N ; Husband = UseN husband_N ;
----- Mother = UseN mother_N ; Mother = UseN mother_N ;
----- Father = UseN father_N ; Father = UseN father_N ;
Animal = UseN animal_N ; Animal = UseN animal_N ;
Fish = UseN fish_N ; Fish = UseN fish_N ;
Bird = UseN bird_N ; Bird = UseN bird_N ;
@@ -173,7 +173,7 @@ lin
Star = UseN star_N ; Star = UseN star_N ;
Water = UseN water_N ; Water = UseN water_N ;
Rain = UseN rain_N ; Rain = UseN rain_N ;
----- River = UseN river_N ; River = UseN river_N ;
Lake = UseN lake_N ; Lake = UseN lake_N ;
Sea = UseN sea_N ; Sea = UseN sea_N ;
Salt = UseN salt_N ; Salt = UseN salt_N ;
@@ -206,7 +206,7 @@ lin
Wide = ModPosA wide_ADeg ; Wide = ModPosA wide_ADeg ;
Thick = ModPosA thick_ADeg ; Thick = ModPosA thick_ADeg ;
Heavy = ModPosA heavy_ADeg ; Heavy = ModPosA heavy_ADeg ;
----- Small = ModPosA small_ADeg ; Small = ModPosA small_ADeg ;
Short = ModPosA short_ADeg ; Short = ModPosA short_ADeg ;
Narrow = ModPosA narrow_ADeg ; Narrow = ModPosA narrow_ADeg ;
Thin = ModPosA thin_ADeg ; Thin = ModPosA thin_ADeg ;
@@ -215,7 +215,7 @@ lin
Yellow = ModPosA yellow_ADeg ; Yellow = ModPosA yellow_ADeg ;
White = ModPosA white_ADeg ; White = ModPosA white_ADeg ;
Black = ModPosA black_ADeg ; Black = ModPosA black_ADeg ;
----- Warm = ModPosA warm_ADeg ; Warm = ModPosA warm_ADeg ;
Cold = ModPosA cold_ADeg ; Cold = ModPosA cold_ADeg ;
Full = ModPosA full_ADeg ; Full = ModPosA full_ADeg ;
New = ModPosA new_ADeg ; New = ModPosA new_ADeg ;

View File

@@ -113,7 +113,7 @@ lin
leather_N = regN "nahka" ; --- nahan leather_N = regN "nahka" ; --- nahan
leave_V2 = dirV2 (regV "jättää") ; leave_V2 = dirV2 (regV "jättää") ;
like_V2 = caseV2 (regV "pitää") elative ; like_V2 = caseV2 (regV "pitää") elative ;
--3 listen_V2 = caseV2 (reg3V "kuunnella" "kuuntelen" "kuuntelin") partitive ; listen_V2 = caseV2 (reg3V "kuunnella" "kuuntelen" "kuuntelin") partitive ;
live_V = regV "elää" ; live_V = regV "elää" ;
long_ADeg = mkADeg (regN "pitkä") "pitempi" "pisin" ; long_ADeg = mkADeg (regN "pitkä") "pitempi" "pisin" ;
lose_V2 = dirV2 (regV "hävitä") ; --- hukata lose_V2 = dirV2 (regV "hävitä") ; --- hukata
@@ -151,7 +151,7 @@ lin
red_ADeg = regADeg "punainen" ; red_ADeg = regADeg "punainen" ;
religion_N = regN "uskonto" ; religion_N = regN "uskonto" ;
restaurant_N = regN "ravintola" ; restaurant_N = regN "ravintola" ;
---- river_N = reg3N "joki" "joen" "jokia" ; river_N = nArpi "joki" ;
---- rock_N = regN "kallio" ; ---- rock_N = regN "kallio" ;
roof_N = regN "katto" ; roof_N = regN "katto" ;
rubber_N = regN "kumi" ; rubber_N = regN "kumi" ;
@@ -161,7 +161,9 @@ lin
science_N = regN "tiede" ; science_N = regN "tiede" ;
sea_N = reg2N "meri" "meriä" ; sea_N = reg2N "meri" "meriä" ;
seek_V2 = dirV2 (regV "etsiä") ; seek_V2 = dirV2 (regV "etsiä") ;
---- see_V2 = dirV2 (irregV "see" "saw" "seen") ; see_V2 = dirV2 (
mkV "nähdä" "näkee" "näen" "näkevät" "nähkää" "nähdään"
"näki" "näin" "näkisi" "nähnyt" "nähty" "nähdyn") ;
---- sell_V3 = dirV3 (regV "myydä") allative ; ---- sell_V3 = dirV3 (regV "myydä") allative ;
---- send_V3 = dirV3 (regV "lähettää") allative ; ---- send_V3 = dirV3 (regV "lähettää") allative ;
sheep_N = regN "lammas" ; sheep_N = regN "lammas" ;
@@ -173,12 +175,12 @@ lin
silver_N = regN "hopea" ; silver_N = regN "hopea" ;
sister_N = regN "sisko" ; sister_N = regN "sisko" ;
sleep_V = regV "nukkua" ; sleep_V = regV "nukkua" ;
---- small_ADeg = regADeg "small" ; small_ADeg = mkADeg (reg3N "pieni" "pienen" "pieniä") "pienempi" "pienin" ;
snake_N = regN "käärme" ; snake_N = regN "käärme" ;
sock_N = regN "sukka" ; sock_N = regN "sukka" ;
speak_V2 = dirV2 (regV "puhua") ; speak_V2 = dirV2 (regV "puhua") ;
star_N = reg2N "tähti" "tähtiä" ; star_N = reg2N "tähti" "tähtiä" ;
---- steel_N = regN "teräs" ; steel_N = regN "teräs" ;
stone_N = reg2N "kivi" "kiviä" ; stone_N = reg2N "kivi" "kiviä" ;
stove_N = reg3N "liesi" "lieden" "liesiä" ; stove_N = reg3N "liesi" "lieden" "liesiä" ;
student_N = reg2N "opiskelija" "opiskelijoita" ; student_N = reg2N "opiskelija" "opiskelijoita" ;
@@ -202,8 +204,12 @@ lin
university_N = regN "yliopisto" ; university_N = regN "yliopisto" ;
village_N = regN "kylä" ; village_N = regN "kylä" ;
wait_V2 = caseV2 (regV "odottaa") partitive ; wait_V2 = caseV2 (regV "odottaa") partitive ;
walk_V = (regV "kävellä") ; walk_V = regV "kävellä" ;
---- warm_ADeg = regADeg "warm" ; warm_ADeg = mkADeg
(mkN "lämmin" "lämpimän" "lämpimänä" "lämmintä" "lämpimään"
"lämpiminä" "lämpimissä" "lämpimien" "lämpimiä" "lämpimiin"
nonhuman)
"lämpimämpi" "lämpimin" ;
war_N = regN "sota" ; war_N = regN "sota" ;
watch_V2 = dirV2 (regV "katsella") ; watch_V2 = dirV2 (regV "katsella") ;
water_N = reg3N "vesi" "veden" "vesiä" ; water_N = reg3N "vesi" "veden" "vesiä" ;
@@ -218,7 +224,10 @@ lin
yellow_ADeg = regADeg "keltainen" ; yellow_ADeg = regADeg "keltainen" ;
young_ADeg = mkADeg (reg2N "nuori" "nuoria") "nuorempi" "nuorin" ; young_ADeg = mkADeg (reg2N "nuori" "nuoria") "nuorempi" "nuorin" ;
---- do_V2 = dirV2 (mkV "do" "does" "did" "done" "doing") ; do_V2 = dirV2 (
mkV "tehdä" "tekee" "teen" "tekevät" "tehkää" "tehdään"
"teki" "tein" "tekisi" "tehnyt" "tehty" "tehdyn") ;
now_Adv = mkAdv "nyt" ; now_Adv = mkAdv "nyt" ;
already_Adv = mkAdv "jo" ; already_Adv = mkAdv "jo" ;
song_N = regN "laulu" ; song_N = regN "laulu" ;

View File

@@ -807,8 +807,11 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
-- --
-- The present, past, conditional. and infinitive stems, acc. to Koskenniemi. -- The present, past, conditional. and infinitive stems, acc. to Koskenniemi.
-- Unfortunately not enough (without complicated processes). -- Unfortunately not enough (without complicated processes).
--- We moreover give grade alternation forms as arguments, to avoid -- We moreover give grade alternation forms as arguments, since it does not
--- code exposion in gfr. -- happen automatically.
--- A problem remains with the verb "seistä", where the infinitive
--- stem has vowel harmony "ä" but the others "a", thus "seisoivat" but "seiskää".
mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
\tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun -> \tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun ->
@@ -917,7 +920,10 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
-- For cases where grade alternation is not affected by the imperfect "i". -- For cases where grade alternation is not affected by the imperfect "i".
vOttaa : (_,_ : Str) -> Verb = \ottaa,otan -> vOttaa : (_,_ : Str) -> Verb = \ottaa,otan ->
vHuoltaa ottaa otan (Predef.tk 2 ottaa + "i") (Predef.tk 2 otan + "in") ; let
i = if_then_Str (pbool2bool (Predef.occurs "ou" ottaa)) "i" "oi"
in
vHuoltaa ottaa otan (Predef.tk 2 ottaa + i) (Predef.tk 2 otan + i + "n") ;
-- For "poistaa", "ryystää". -- For "poistaa", "ryystää".

View File

@@ -294,12 +294,12 @@ regN = \vesi ->
vesi (vesi + "n") (vesi + "n"+a) (vesi + a) (vesi + a+"n") vesi (vesi + "n") (vesi + "n"+a) (vesi + a) (vesi + a+"n")
(ves + "in"+a) (ves + "iss"+a) (ves + "iden") (ves + "it"+a) (ves + "in"+a) (ves + "iss"+a) (ves + "iden") (ves + "it"+a)
(ves + "isiin") ; (ves + "isiin") ;
"in" => sLiitin vesi ;
"is" => sNauris (vesi + ("t" + a)) ; "is" => sNauris (vesi + ("t" + a)) ;
"ut" | "yt" => sRae vesi (ves + ("en" + a)) ; "ut" | "yt" => sRae vesi (ves + ("en" + a)) ;
"as" | "äs" => sRae vesi (strongGrade ves + (a + "n" + a)) ; "as" | "äs" => sRae vesi (strongGrade ves + (a + "n" + a)) ;
"ar" | "är" => sRae vesi (strongGrade ves + ("ren" + a)) ; "ar" | "är" => sRae vesi (strongGrade ves + ("ren" + a)) ;
_ => case i of { _ => case i of {
"n" => sLiitin vesi ;
"s" => sTilaus vesi (ves + ("ksen" + a)) ; "s" => sTilaus vesi (ves + ("ksen" + a)) ;
"i" => sBaari (vesi + a) ; "i" => sBaari (vesi + a) ;
"e" => sRae vesi (strongGrade (ves + "e") + "en" + a) ; "e" => sRae vesi (strongGrade (ves + "e") + "en" + a) ;
@@ -402,10 +402,10 @@ regV soutaa =
u = ifTok Str a "a" "u" "y" ; u = ifTok Str a "a" "u" "y" ;
joi = Predef.tk 2 juo + (o + "i") joi = Predef.tk 2 juo + (o + "i")
in case ta of { in case ta of {
"ta" | "tä" => vOttaa soutaa (souda + "n") ;
"st" => vJuosta soutaa soudan (juo + "s"+u+"t") (juo + "t"+u) ; "st" => vJuosta soutaa soudan (juo + "s"+u+"t") (juo + "t"+u) ;
"nn" | "rr" | "ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ; "nn" | "rr" | "ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ;
_ => case aa of { _ => case aa of {
"aa" | "ää" => vOttaa soutaa (souda + "n") ;
"da" | "dä" => vJuoda soutaa joi ; "da" | "dä" => vJuoda soutaa joi ;
"ta" | "tä" => vOsata soutaa ; "ta" | "tä" => vOsata soutaa ;
_ => vHukkua soutaa souda _ => vHukkua soutaa souda
@@ -441,10 +441,10 @@ reg3V soutaa soudan soudin =
u = ifTok Str a "a" "u" "y" ; u = ifTok Str a "a" "u" "y" ;
joi = init soudin joi = init soudin
in case ta of { in case ta of {
"ta" | "tä" => vHuoltaa soutaa soudan (init soudin) soudin ;
"st" => vJuosta soutaa soudan (juo + "s"+u+"t") (juo + "t"+u) ; "st" => vJuosta soutaa soudan (juo + "s"+u+"t") (juo + "t"+u) ;
"nn" | "rr" | "ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ; "nn" | "rr" | "ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ;
_ => case aa of { _ => case aa of {
"aa" | "ää" => vHuoltaa soutaa soudan (init soudin) soudin ;
"da" | "dä" => vJuoda soutaa joi ; "da" | "dä" => vJuoda soutaa joi ;
"ta" | "tä" => vOsata soutaa ; "ta" | "tä" => vOsata soutaa ;
_ => vHukkua soudan souda _ => vHukkua soudan souda

View File

@@ -15,11 +15,12 @@ concrete StructuralFin of Structural =
above_Prep = prepPostpGen "yläpuolella" ; above_Prep = prepPostpGen "yläpuolella" ;
after_Prep = prepPostpGen "jälkeen" ; after_Prep = prepPostpGen "jälkeen" ;
all8mass_Det = mkDeterminer singular (kaikkiPron Sg) ; all8mass_Det = mkDeterminer singular (kaikkiPron Sg) ;
---- all_NDet = kaikkiDet ; all_NDet = mkDeterminerNum (kaikkiPron Pl) ;
almost_Adv = ss "melkein" ; almost_Adv = ss "melkein" ;
although_Subj = ss "vaikka" ; although_Subj = ss "vaikka" ;
although_Subj = ss "vaikka" ; although_Subj = ss "vaikka" ;
and_Conj = ss "ja" ** {n = Pl} ; and_Conj = ss "ja" ** {n = Pl} ;
because_Subj = ss "koska" ;
before_Prep = prepPrep "ennen" Part ; before_Prep = prepPrep "ennen" Part ;
behind_Prep = prepPostpGen "takana" ; behind_Prep = prepPostpGen "takana" ;
between_Prep = prepPostpGen "välissä" ; between_Prep = prepPostpGen "välissä" ;
@@ -63,13 +64,14 @@ concrete StructuralFin of Structural =
possess_Prep = prepCase Gen ; possess_Prep = prepCase Gen ;
quite_Adv = ss "aika" ; quite_Adv = ss "aika" ;
she_NP = pronNounPhrase pronHan ; she_NP = pronNounPhrase pronHan ;
so_Adv = ss "niin" ;
somebody_NP = { somebody_NP = {
s = \\f => jokuPron ! Sg ! (npForm2Case Sg f) ; s = \\f => jokuPron ! Sg ! (npForm2Case Sg f) ;
n = Sg ; n = Sg ;
p = NP3 p = NP3
} ; } ;
some_Det = mkDeterminerGen Sg (jokinPron ! Sg) (jokuPron ! Sg) ; some_Det = mkDeterminerGen Sg (jokinPron ! Sg) (jokuPron ! Sg) ;
---- some_NDet n = mkDeterminerGenNum n (jokinPron ! Pl) (jokuPron ! Pl) ; some_NDet = mkDeterminerGenNum (jokinPron ! Pl) (jokuPron ! Pl) ;
something_NP = { something_NP = {
s = \\f => jokinPron ! Sg ! (npForm2Case Sg f) ; -- näin kaiken s = \\f => jokinPron ! Sg ! (npForm2Case Sg f) ; -- näin kaiken
n = Sg ; n = Sg ;
@@ -79,11 +81,11 @@ concrete StructuralFin of Structural =
that_Det = mkDeterminer Sg (\\c => pronTuo.s ! PCase c) ; that_Det = mkDeterminer Sg (\\c => pronTuo.s ! PCase c) ;
that_NP = pronNounPhraseNP pronTuo ; that_NP = pronNounPhraseNP pronTuo ;
therefore_Adv = ss "siksi" ; therefore_Adv = ss "siksi" ;
---- these_NDet n = mkDeterminerNum n (\\c => pronNama.s ! PCase c) ; these_NDet = mkDeterminerNum (\\c => pronNama.s ! PCase c) ;
they_NP = pronNounPhrase pronHe ; --- ne they_NP = pronNounPhrase pronHe ; --- ne
this_Det = mkDeterminer Sg (\\c => pronTama.s ! PCase c) ; this_Det = mkDeterminer Sg (\\c => pronTama.s ! PCase c) ;
this_NP = pronNounPhraseNP pronTama ; this_NP = pronNounPhraseNP pronTama ;
---- those_NDet n = mkDeterminerNum n (\\c => pronNuo.s ! PCase c) ; those_NDet = mkDeterminerNum (\\c => pronNuo.s ! PCase c) ;
thou_NP = pronNounPhrase pronSina ; thou_NP = pronNounPhrase pronSina ;
through_Prep = prepPostpGen "kautta" ; through_Prep = prepPostpGen "kautta" ;
too_Adv = ss "liian" ; too_Adv = ss "liian" ;
@@ -91,16 +93,21 @@ concrete StructuralFin of Structural =
under_Prep = prepPostpGen "alla" ; under_Prep = prepPostpGen "alla" ;
very_Adv = ss "hyvin" ; very_Adv = ss "hyvin" ;
want_VV = nomVerbVerb (vOsata "haluta") ; want_VV = nomVerbVerb (vOsata "haluta") ;
---- we_NP = pronWithNum pronMe ; we_NP = pronNounPhrase pronMe ;
what8many_IP = intPronWhat Pl ;
what8one_IP = intPronWhat Sg ;
when_IAdv = ss "koska" ; when_IAdv = ss "koska" ;
when_Subj = ss "kun" ; when_Subj = ss "kun" ;
where_IAdv = ss "missä" ; where_IAdv = ss "missä" ;
which8one_IDet = mikaDet ; which8one_IDet = mikaDet ;
---- which8many_IDet n = mkDeterminerGenNum n (mikaInt ! Pl) (kukaInt ! Pl) ; ---- which8many_IDet n = mkDeterminerGenNum n (mikaInt ! Pl) (kukaInt ! Pl) ;
who8many_IP = intPronWho Pl ;
who8one_IP = intPronWho Sg ;
why_IAdv = ss "miksi" ; why_IAdv = ss "miksi" ;
without_Prep = prepPrep "ilman" Part ; without_Prep = prepPrep "ilman" Part ;
with_Prep = prepPostpGen "kanssa" ; with_Prep = prepPostpGen "kanssa" ;
---- ye_NP = pronWithNum pronTe ; ye_NP = pronNounPhrase pronTe ;
yes_Phr = ss ("Kyllä" ++ stopPunct) ; yes_Phr = ss ("Kyllä" ++ stopPunct) ;
you_NP = pronNounPhrase pronTe ; you_NP = pronNounPhrase pronTe ;

View File

@@ -11,23 +11,23 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
i_NP = i_NP ; i_NP = i_NP ;
thou_NP = thou_NP ; thou_NP = thou_NP ;
he_NP = he_NP ; he_NP = he_NP ;
---- we_NP = we_NP ; we_NP = we_NP ;
you_NP = you_NP ; you_NP = you_NP ;
they_NP = they_NP ; they_NP = they_NP ;
---- who8many_IP = who8many_IP ; who8many_IP = who8many_IP ;
---- who8one_IP = who8one_IP ; who8one_IP = who8one_IP ;
---- what8many_IP = what8many_IP ; what8many_IP = what8many_IP ;
---- what8one_IP = what8one_IP ; what8one_IP = what8one_IP ;
-- Determiners -- Determiners
this_Det = this_Det ; this_Det = this_Det ;
that_Det = that_Det ; that_Det = that_Det ;
---- all_NDet = all_NDet ; all_NDet = all_NDet ;
many_Det = many_Det ; many_Det = many_Det ;
some_Det = some_Det ; some_Det = some_Det ;
---- few_Det = mkDeterminer Pl "few" ; few_Det = mkDeterminer Pl (\\c => (sTalo "muutama").s ! NCase Pl c) ;
---- other_Det = mkDeterminer Pl "other" ; other_Det = mkDeterminer Pl (\\c => (sPuu "muu").s ! NCase Pl c) ;
-- Adverbs -- Adverbs
@@ -46,9 +46,9 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
-- Prepositions -- Prepositions
---- at_Prep = ss "at" ; at_Prep = prepCase Adess ;
---- in_Prep = ss "in" ; in_Prep = prepCase Iness ;
---- with_Prep = ss "with" ; with_Prep = prepPostpGen "kanssa" ;
-- Numerals -- Numerals
@@ -83,12 +83,12 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
round_ADeg = regADeg "pyöreä" ; round_ADeg = regADeg "pyöreä" ;
sharp_ADeg = regADeg "terävä" ; sharp_ADeg = regADeg "terävä" ;
short_ADeg = short_ADeg ; short_ADeg = short_ADeg ;
---- small_ADeg = small_ADeg ; small_ADeg = small_ADeg ;
smooth_ADeg = regADeg "sileä" ; smooth_ADeg = regADeg "sileä" ;
straight_ADeg = mkADeg (regN "suora") "suorempi" "suorin" ; straight_ADeg = mkADeg (regN "suora") "suorempi" "suorin" ;
thick_ADeg = thick_ADeg ; thick_ADeg = thick_ADeg ;
thin_ADeg = thin_ADeg ; thin_ADeg = thin_ADeg ;
---- warm_ADeg = warm_ADeg ; warm_ADeg = warm_ADeg ;
wet_ADeg = mkADeg (regN "märkä") "märempi" "märin" ; wet_ADeg = mkADeg (regN "märkä") "märempi" "märin" ;
white_ADeg = white_ADeg ; white_ADeg = white_ADeg ;
wide_ADeg = regADeg "leveä" ; wide_ADeg = regADeg "leveä" ;
@@ -118,7 +118,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
egg_N = regN "muna" ; egg_N = regN "muna" ;
eye_N = regN "silmä" ; eye_N = regN "silmä" ;
fat_N = regN "rasva" ; fat_N = regN "rasva" ;
---- father_N = UseN2 father_N2 ; father_N = UseN2 father_N2 ;
feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ; ----- feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ; -----
fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ; fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ;
fire_N = reg2N "tuli" "tulia" ; fire_N = reg2N "tuli" "tulia" ;
@@ -133,7 +133,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
hair_N = regN "hius" ; hair_N = regN "hius" ;
hand_N = reg3N "käsi" "käden" "käsiä" ; hand_N = reg3N "käsi" "käden" "käsiä" ;
head_N = regN "pää" ; head_N = regN "pää" ;
heart_N = regN "sydän" ; ----- heart_N = regN "sydän" ; --- *sytämen
horn_N = reg2N "sarvi" "sarvia" ; horn_N = reg2N "sarvi" "sarvia" ;
husband_N = man_N ; --- aviomies husband_N = man_N ; --- aviomies
ice_N = regN "jää" ; ice_N = regN "jää" ;
@@ -146,7 +146,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
man_N = man_N ; man_N = man_N ;
meat_N = meat_N ; meat_N = meat_N ;
moon_N = moon_N ; moon_N = moon_N ;
---- mother_N = UseN2 mother_N2 ; mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ; mountain_N = mountain_N ;
mouth_N = regN "suu" ; mouth_N = regN "suu" ;
name_N = reg2N "nimi" "nimiä" ; name_N = reg2N "nimi" "nimiä" ;
@@ -155,19 +155,19 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
nose_N = regN "nenä" ; nose_N = regN "nenä" ;
person_N = regN "henkilö" ; person_N = regN "henkilö" ;
rain_N = regN "sade" ; rain_N = regN "sade" ;
---- river_N = river_N ; river_N = river_N ;
road_N = regN "tie" ; road_N = regN "tie" ;
root_N = regN "juuri" ; ----- root_N = reg3N "juuri" "juuren" "juuria" ; --- juurta *juurea
rope_N = reg3N "köysi" "köyden" "köysiä" ; rope_N = reg3N "köysi" "köyden" "köysiä" ;
salt_N = regN "suola" ; salt_N = regN "suola" ;
sand_N = regN "hiekka" ; sand_N = regN "hiekka" ;
sea_N = sea_N ; sea_N = sea_N ;
seed_N = regN "seed" ; seed_N = regN "seed" ;
skin_N = regN "skin" ; skin_N = regN "skin" ;
sky_N = regN "sky" ; ----- sky_N = regN "sky" ; --- taivaan *taipaan
smoke_N = regN "savu" ; smoke_N = regN "savu" ;
snake_N = snake_N ; snake_N = snake_N ;
snow_N = regN "lumi" ; ----- snow_N = reg3N "lumi" "lumen" "lumia" ; --- lunta *lumea
star_N = star_N ; star_N = star_N ;
stick_N = regN "keppi" ; stick_N = regN "keppi" ;
stone_N = stone_N ; stone_N = stone_N ;
@@ -211,7 +211,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
hunt_V = regV "metsästää" ; hunt_V = regV "metsästää" ;
kill_V = regV "tappaa" ; kill_V = regV "tappaa" ;
know_V =reg2V "tietää" "tiesin" ; know_V =reg2V "tietää" "tiesin" ;
laugh_V = regV "nauraa" ; ----- laugh_V = reg3V "nauraa" "nauran" "nauroin" ;
lie_V = regV "maata" ; lie_V = regV "maata" ;
live_V = live_V ; live_V = live_V ;
play_V = UseV2 play_V2 ; play_V = UseV2 play_V2 ;
@@ -220,22 +220,24 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
rub_V = regV "hieroa" ; rub_V = regV "hieroa" ;
say_V = regV "sanoa" ; say_V = regV "sanoa" ;
scratch_V = regV "raapia" ; scratch_V = regV "raapia" ;
----- see_V = UseV2 see_V2 ; see_V = UseV2 see_V2 ;
sew_V = regV "kylvää" ; sew_V = regV "kylvää" ;
sing_V = regV "laulaa" ; sing_V = regV "laulaa" ;
sit_V = regV "istua" ; sit_V = regV "istua" ;
sleep_V = sleep_V ; sleep_V = sleep_V ;
smell_V = regV "haista" ; smell_V = regV "haista" ;
spit_V = regV "sylkeä" ; spit_V = regV "sylkeä" ;
---- split_V = split_V ; split_V = reg2V "halkaista" "halkaisi" ;
squeeze_V = regV "puristaa" ; squeeze_V = regV "puristaa" ;
stab_V = regV "pistää" ; stab_V = regV "pistää" ;
---- stand_V = stand_V ; stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
suck_V = regV "imeä" ; suck_V = regV "imeä" ;
---- swell_V = swell_V ; swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
---- swim_V = swim_V ; "turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
---- think_V = think_V ; swim_V = reg3V "uida" "uin" "uin" ;
---- throw_V = throw_V ; think_V = reg3V "ajatella" "ajattelen" "ajattelin" ;
throw_V = regV "heittää" ;
tie_V = regV "sitoa" ; tie_V = regV "sitoa" ;
turn_V = regV "kääntyä" ; turn_V = regV "kääntyä" ;
vomit_V = regV "oksentaa" ; vomit_V = regV "oksentaa" ;

View File

@@ -157,6 +157,7 @@ oper
-- that is given to the noun that is being determined. -- that is given to the noun that is being determined.
Determiner : Type = {s : Gender => Case => Str ; n : Number ; isNum : Bool} ; Determiner : Type = {s : Gender => Case => Str ; n : Number ; isNum : Bool} ;
DeterminerNum : Type = {s : Gender => Case => Str ; isNum : Bool} ;
detNounPhrase : Determiner -> CommNounPhrase -> NounPhrase = \joku, mies -> detNounPhrase : Determiner -> CommNounPhrase -> NounPhrase = \joku, mies ->
{s = \\f => let {c = npForm2Case joku.n f} in {s = \\f => let {c = npForm2Case joku.n f} in
@@ -166,6 +167,15 @@ oper
p = NP3 p = NP3
} ; } ;
numDetNounPhrase : DeterminerNum -> Numeral -> CommNounPhrase -> NounPhrase =
\joku, viisi, mies ->
{s = \\f => let {c = npForm2Case Pl f} in
joku.s ! mies.g ! c ++ viisi.s ! NPCase c ++
mkCaseNum joku.isNum Pl c (mies.s ! False) ;
n = Pl ;
p = NP3
} ;
mkCaseNum : Bool -> Number -> Case -> (Number => Case => Str) -> Str = mkCaseNum : Bool -> Number -> Case -> (Number => Case => Str) -> Str =
\isNum, n, c, mies -> \isNum, n, c, mies ->
case <isNum,c> of { case <isNum,c> of {
@@ -183,28 +193,20 @@ oper
isNum = False isNum = False
} ; } ;
mkDeterminerGenNum : Numeral -> (_,_ : Case => Str) -> Determiner =
\n,mika,kuka ->
{s = table {
NonHuman => \\c => mika ! c ++ n.s ! NPCase c ;
Human => \\c => kuka ! c ++ n.s ! NPCase c
} ;
n = Pl ;
isNum = n.isNum
} ;
mkDeterminer : Number -> (Case => Str) -> Determiner = \n,kaikki -> mkDeterminer : Number -> (Case => Str) -> Determiner = \n,kaikki ->
mkDeterminerGen n kaikki kaikki ; mkDeterminerGen n kaikki kaikki ;
mkDeterminerNum : Numeral -> (Case => Str) -> Determiner = \n,kaikki -> mkDeterminerNum : (Case => Str) -> DeterminerNum =
mkDeterminerGenNum n kaikki kaikki ; mkDeterminer Pl ;
mkDeterminerGenNum : (_,_ : Case => Str) -> DeterminerNum =
mkDeterminerGen Pl ;
jokainenDet = mkDeterminer Sg (caseTable Sg (sNainen "jokaista")) ; jokainenDet = mkDeterminer Sg (caseTable Sg (sNainen "jokaista")) ;
kaikkiDet : Numeral -> Determiner = \n -> mkDeterminerNum n (kaikkiPron Pl) ; kaikkiDet : DeterminerNum = mkDeterminerNum (kaikkiPron Pl) ;
useimmatDet = mkDeterminer Pl (caseTable Pl (sSuurin "useinta")) ; useimmatDet = mkDeterminer Pl (caseTable Pl (sSuurin "useinta")) ;
mikaDet = mkDeterminerGen Sg (mikaInt ! Sg) (kukaInt ! Sg) ; mikaDet = mkDeterminerGen Sg (mikaInt ! Sg) (kukaInt ! Sg) ;
mitkaDet : Numeral -> Determiner = \n -> mitkaDet : DeterminerNum =
mkDeterminerGenNum n (mikaInt ! Pl) (kukaInt ! Pl) ; mkDeterminerGenNum (mikaInt ! Pl) (kukaInt ! Pl) ;
indefNounPhrase : Number -> CommNounPhrase -> NounPhrase = \n,mies -> indefNounPhrase : Number -> CommNounPhrase -> NounPhrase = \n,mies ->
case n of { case n of {