forked from GitHub/gf-core
close to complete BasicFin
This commit is contained in:
@@ -11,109 +11,109 @@ lin
|
||||
|
||||
airplane_N = regN "lentokone" ;
|
||||
---- answer_V2S = mkV2S (regV "answer") "to" ;
|
||||
apartment_N = reg3N "asunto" "asunnon" "asuntoja" ;
|
||||
apple_N = reg3N "omena" "omenan" "omenoita" ;
|
||||
art_N = reg3N "taide" "taiteen" "taiteita" ;
|
||||
apartment_N = regN "asunto" ;
|
||||
apple_N = regN "omena" ; --- omenia, not omenoita
|
||||
art_N = regN "taide" ;
|
||||
---- ask_V2Q = mkV2Q (regV "ask") [] ;
|
||||
baby_N = regN "vauva" ;
|
||||
bad_ADeg = mkADeg (regN "paha") "pahempi" "pahin" ;
|
||||
bank_N = reg3N "pankki" "pankin" "pankkeja" ;
|
||||
bank_N = regN "pankki" ;
|
||||
beautiful_ADeg = mkADeg (regN "kaunis") "kauniimpi" "kaunein" ;
|
||||
---- become_VA = mkVA (irregV "become" "became" "become") ;
|
||||
beer_N = reg3N "olut" "oluen" "oluita" ;
|
||||
beer_N = regN "olut" ;
|
||||
---- beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
|
||||
big_ADeg = mkADeg (reg3N "suuri" "suuren" "suuria") "suurempi" "suurin" ;
|
||||
big_ADeg = mkADeg (reg2N "suuri" "suuria") "suurempi" "suurin" ;
|
||||
bike_N = nLukko "polkupyörä" ; --- for correct vowel harmony
|
||||
bird_N = reg3N "lintu" "linnun" "lintuja" ;
|
||||
black_ADeg = mkADeg (reg3N "musta" "mustan" "mustia") "mustempi" "mustin" ;
|
||||
bird_N = regN "lintu" ;
|
||||
black_ADeg = mkADeg (regN "musta") "mustempi" "mustin" ;
|
||||
blue_ADeg = mkADeg (regN "sininen") "sinisempi" "sinisin" ;
|
||||
boat_N = regN "vene" ;
|
||||
book_N = regN "kirja" ;
|
||||
boot_N = reg3N "saapas" "saappaan" "saappaita" ;
|
||||
boot_N = regN "saapas" ;
|
||||
boss_N = regN "pomo" ;
|
||||
boy_N = reg3N "poika" "pojan" "poikia" ;
|
||||
bread_N = reg3N "leipä" "leivän" "leipiä" ;
|
||||
break_V2 = dirV2 (reg3V "rikkoa" "rikon" "rikoin") ;
|
||||
bread_N = regN "leipä" ;
|
||||
break_V2 = dirV2 (regV "rikkoa") ;
|
||||
broad_ADeg = mkADeg (regN "leveä") "leveämpi" "levein" ;
|
||||
---- brother_N2 = regN2 "brother" ;
|
||||
brown_ADeg = mkADeg (regN "ruskea") "ruskeampi" "ruskein" ;
|
||||
butter_N = reg3N "voi" "voin" "voita" ;
|
||||
--3 butter_N = reg3N "voi" "voin" "voita" ;
|
||||
buy_V2 = dirV2 (regV "ostaa") ;
|
||||
camera_N = regN "kamera" ;
|
||||
cap_N = reg3N "lakki" "lakin" "lakkeja" ;
|
||||
car_N = regN "auto" ;
|
||||
carpet_N = reg3N "matto" "maton" "mattoja" ;
|
||||
cap_N = regN "lakki" ;
|
||||
car_N = reg3N "auto" "auton" "autoja" ; -- regN: audon
|
||||
carpet_N = regN "matto" ;
|
||||
cat_N = regN "kissa" ;
|
||||
ceiling_N = reg3N "katto" "katon" "kattoja" ;
|
||||
ceiling_N = regN "katto" ;
|
||||
chair_N = regN "tuoli" ;
|
||||
cheese_N = regN "juusto" ;
|
||||
child_N = mkN "lapsi" "lapsen" "lapsena" "lasta" "lapseen"
|
||||
"lapsina" "lapsissa" "lasten" "lapsia" "lapsiin" human ;
|
||||
church_N = reg3N "kirkko" "kirkon" "kirkkoja" ;
|
||||
city_N = reg3N "kaupunki" "kaupungin" "kaupunkeja" ;
|
||||
clean_ADeg = mkADeg (reg3N "puhdas" "puhtaan" "puhtaita") "puhtaampi" "puhtain" ;
|
||||
clever_ADeg = mkADeg (reg3N "viisas" "viisaan" "viisaita") "viisaampi" "viisain" ;
|
||||
close_V2 = dirV2 (reg3V "sulkea" "suljen" "sulki") ;
|
||||
coat_N = reg3N "takki" "takin" "takkeja" ;
|
||||
church_N = regN "kirkko" ;
|
||||
city_N = regN "kaupunki" ;
|
||||
clean_ADeg = regADeg "puhdas" ;
|
||||
clever_ADeg = regADeg "viisas" ;
|
||||
close_V2 = dirV2 (regV "sulkea") ;
|
||||
coat_N = regN "takki" ;
|
||||
cold_ADeg = mkADeg (regN "kylmä") "kylmempi" "kylmin" ;
|
||||
come_V = regV "tulla" ;
|
||||
computer_N = regN "tietokone" ;
|
||||
country_N = regN "maa" ;
|
||||
cousin_N = reg3N "serkku" "serkun" "serkkuja" ;
|
||||
cousin_N = regN "serkku" ;
|
||||
cow_N = regN "lehmä" ;
|
||||
die_V = regV "kuolla" ;
|
||||
dirty_ADeg = mkADeg (regN "likainen") "likaisempi" "likaisin" ;
|
||||
---- distance_N3 = mkN3 (regN "distance") "from" "to" ;
|
||||
doctor_N = reg3N "tohtori" "tohtorin" "tohtoreita" ;
|
||||
dog_N = reg3N "koira" "koiran" "koiria" ;
|
||||
door_N = reg3N "ovi" "oven" "ovia" ;
|
||||
--3 doctor_N = reg3N "tohtori" "tohtorin" "tohtoreita" ;
|
||||
dog_N = reg3N "koira" ;
|
||||
door_N = reg2N "ovi" "ovia" ;
|
||||
drink_V2 = dirV2 (regV "juoda") ;
|
||||
---- easy_A2V = mkA2V (regA "easy") "for" ;
|
||||
eat_V2 = dirV2 (regV "syödä") ;
|
||||
empty_ADeg = mkADeg (regN "tyhjä") "tyhjempi" "tyhjin" ;
|
||||
enemy_N = regN "vihollinen" ;
|
||||
factory_N = reg3N "tehdas" "tehtaan" "tehtaiden" ;
|
||||
factory_N = regN "tehdas" ;
|
||||
---- father_N2 = regN2 "father" ;
|
||||
---- fear_VS = mkVS (reg3V "pelätä" "pelkään" "pelkäsi") ;
|
||||
find_V2 = dirV2 (reg3V "löytää" "löydän" "löysin") ;
|
||||
---- fear_VS = mkVS (reg2V "pelätä" "pelkäsi") ;
|
||||
find_V2 = dirV2 (reg2V "löytää" "löysi") ;
|
||||
fish_N = regN "kala" ;
|
||||
floor_N = reg3N "lattia" "lattian" "lattioita" ;
|
||||
forget_V2 = dirV2 (reg3V "unohtaa" "unohdan" "unohdin") ;
|
||||
fridge_N = reg3N "jääkaappi" "jääkaapin" "jääkaappeja" ;
|
||||
floor_N = reg2N "lattia" "lattioita" ;
|
||||
forget_V2 = dirV2 (regV "unohtaa") ;
|
||||
fridge_N = regN "jääkaappi" ;
|
||||
friend_N = regN "ystävä" ;
|
||||
fruit_N = regN "hedelmä" ;
|
||||
---- fun_AV = mkAV (regA "fun") ;
|
||||
garden_N = regN "puutarha" ;
|
||||
girl_N = reg3N "tyttö" "tytön" "tyttöjä" ;
|
||||
glove_N = reg3N "käsine" "käsineen" "käsineitä" ;
|
||||
gold_N = reg3N "kulta" "kullan" "kultia" ;
|
||||
girl_N = regN "tyttö" ;
|
||||
glove_N = regN "käsine" ;
|
||||
gold_N = regN "kulta" ;
|
||||
good_ADeg = mkADeg (regN "hyvä") "parempi" "parhain" ; --- paras
|
||||
go_V = regV "mennä" ;
|
||||
green_ADeg = mkADeg (regN "vihreä") "vihreämpi" "vihrein" ;
|
||||
harbour_N = reg3N "satama" "sataman" "satamia" ;
|
||||
hate_V2 = dirV2 (regV "vihata") ;
|
||||
hat_N = reg3N "hattu" "hatun" "hattuja" ;
|
||||
hat_N = regN "hattu" ;
|
||||
have_V2 = dirV2 (regV "omistaa") ; ---- olla
|
||||
hear_V2 = dirV2 (regV "kuulla") ;
|
||||
hill_N = regN "kukkula" ;
|
||||
---- hope_VS = mkVS (regV "toivoa") ;
|
||||
horse_N = regN "hevonen" ;
|
||||
hot_ADeg = mkADeg (reg3N "kuuma" "kuuman" "kuumia") "kuumempi" "kuumin" ;
|
||||
hot_ADeg = mkADeg (regN "kuuma") "kuumempi" "kuumin" ;
|
||||
house_N = regN "talo" ;
|
||||
important_ADeg = mkADeg (regN "tärkeä") "tärkeämpi" "tärkein" ;
|
||||
industry_N = regN "teollisuus" ;
|
||||
iron_N = reg3N "rauta" "raudan" "rautoja" ;
|
||||
king_N = reg3N "kuningas" "kuninkaan" "kuninkaita" ;
|
||||
know_V2 = dirV2 (reg3V "tietää" "tiedän" "tiesin") ; ---- tuntea
|
||||
lake_N = reg3N "järvi" "järven" "järviä" ;
|
||||
lamp_N = reg3N "lamppu" "lampun" "lamppuja" ;
|
||||
iron_N = regN "rauta" ;
|
||||
king_N = regN "kuningas" ;
|
||||
know_V2 = dirV2 (reg3V "tietää" "tiesi") ; --- tuntea; gives tietänyt
|
||||
lake_N = reg2N "järvi" "järviä" ;
|
||||
lamp_N = regN "lamppu" ;
|
||||
learn_V2 =
|
||||
dirV2 (mkV "oppia" "oppii" "opin" "oppivat" "oppikaa" "opitaan"
|
||||
"oppi" "opin" "oppisi" "oppinut" "opittu" "opitun") ;
|
||||
leather_N = reg3N "nahka" "nahan" "nahkoja" ;
|
||||
leave_V2 = dirV2 (reg3V "jättää" "jätän" "jätin") ;
|
||||
like_V2 = caseV2 (reg3V "pitää" "pidän" "pidin") elative ;
|
||||
listen_V2 = caseV2 (reg3V "kuunnella" "kuuntelen" "kuuntelin") partitive ;
|
||||
leather_N = regN "nahka" ; --- nahan
|
||||
leave_V2 = dirV2 (regV "jättää") ;
|
||||
like_V2 = caseV2 (regV "pitää") elative ;
|
||||
--3 listen_V2 = caseV2 (reg3V "kuunnella" "kuuntelen" "kuuntelin") partitive ;
|
||||
live_V = regV "elää" ;
|
||||
long_ADeg = mkADeg (regN "pitkä") "pitempi" "pisin" ;
|
||||
lose_V2 = dirV2 (regV "hävitä") ; --- hukata
|
||||
@@ -126,116 +126,112 @@ lin
|
||||
milk_N = regN "maito" ;
|
||||
moon_N = regN "kuu" ;
|
||||
---- mother_N2 = regN2 "äiti" ;
|
||||
mountain_N = reg3N "vuori" "vuoren" "vuoria" ;
|
||||
mountain_N = reg2N "vuori" "vuoria" ;
|
||||
music_N = regN "musiikki" ;
|
||||
narrow_ADeg = mkADeg (regN "kapea") "kapeampi" "kapein" ;
|
||||
new_ADeg = mkADeg (reg3N "uusi" "uuden" "uusia") "uudempi" "uusin" ;
|
||||
newspaper_N = nSylki "sanomalehti" ; --- for correct vowel harmony
|
||||
{-
|
||||
oil_N = regN "oil" ;
|
||||
old_ADeg = regADeg "old" ;
|
||||
open_V2 = dirV2 (regV "open") ;
|
||||
paint_V2A = mkV2A (regV "paint") [] ;
|
||||
paper_N = regN "paper" ;
|
||||
peace_N = regN "peace" ;
|
||||
pen_N = regN "pen" ;
|
||||
planet_N = regN "planet" ;
|
||||
plastic_N = regN "plastic" ;
|
||||
play_V2 = dirV2 (regV "play") ;
|
||||
policeman_N = regN "policeman" ;
|
||||
priest_N = regN "priest" ;
|
||||
probable_AS = mkAS (regA "probable") ;
|
||||
queen_N = regN "queen" ;
|
||||
radio_N = regN "radio" ;
|
||||
rain_V0 = mkV0 (regV "rain") ;
|
||||
read_V2 = dirV2 (irregV "read" "read" "read") ;
|
||||
red_ADeg = regADeg "red" ;
|
||||
religion_N = regN "religion" ;
|
||||
restaurant_N = regN "restaurant" ;
|
||||
river_N = regN "river" ;
|
||||
rock_N = regN "rock" ;
|
||||
roof_N = regN "roof" ;
|
||||
rubber_N = regN "rubber" ;
|
||||
run_V = (irregDuplV "run" "ran" "run") ;
|
||||
say_VS = mkVS (irregV "say" "said" "said") ;
|
||||
school_N = regN "school" ;
|
||||
science_N = regN "science" ;
|
||||
sea_N = regN "sea" ;
|
||||
seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
||||
see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
||||
sell_V3 = dirV3 (irregV "sell" "sold" "sold") "to" ;
|
||||
send_V3 = dirV3 (irregV "send" "sent" "sent") "to" ;
|
||||
sheep_N = mk2N "sheep" "sheep" ;
|
||||
ship_N = regN "ship" ;
|
||||
shirt_N = regN "shirt" ;
|
||||
shoe_N = regN "shoe" ;
|
||||
shop_N = regN "shop" ;
|
||||
short_ADeg = regADeg "short" ;
|
||||
silver_N = regN "silver" ;
|
||||
-}
|
||||
oil_N = regN "öljy" ;
|
||||
old_ADeg = mkADeg (regN "vanha") "vanhempi" "vanhin" ;
|
||||
open_V2 = dirV2 (regV "avata") ;
|
||||
---- paint_V2A = mkV2A (regV "maalata") [] ;
|
||||
--3 paper_N = reg3N "paperi" "paperin" "papereita" ;
|
||||
peace_N = regN "rauha" ;
|
||||
pen_N = regN "kynä" ;
|
||||
planet_N = regN "planeetta" ;
|
||||
plastic_N = regN "muovi" ;
|
||||
play_V2 = dirV2 (regV "pelata") ; --- leikkiä, soittaa
|
||||
policeman_N = regN "poliisi" ;
|
||||
priest_N = regN "pappi" ;
|
||||
---- probable_AS = mkAS (mkA (nNainen "todennäköistä")) ; --- for vowel harmony
|
||||
---- queen_N = regN "kuningatar" ;
|
||||
--3 radio_N = reg3N "radio" "radion" "radioita" ;
|
||||
---- rain_V0 = mkV0 (vHuoltaa "sataa" "sadan" "satoi" "sadoin") ;
|
||||
read_V2 = dirV2 (regV "lukea") ;
|
||||
red_ADeg = regADeg "punainen" ;
|
||||
religion_N = regN "uskonto" ;
|
||||
restaurant_N = regN "ravintola" ;
|
||||
---- river_N = reg3N "joki" "joen" "jokia" ;
|
||||
---- rock_N = regN "kallio" ;
|
||||
roof_N = regN "katto" ;
|
||||
rubber_N = regN "kumi" ;
|
||||
run_V = reg2V "juosta" "juoksi" ;
|
||||
---- say_VS = mkVS (regV "sanoa") ;
|
||||
school_N = regN "koulu" ;
|
||||
science_N = regN "tiede" ;
|
||||
sea_N = reg2N "meri" "meriä" ;
|
||||
seek_V2 = dirV2 (regV "etsiä") ;
|
||||
---- see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
||||
---- sell_V3 = dirV3 (regV "myydä") allative ;
|
||||
---- send_V3 = dirV3 (regV "lähettää") allative ;
|
||||
sheep_N = regN "lammas" ;
|
||||
ship_N = regN "laiva" ;
|
||||
shirt_N = regN "paita" ;
|
||||
shoe_N = regN "kenkä" ;
|
||||
shop_N = regN "kauppa" ;
|
||||
short_ADeg = regADeg "lyhyt" ;
|
||||
silver_N = regN "hopea" ;
|
||||
sister_N = regN "sisko" ;
|
||||
sleep_V = regV "uinua" ;
|
||||
{-
|
||||
small_ADeg = regADeg "small" ;
|
||||
snake_N = regN "snake" ;
|
||||
sock_N = regN "sock" ;
|
||||
speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
||||
star_N = regN "star" ;
|
||||
steel_N = regN "steel" ;
|
||||
stone_N = regN "stone" ;
|
||||
stove_N = regN "stove" ;
|
||||
student_N = regN "student" ;
|
||||
stupid_ADeg = regADeg "stupid" ;
|
||||
sun_N = regN "sun" ;
|
||||
switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
||||
switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
||||
table_N = regN "table" ;
|
||||
talk_V3 = mkV3 (regV "talk") "to" "about" ;
|
||||
teacher_N = regN "teacher" ;
|
||||
teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
||||
television_N = regN "television" ;
|
||||
thick_ADeg = regADeg "thick" ;
|
||||
thin_ADeg = regADeg "thin" ;
|
||||
train_N = regN "train" ;
|
||||
travel_V = (regDuplV "travel") ;
|
||||
tree_N = regN "tree" ;
|
||||
sleep_V = regV "nukkua" ;
|
||||
---- small_ADeg = regADeg "small" ;
|
||||
snake_N = regN "käärme" ;
|
||||
sock_N = regN "sukka" ;
|
||||
speak_V2 = dirV2 (irregV "puhua") ;
|
||||
star_N = reg2N "tähti" "tähtiä" ;
|
||||
---- steel_N = regN "teräs" ;
|
||||
stone_N = reg2N "kivi" "kiviä" ;
|
||||
stove_N = reg3N "liesi" "lieden" "liesiä" ;
|
||||
student_N = reg2N "opiskelija" "opiskelijoita" ;
|
||||
stupid_ADeg = regADeg "tyhmä" ;
|
||||
sun_N = regN "aurinko" ;
|
||||
switch8off_V2 = dirV2 (regV "sammuttaa") ; ---
|
||||
switch8on_V2 = dirV2 (regV "sytyttää") ; ---
|
||||
table_N = regN "pöytä" ;
|
||||
---- talk_V3 = mkV3 (regV "puhua") allative elative ;
|
||||
teacher_N = regN "opettaja" ;
|
||||
teach_V2 = dirV2 (irregV "opettaa") ;
|
||||
--3 television_N = reg2N "televisio" "telievisioita" ;
|
||||
thick_ADeg = regADeg "paksu" ;
|
||||
thin_ADeg = regADeg "ohut" ;
|
||||
train_N = regN "juna" ;
|
||||
travel_V = regV "matkustaa" ;
|
||||
tree_N = regN "puu" ;
|
||||
---- trousers_N = regN "trousers" ;
|
||||
ugly_ADeg = regADeg "ugly" ;
|
||||
understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
||||
university_N = regN "university" ;
|
||||
village_N = regN "village" ;
|
||||
wait_V2 = mkV2 (regV "wait") "for" ;
|
||||
walk_V = (regV "walk") ;
|
||||
warm_ADeg = regADeg "warm" ;
|
||||
war_N = regN "war" ;
|
||||
watch_V2 = dirV2 (regV "watch") ;
|
||||
water_N = regN "water" ;
|
||||
white_ADeg = regADeg "white" ;
|
||||
window_N = regN "window" ;
|
||||
wine_N = regN "wine" ;
|
||||
win_V2 = dirV2 (irregV "win" "won" "won") ;
|
||||
woman_N = mk2N "woman" "women" ;
|
||||
wonder_VQ = mkVQ (regV "wonder") ;
|
||||
wood_N = regN "wood" ;
|
||||
write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
||||
yellow_ADeg = regADeg "yellow" ;
|
||||
young_ADeg = regADeg "young" ;
|
||||
ugly_ADeg = mkADeg (regN "ruma") "rumempi" "rumin" ;
|
||||
understand_V2 = dirV2 (reg3V "ymmärtää" "ymmärrän" "ymmärsin") ;
|
||||
university_N = regN "yliopisto" ;
|
||||
village_N = regN "kylä" ;
|
||||
wait_V2 = mkV2 (regV "odottaa") partitive ;
|
||||
walk_V = (regV "kävellä") ;
|
||||
---- warm_ADeg = regADeg "warm" ;
|
||||
war_N = regN "sota" ;
|
||||
watch_V2 = dirV2 (regV "katsella") ;
|
||||
water_N = reg3N "vesi" "veden" "vesiä" ;
|
||||
white_ADeg = regADeg "valkoinen" ;
|
||||
window_N = reg2N "ikkuna" "ikkunoita" ;
|
||||
wine_N = regN "viini" ;
|
||||
win_V2 = dirV2 (irregV "voittaa") ;
|
||||
woman_N = regN "nainen" ;
|
||||
--3 wonder_VQ = mkVQ (regV "ihmetellä") ;
|
||||
wood_N = regN "puu" ;
|
||||
write_V2 = dirV2 (irregV "kirjoittaa") ;
|
||||
yellow_ADeg = regADeg "keltainen" ;
|
||||
young_ADeg = mkADeg (reg2N "nuori" "nuoria") "nuorempi" "nuorin" ;
|
||||
|
||||
do_V2 = dirV2 (mkV "do" "does" "did" "done" "doing") ;
|
||||
now_Adv = mkAdv "now" ;
|
||||
already_Adv = mkAdv "already" ;
|
||||
song_N = regN "song" ;
|
||||
add_V3 = dirV3 (regV "add") "to" ;
|
||||
number_N = regN "number" ;
|
||||
put_V2 = mkV2 (irregDuplV "put" "put" "put") [] ;
|
||||
stop_V = regDuplV "stop" ;
|
||||
jump_V = regV "jump" ;
|
||||
here_Adv = mkAdv "here" ;
|
||||
here7to_Adv = mkAdv "here" ;
|
||||
here7from_Adv = mkAdv ["from here"] ;
|
||||
there_Adv = mkAdv "there" ;
|
||||
there7to_Adv = mkAdv "there" ;
|
||||
there7from_Adv = mkAdv ["from there"] ;
|
||||
-}
|
||||
---- do_V2 = dirV2 (mkV "do" "does" "did" "done" "doing") ;
|
||||
now_Adv = mkAdv "nyt" ;
|
||||
already_Adv = mkAdv "jo" ;
|
||||
song_N = regN "laulu" ;
|
||||
---- add_V3 = dirV3 (regV "lisätä") illative ;
|
||||
---- number_N = regN "numero" ; ---
|
||||
put_V2 = dirV2 (regV "panna") ;
|
||||
stop_V = regDuplV "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ä" ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -49,8 +49,8 @@ oper
|
||||
NCase Pl Allat => vesii + "lle" ;
|
||||
NCase Pl Abess => vesii + ("tt" + a) ;
|
||||
|
||||
NComit => Predef.tk 2 vesia + "ine" ;
|
||||
NInstruct => Predef.tk 2 vesia + "in" ;
|
||||
NComit => vetii + "ne" ;
|
||||
NInstruct => vesii + "n" ;
|
||||
|
||||
NPossNom => vete ;
|
||||
NPossGenPl => Predef.tk 1 vesien ;
|
||||
@@ -105,7 +105,7 @@ oper
|
||||
lukk = init lukko ;
|
||||
a = getHarmony o ;
|
||||
lukkoja = case o of {
|
||||
"a" => lukk + "oja" ;
|
||||
"a" => lukk + if_then_Str (pbool2bool (Predef.occurs "ou" lukk)) "ia" "oja" ;
|
||||
"ä" => lukk + "iä" ;
|
||||
_ => lukko + "j" + a
|
||||
}
|
||||
@@ -122,7 +122,7 @@ oper
|
||||
baar = Predef.tk 1 baari ;
|
||||
a = getHarmony (Predef.dp 1 baaria)
|
||||
in
|
||||
sKukko baari (baari + "n") (baar + ("ej" + a)) ;
|
||||
sKukko baari (weakGrade baari + "n") (baar + ("ej" + a)) ;
|
||||
|
||||
sKorpi : (_,_,_ : Str) -> CommonNoun = \korpi,korven,korpena ->
|
||||
let {
|
||||
@@ -471,11 +471,11 @@ getHarmony : Str -> Str = \u -> case u of {
|
||||
"rt" => ku + "rr" ;
|
||||
"lt" => ku + "ll" ;
|
||||
"lk" => kul + case o of {
|
||||
"i" => "j" ;
|
||||
"i" | "e" => "j" ;
|
||||
_ => ""
|
||||
} ;
|
||||
"rk" => kul + case o of {
|
||||
"i" => "j" ;
|
||||
"i" | "e" => "j" ;
|
||||
_ => ""
|
||||
} ;
|
||||
"hk" | "tk" => kukk ; -- *tahko-tahon, *pitkä-pitkän
|
||||
@@ -497,20 +497,23 @@ getHarmony : Str -> Str = \u -> case u of {
|
||||
|
||||
--- This is only used to analyse nouns "rae", "hake", etc.
|
||||
|
||||
strongGrade : Str -> Str = \hak ->
|
||||
strongGrade : Str -> Str = \hake ->
|
||||
let
|
||||
hak = init hake ;
|
||||
ha = init hak ;
|
||||
k = last hak ;
|
||||
e = last hake ;
|
||||
ly = Predef.tk 2 hak ;
|
||||
hd = Predef.dp 2 hak
|
||||
in
|
||||
hd = Predef.dp 2 hak ;
|
||||
ifE : Str -> Str = \hant -> ifTok Str e "e" hant hak ;
|
||||
hakk =
|
||||
case hd of {
|
||||
"ng" => ha + "nk" ;
|
||||
"nn" => ha + "nt" ;
|
||||
"mm" => ha + "mp" ;
|
||||
"rr" => ha + "rt" ;
|
||||
"ll" => ha + "lt" ;
|
||||
"lj" => ha + "lk" ;
|
||||
"ng" => ha + "k" ;
|
||||
"nn" => ha + "t" ;
|
||||
"mm" => ha + "p" ;
|
||||
"rr" => ha + "t" ;
|
||||
"ll" => ha + "t" ;
|
||||
"lj" => ifE (ha + "k") ; -- paljas-paljaan
|
||||
"hk" | "sk" | "sp" | "st" => hak ;
|
||||
_ => -- vihje/pohje: impossible to infer
|
||||
case k of {
|
||||
@@ -518,11 +521,12 @@ getHarmony : Str -> Str = \u -> case u of {
|
||||
"p" => hak + "p" ;
|
||||
"t" => hak + "t" ;
|
||||
"d" => ha + "t" ;
|
||||
"v" => ha + "p" ;
|
||||
"v" => ha + "p" ; -- rove/hyve impossible
|
||||
"a" | "ä" => hak + "k" ;
|
||||
_ => hak
|
||||
}
|
||||
} ;
|
||||
}
|
||||
in hakk + e ;
|
||||
|
||||
|
||||
--3 Proper names
|
||||
@@ -833,7 +837,17 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
|
||||
let {
|
||||
a = Predef.dp 1 hukkua ;
|
||||
hukku = Predef.tk 1 hukkua ;
|
||||
u = Predef.dp 1 huku
|
||||
u = Predef.dp 1 huku ;
|
||||
i = case u of {
|
||||
"e" | "i" => [] ;
|
||||
_ => u
|
||||
} ;
|
||||
y = case a of {
|
||||
"a" => "u" ;
|
||||
_ => "y"
|
||||
} ;
|
||||
hukkui = init hukku + i + "i" ;
|
||||
hukui = init huku + i + "i" ;
|
||||
} in
|
||||
mkVerb
|
||||
hukkua
|
||||
@@ -842,12 +856,12 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
|
||||
(hukku + "v" + a + "t")
|
||||
(hukku + (("k" + a) + a))
|
||||
(huku + ((("t" + a) + a) + "n"))
|
||||
(hukku + "i")
|
||||
(huku + "in")
|
||||
(hukku + "isi")
|
||||
(hukku + "n" + u + "t")
|
||||
(huku + "tt" + u)
|
||||
(huku + "t" + u + "t") ;
|
||||
(hukkui)
|
||||
(hukui + "n")
|
||||
(hukkui + "si")
|
||||
(hukku + "n" + y + "t")
|
||||
(huku + "tt" + y)
|
||||
(huku + "t" + y + "t") ;
|
||||
|
||||
-- For cases with or without alternation: "sanoa", "valua", "kysyä".
|
||||
|
||||
@@ -891,27 +905,33 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
|
||||
vOttaa poistaa ((Predef.tk 1 poistaa + "n")) ;
|
||||
|
||||
|
||||
-- For "osata", "lisätä"
|
||||
-- For "osata", "lisätä"; grade alternation is unpredictable, as seen
|
||||
-- from "pelätä-pelkäsi" vs. "palata-palasi"
|
||||
|
||||
|
||||
vOsata : Str -> Verb = \osata ->
|
||||
vPalkata osata (Predef.tk 2 osata + "si") ;
|
||||
|
||||
vPalkata : Str -> Str -> Verb = \palkata,palkkasi ->
|
||||
let
|
||||
a = Predef.dp 1 osata ;
|
||||
osa = Predef.tk 2 osata ;
|
||||
a = Predef.dp 1 palkata ;
|
||||
palka = Predef.tk 2 palkata ;
|
||||
palkka = Predef.tk 2 palkkasi ;
|
||||
u = case a of {"a" => "u" ; _ => "y"}
|
||||
in
|
||||
mkVerb
|
||||
osata
|
||||
(osa + a)
|
||||
(osa + (a + "n"))
|
||||
(osa + (((a + "v") + a) + "t"))
|
||||
(osa + ((("t" + "k") + a) + a))
|
||||
(osata + (a + "n"))
|
||||
(osa + "si")
|
||||
(osa + "sin")
|
||||
(osa + "isi")
|
||||
(osa + "nn" + u + "t")
|
||||
(osa + "tt" + u)
|
||||
(osa + "t" + u + "n") ;
|
||||
palkata
|
||||
(palkka + a)
|
||||
(palkka + (a + "n"))
|
||||
(palkka + (((a + "v") + a) + "t"))
|
||||
(palka + ((("t" + "k") + a) + a))
|
||||
(palkata + (a + "n"))
|
||||
(palkka + "si")
|
||||
(palkka + "sin")
|
||||
(palkka + "isi")
|
||||
(palka + "nn" + u + "t")
|
||||
(palka + "tt" + u)
|
||||
(palka + "t" + u + "n") ;
|
||||
|
||||
|
||||
----- tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun
|
||||
|
||||
@@ -296,64 +296,52 @@ regN = \vesi ->
|
||||
(ves + "isiin") ;
|
||||
"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 {
|
||||
"i" => sBaari (vesi + a) ;
|
||||
"e" => sRae vesi (ves + ("een" + a)) ;
|
||||
---- "e" => sRae vesi (strongGrade ves + ("een" + a)) ;
|
||||
"e" => sRae vesi (strongGrade (ves + "e") + "en" + a) ;
|
||||
"a" | "o" | "u" | "y" | "ä" | "ö" => sLukko vesi ;
|
||||
_ => sLinux (vesi + "i" + a)
|
||||
}
|
||||
}
|
||||
} ** {g = NonHuman ; lock_N = <>} ;
|
||||
|
||||
reg2N : (savi,savia : Str) -> N = \savi,savia ->
|
||||
let
|
||||
savit = regN savi ;
|
||||
ia = Predef.dp 2 savia ;
|
||||
i = init ia ;
|
||||
a = last ia
|
||||
in
|
||||
case ia of {
|
||||
"ia" => sArpi savi ;
|
||||
"iä" => sSylki savi ;
|
||||
"ta" | "tä" => sPeruna savi ;
|
||||
_ => savit
|
||||
} ** {g = NonHuman ; lock_N = <>} ;
|
||||
|
||||
reg3N = \vesi,veden,vesiä ->
|
||||
let
|
||||
esi = Predef.dp 3 vesi ; -- analysis: suffixes
|
||||
si = Predef.dp 2 esi ;
|
||||
i = last si ;
|
||||
s = init si ;
|
||||
den = Predef.dp 3 veden ;
|
||||
d = Predef.tk 2 den ;
|
||||
esiä = Predef.dp 4 vesiä ;
|
||||
a = last vesiä ;
|
||||
ves = init vesi ; -- synthesis: prefixes
|
||||
ve = init ves ;
|
||||
ved = Predef.tk 2 veden ;
|
||||
sRae_vesi = sRae vesi (veden + a) ;
|
||||
vesit = reg2N vesi vesiä ;
|
||||
si = Predef.dp 2 vesi ;
|
||||
i = last si ;
|
||||
a = last vesiä ;
|
||||
s = last (Predef.tk 2 vesiä)
|
||||
in
|
||||
case si of {
|
||||
"aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" => sPuu vesi ;
|
||||
"ie" | "uo" | "yö" => sSuo vesi ;
|
||||
"is" => sNauris (vesi + ("t" + a)) ;
|
||||
"ut" | "yt" | "as" | "äs" => sRae_vesi ; ---- (ves + ("en" + a)) ;
|
||||
"us" | "ys" =>
|
||||
ifTok CommonNoun d "s"
|
||||
(sTilaus vesi (veden + a))
|
||||
(sRakkaus vesi) ;
|
||||
_ => case esi of {
|
||||
"nen" => sNainen (Predef.tk 3 vesi + ("st" + a)) ;
|
||||
_ => case esiä of {
|
||||
"oita" | "öitä" => sPeruna vesi ;
|
||||
_ => case den of {
|
||||
"een" => sRae_vesi ;
|
||||
_ => case i of {
|
||||
"a" | "ä" => sKukko vesi veden vesiä ;
|
||||
"i" => case (last (init vesiä)) of {
|
||||
"i" => case s of {
|
||||
"s" => sSusi vesi veden (ve + ("ten" + a)) ;
|
||||
_ => sKorpi vesi veden (veden + a)
|
||||
} ;
|
||||
_ => sBaari (vesi + a)
|
||||
} ;
|
||||
"o" | "u" | "y" | "ö" => sKukko vesi veden vesiä ;
|
||||
_ => sLinux (vesi + "i" + a)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} ** {g = NonHuman ; lock_N = <>} ;
|
||||
case si of {
|
||||
"us" | "ys" =>
|
||||
ifTok CommonNoun (Predef.dp 3 veden) "den"
|
||||
(sRakkaus vesi)
|
||||
(sTilaus vesi (veden + a)) ;
|
||||
"si" => sSusi vesi veden (Predef.tk 2 vesi + ("ten" + a)) ;
|
||||
_ => case i of {
|
||||
"a" | "o" | "u" | "y" | "ä" | "ö" => sKukko vesi veden vesiä ;
|
||||
_ => vesit
|
||||
}
|
||||
} ** {g = NonHuman ; lock_N = <>} ;
|
||||
|
||||
nKukko = \a,b,c -> sKukko a b c ** {g = nonhuman ; lock_N = <>} ;
|
||||
|
||||
@@ -422,6 +410,24 @@ regV soutaa =
|
||||
_ => vHukkua soutaa souda
|
||||
}} ** {lock_V = <>} ;
|
||||
|
||||
reg2V : (soutaa,souti : Str) -> V = \soutaa,souti ->
|
||||
let
|
||||
soudat = regV soutaa ;
|
||||
soudan = weakGrade (init soutaa) + "n" ;
|
||||
soudin = weakGrade souti + "n" ;
|
||||
souden = init souti + "en" ;
|
||||
juo = Predef.tk 2 soutaa ;
|
||||
o = Predef.dp 1 juo ;
|
||||
u = ifTok Str (last soutaa) "a" "u" "y" ;
|
||||
taa = Predef.dp 3 soutaa
|
||||
in
|
||||
case taa of {
|
||||
"taa" | "tää" => vHuoltaa soutaa soudan souti soudin ;
|
||||
"ata" | "ätä" => vPalkata soutaa souti ;
|
||||
"sta" | "stä" => vJuosta soutaa souden (juo + o+u+"t") (juo + "t"+u) ;
|
||||
_ => soudat
|
||||
} ** {lock_V = <>} ;
|
||||
|
||||
reg3V soutaa soudan soudin =
|
||||
let
|
||||
taa = Predef.dp 3 soutaa ;
|
||||
@@ -434,7 +440,7 @@ reg3V soutaa soudan soudin =
|
||||
u = ifTok Str a "a" "u" "y" ;
|
||||
joi = init soudin
|
||||
in case ta of {
|
||||
"ta" | "tä" => vOttaa soutaa soudan ;
|
||||
"ta" | "tä" => vHuoltaa soutaa soudan (init soudin) soudin ;
|
||||
"st" => vJuosta soutaa soudan (juo + "s"+u+"t") (juo + "t"+u) ;
|
||||
"nn" | "rr" | "ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ;
|
||||
_ => case aa of {
|
||||
@@ -451,6 +457,8 @@ reg3V soutaa soudan soudin =
|
||||
vOlla = verbOlla ** {lock_V = <>} ;
|
||||
vEi = verbEi ** {lock_V = <>} ;
|
||||
|
||||
vHuoltaa : (_,_,_,_ : Str) -> Verb = \ottaa,otan,otti,otin ->
|
||||
SyntaxFin.vHuoltaa ottaa otan otti otin ** {lock_V = <>} ;
|
||||
mkV2 = \v,c,p,o -> v ** {s3 = p ; s4 = o ; c = CCase c ; lock_V2 = <>} ;
|
||||
caseV2 = \v,c -> mkV2 v c [] [] ;
|
||||
dirV2 v = mkTransVerbDir v ** {lock_V2 = <>} ;
|
||||
|
||||
Reference in New Issue
Block a user