forked from GitHub/gf-core
more Finnish
This commit is contained in:
@@ -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 ;
|
||||||
|
|||||||
@@ -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" ;
|
||||||
|
|||||||
@@ -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ää".
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 ;
|
||||||
|
|
||||||
|
|||||||
@@ -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" ;
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user