mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
building Finnish lexicon
This commit is contained in:
@@ -5,7 +5,7 @@ concrete BasicFin of Basic = CategoriesFin ** open ParadigmsFin in {
|
||||
|
||||
flags
|
||||
startcat=Phr ; lexer=textlit ; unlexer=text ;
|
||||
optimize=all ;
|
||||
optimize=values ;
|
||||
|
||||
lin
|
||||
|
||||
@@ -23,7 +23,7 @@ lin
|
||||
beer_N = reg3N "olut" "oluen" "oluita" ;
|
||||
---- beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
|
||||
big_ADeg = mkADeg (reg3N "suuri" "suuren" "suuria") "suurempi" "suurin" ;
|
||||
bike_N = regN "polkupyörä" ;
|
||||
bike_N = nLukko "polkupyörä" ; --- for correct vowel harmony
|
||||
bird_N = reg3N "lintu" "linnun" "lintuja" ;
|
||||
black_ADeg = mkADeg (reg3N "musta" "mustan" "mustia") "mustempi" "mustin" ;
|
||||
blue_ADeg = mkADeg (regN "sininen") "sinisempi" "sinisin" ;
|
||||
@@ -42,94 +42,96 @@ lin
|
||||
camera_N = regN "kamera" ;
|
||||
cap_N = reg3N "lakki" "lakin" "lakkeja" ;
|
||||
car_N = regN "auto" ;
|
||||
{-
|
||||
carpet_N = regN "carpet" ;
|
||||
cat_N = regN "cat" ;
|
||||
ceiling_N = regN "ceiling" ;
|
||||
chair_N = regN "chair" ;
|
||||
cheese_N = regN "cheese" ;
|
||||
child_N = mk2N "child" "children" ;
|
||||
church_N = regN "church" ;
|
||||
city_N = regN "city" ;
|
||||
clean_ADeg = regADeg "clean" ;
|
||||
clever_ADeg = regADeg "clever" ;
|
||||
close_V2 = dirV2 (regV "close") ;
|
||||
coat_N = regN "coat" ;
|
||||
cold_ADeg = regADeg "cold" ;
|
||||
come_V = (irregV "come" "came" "come") ;
|
||||
computer_N = regN "computer" ;
|
||||
country_N = regN "country" ;
|
||||
cousin_N = regN "cousin" ;
|
||||
cow_N = regN "cow" ;
|
||||
die_V = (regV "die") ;
|
||||
dirty_ADeg = regADeg "dirty" ;
|
||||
distance_N3 = mkN3 (regN "distance") "from" "to" ;
|
||||
doctor_N = regN "doctor" ;
|
||||
dog_N = regN "dog" ;
|
||||
door_N = regN "door" ;
|
||||
-}
|
||||
carpet_N = reg3N "matto" "maton" "mattoja" ;
|
||||
cat_N = regN "kissa" ;
|
||||
ceiling_N = reg3N "katto" "katon" "kattoja" ;
|
||||
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" ;
|
||||
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" ;
|
||||
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" ;
|
||||
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" ;
|
||||
---- 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") ;
|
||||
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" ;
|
||||
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" ;
|
||||
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" ;
|
||||
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" ;
|
||||
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" ;
|
||||
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 ;
|
||||
live_V = regV "elää" ;
|
||||
long_ADeg = mkADeg (regN "pitkä") "pitempi" "pisin" ;
|
||||
lose_V2 = dirV2 (regV "hävitä") ; --- hukata
|
||||
love_N = reg3N "rakkaus" "rakkauden" "rakkauksia" ;
|
||||
love_V2 = caseV2 (regV "rakastaa") partitive ;
|
||||
man_N = mkN "mies" "miehen" "miehenä" "miestä" "mieheen"
|
||||
"miehinä" "miehissä" "miesten" "miehiä" "miehiin" human ;
|
||||
---- married_A2 = mkA2 (regA "married") "to" ;
|
||||
meat_N = regN "liha" ;
|
||||
milk_N = regN "maito" ;
|
||||
moon_N = regN "kuu" ;
|
||||
---- mother_N2 = regN2 "äiti" ;
|
||||
mountain_N = reg3N "vuori" "vuoren" "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
|
||||
{-
|
||||
easy_A2V = mkA2V (regA "easy") "for" ;
|
||||
eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
||||
empty_ADeg = regADeg "empty" ;
|
||||
enemy_N = regN "enemy" ;
|
||||
factory_N = regN "factory" ;
|
||||
father_N2 = regN2 "father" ;
|
||||
fear_VS = mkVS (regV "fear") ;
|
||||
find_V2 = dirV2 (irregV "find" "found" "found") ;
|
||||
fish_N = mk2N "fish" "fish" ;
|
||||
floor_N = regN "floor" ;
|
||||
forget_V2 = dirV2 (irregV "forget" "forgot" "forgotten") ;
|
||||
fridge_N = regN "fridge" ;
|
||||
friend_N = regN "friend" ;
|
||||
fruit_N = regN "fruit" ;
|
||||
fun_AV = mkAV (regA "fun") ;
|
||||
garden_N = regN "garden" ;
|
||||
girl_N = regN "girl" ;
|
||||
glove_N = regN "glove" ;
|
||||
gold_N = regN "gold" ;
|
||||
good_ADeg = mkADeg "good" "better" "best" "well" ;
|
||||
go_V = (mkV "go" "goes" "went" "gone" "going") ;
|
||||
green_ADeg = regADeg "green" ;
|
||||
harbour_N = regN "harbour" ;
|
||||
hate_V2 = dirV2 (regV "hate") ;
|
||||
hat_N = regN "hat" ;
|
||||
have_V2 = dirV2 (mkV "have" "has" "had" "had" "having") ;
|
||||
hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
||||
hill_N = regN "hill" ;
|
||||
hope_VS = mkVS (regV "hope") ;
|
||||
horse_N = regN "horse" ;
|
||||
hot_ADeg = regADeg "hot" ;
|
||||
house_N = regN "house" ;
|
||||
important_ADeg = compoundADeg (regA "important") ;
|
||||
industry_N = regN "industry" ;
|
||||
iron_N = regN "iron" ;
|
||||
king_N = regN "king" ;
|
||||
know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
||||
lake_N = regN "lake" ;
|
||||
lamp_N = regN "lamp" ;
|
||||
learn_V2 = dirV2 (regV "learn") ;
|
||||
leather_N = regN "leather" ;
|
||||
leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
||||
like_V2 = dirV2 (regV "like") ;
|
||||
listen_V2 = dirV2 (regV "listen") ;
|
||||
live_V = (regV "live") ;
|
||||
long_ADeg = regADeg "long" ;
|
||||
lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
||||
love_N = regN "love" ;
|
||||
love_V2 = dirV2 (regV "love") ;
|
||||
man_N = mk2N "man" "men" ;
|
||||
married_A2 = mkA2 (regA "married") "to" ;
|
||||
meat_N = regN "meat" ;
|
||||
milk_N = regN "milk" ;
|
||||
moon_N = regN "moon" ;
|
||||
mother_N2 = regN2 "mother" ;
|
||||
mountain_N = regN "mountain" ;
|
||||
music_N = regN "music" ;
|
||||
narrow_ADeg = regADeg "narrow" ;
|
||||
new_ADeg = regADeg "new" ;
|
||||
newspaper_N = regN "newspaper" ;
|
||||
oil_N = regN "oil" ;
|
||||
old_ADeg = regADeg "old" ;
|
||||
open_V2 = dirV2 (regV "open") ;
|
||||
|
||||
@@ -373,6 +373,26 @@ oper
|
||||
(naurei + ("t" + a))
|
||||
(naurei + "siin") ;
|
||||
|
||||
-- The following covers adjectives like "kapea", "leveä".
|
||||
|
||||
sKapea : (_ : Str) -> CommonNoun = \kapea ->
|
||||
let
|
||||
a = last kapea ;
|
||||
kape = init kapea ;
|
||||
kapei = kape + "i"
|
||||
in
|
||||
mkSubst a
|
||||
kapea
|
||||
kapea
|
||||
kapea
|
||||
(kapea + a)
|
||||
(kapea + a+"n")
|
||||
kapei
|
||||
kapei
|
||||
(kapei + "den")
|
||||
(kapei + ("t" + a))
|
||||
(kapei + "siin") ;
|
||||
|
||||
-- The following two are used for adjective comparison.
|
||||
|
||||
sSuurempi : Str -> CommonNoun = \suurempaa ->
|
||||
@@ -458,7 +478,7 @@ getHarmony : Str -> Str = \u -> case u of {
|
||||
"i" => "j" ;
|
||||
_ => ""
|
||||
} ;
|
||||
"hk" => kukk ; -- *tahko-tahon
|
||||
"hk" | "tk" => kukk ; -- *tahko-tahon, *pitkä-pitkän
|
||||
"sk" => kukk ; -- *lasku-lasvun
|
||||
"sp" => kukk ; -- *raspi-rasvin
|
||||
"st" => kukk ; -- *lastu-lasdun
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
resource ParadigmsFin =
|
||||
open (Predef=Predef), Prelude, SyntaxFin, CategoriesFin in {
|
||||
|
||||
flags optimize=values ;
|
||||
|
||||
--2 Parameters
|
||||
--
|
||||
-- To abstract over gender, number, and (some) case names,
|
||||
@@ -324,7 +326,7 @@ reg3N = \vesi,veden,vesi
|
||||
"aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" => sPuu vesi ;
|
||||
"ie" | "uo" | "yö" => sSuo vesi ;
|
||||
"is" => sNauris (vesi + ("t" + a)) ;
|
||||
"ut" | "yt" => sRae vesi (ves + ("en" + a)) ;
|
||||
"ut" | "yt" | "as" | "äs" => sRae_vesi ; ---- (ves + ("en" + a)) ;
|
||||
"us" | "ys" =>
|
||||
ifTok CommonNoun d "s"
|
||||
(sTilaus vesi (veden + a))
|
||||
|
||||
Reference in New Issue
Block a user