mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 01:52:50 -06:00
adjustments in Swadesh inflection
This commit is contained in:
@@ -159,7 +159,7 @@ lin
|
|||||||
say_VS = mkVS (regV "sanoa") ;
|
say_VS = mkVS (regV "sanoa") ;
|
||||||
school_N = regN "koulu" ;
|
school_N = regN "koulu" ;
|
||||||
science_N = regN "tiede" ;
|
science_N = regN "tiede" ;
|
||||||
sea_N = reg2N "meri" "meriä" ; ---- *merea
|
sea_N = nMeri "meri" ;
|
||||||
seek_V2 = dirV2 (regV "etsiä") ;
|
seek_V2 = dirV2 (regV "etsiä") ;
|
||||||
see_V2 = dirV2 (
|
see_V2 = dirV2 (
|
||||||
mkV "nähdä" "näkee" "näen" "näkevät" "nähkää" "nähdään"
|
mkV "nähdä" "näkee" "näen" "näkevät" "nähkää" "nähdään"
|
||||||
|
|||||||
@@ -409,13 +409,15 @@ oper
|
|||||||
(naurei + ("t" + a))
|
(naurei + ("t" + a))
|
||||||
(naurei + "siin") ;
|
(naurei + "siin") ;
|
||||||
|
|
||||||
-- Words of the form "siitin", "avain".
|
-- Words of the form "siitin", "avain", "höyhen" (w or wo grade alternation).
|
||||||
|
|
||||||
sLiitin : Str -> CommonNoun = \liitin ->
|
sLiitin : Str -> Str -> CommonNoun = \liitin,liittimen ->
|
||||||
let
|
let
|
||||||
liitti = strongGrade (init liitin) ;
|
liittime = init liittimen ;
|
||||||
liittime = liitti + "me" ;
|
liitti = Predef.tk 2 liittime ;
|
||||||
a = if_then_Str (pbool2bool (Predef.occurs "aou" liitin)) "a" "ä"
|
m = last (init liittime) ;
|
||||||
|
liittimi = liitti + m + "i" ;
|
||||||
|
a = vowelHarmony liitin ;
|
||||||
in
|
in
|
||||||
mkSubst a
|
mkSubst a
|
||||||
liitin
|
liitin
|
||||||
@@ -423,11 +425,11 @@ oper
|
|||||||
liittime
|
liittime
|
||||||
(liitin + "t" + a)
|
(liitin + "t" + a)
|
||||||
(liittime + "en")
|
(liittime + "en")
|
||||||
(liitti + "mi")
|
(liittimi)
|
||||||
(liitti + "mi")
|
(liittimi)
|
||||||
(liitti + "mien")
|
(liittimi + "en")
|
||||||
(liitti + "mi" + a)
|
(liittimi + a)
|
||||||
(liitti + "miin") ;
|
(liittimi + "in") ;
|
||||||
|
|
||||||
-- The following covers adjectives like "kapea", "leveä".
|
-- The following covers adjectives like "kapea", "leveä".
|
||||||
|
|
||||||
@@ -504,6 +506,10 @@ getHarmony : Str -> Str = \u -> case u of {
|
|||||||
_ => "ä"
|
_ => "ä"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
-- This function inspects the whole word.
|
||||||
|
|
||||||
|
vowelHarmony : Str -> Str = \liitin ->
|
||||||
|
if_then_Str (pbool2bool (Predef.occurs "aou" liitin)) "a" "ä" ;
|
||||||
|
|
||||||
-- The following function defines how grade alternation works if it is active.
|
-- The following function defines how grade alternation works if it is active.
|
||||||
-- In general, *whether there is* grade alternation must be given in the lexicon
|
-- In general, *whether there is* grade alternation must be given in the lexicon
|
||||||
@@ -1002,6 +1008,28 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
|
|||||||
(palka + "tt" + u)
|
(palka + "tt" + u)
|
||||||
(palka + "t" + u + "n") ;
|
(palka + "t" + u + "n") ;
|
||||||
|
|
||||||
|
vPudota : Str -> Str -> Verb = \pudota, putosi ->
|
||||||
|
let
|
||||||
|
a = Predef.dp 1 pudota ;
|
||||||
|
pudo = Predef.tk 2 pudota ;
|
||||||
|
puto = Predef.tk 2 putosi ;
|
||||||
|
putoa = puto + a ;
|
||||||
|
u = case a of {"a" => "u" ; _ => "y"}
|
||||||
|
in
|
||||||
|
mkVerb
|
||||||
|
pudota
|
||||||
|
(putoa + a)
|
||||||
|
(putoa + "n")
|
||||||
|
(putoa + "v" + a + "t")
|
||||||
|
(pudo + "tk" + a + a)
|
||||||
|
(pudota + a + "n")
|
||||||
|
(puto + "si")
|
||||||
|
(puto + "sin")
|
||||||
|
(puto + a + "isi")
|
||||||
|
(pudo + "nn" + u + "t")
|
||||||
|
(pudo + "tt" + u)
|
||||||
|
(pudo + "t" + u + "n") ;
|
||||||
|
|
||||||
vHarkita : Str -> Verb = \harkita ->
|
vHarkita : Str -> Verb = \harkita ->
|
||||||
let
|
let
|
||||||
a = Predef.dp 1 harkita ;
|
a = Predef.dp 1 harkita ;
|
||||||
|
|||||||
@@ -163,6 +163,11 @@ oper
|
|||||||
|
|
||||||
nNauris : (naurista : Str) -> N ;
|
nNauris : (naurista : Str) -> N ;
|
||||||
|
|
||||||
|
-- Some nouns have an unexpected singular partitive, e.g. "meri", "juuri".
|
||||||
|
|
||||||
|
sgpartN : N -> Str -> N ;
|
||||||
|
nMeri : Str -> N ;
|
||||||
|
|
||||||
-- Separately-written compound nouns, like "sambal oelek", "Urho Kekkonen",
|
-- Separately-written compound nouns, like "sambal oelek", "Urho Kekkonen",
|
||||||
-- have only their last part inflected.
|
-- have only their last part inflected.
|
||||||
|
|
||||||
@@ -354,7 +359,7 @@ regN = \vesi ->
|
|||||||
"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 ;
|
"n" => sLiitin vesi (strongGrade (init vesi) + "men") ;
|
||||||
"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) ;
|
||||||
@@ -396,8 +401,10 @@ reg3N = \vesi,veden,vesi
|
|||||||
ifTok CommonNoun (Predef.dp 3 veden) "den"
|
ifTok CommonNoun (Predef.dp 3 veden) "den"
|
||||||
(sRakkaus vesi)
|
(sRakkaus vesi)
|
||||||
(sTilaus vesi (veden + a)) ;
|
(sTilaus vesi (veden + a)) ;
|
||||||
|
"as" | "äs" => sRae vesi (veden + a) ;
|
||||||
"li" | "ni" | "ri" => sSusi vesi veden (Predef.tk 1 vesi + ("en" + a)) ;
|
"li" | "ni" | "ri" => sSusi vesi veden (Predef.tk 1 vesi + ("en" + a)) ;
|
||||||
"si" => sSusi vesi veden (Predef.tk 2 vesi + ("ten" + a)) ;
|
"si" => sSusi vesi veden (Predef.tk 2 vesi + ("ten" + a)) ;
|
||||||
|
"in" | "en" | "än" => sLiitin vesi veden ;
|
||||||
_ => case i of {
|
_ => case i of {
|
||||||
"a" | "o" | "u" | "y" | "ä" | "ö" => sKukko vesi veden vesiä ;
|
"a" | "o" | "u" | "y" | "ä" | "ö" => sKukko vesi veden vesiä ;
|
||||||
"i" => sKorpi vesi veden (init veden + "n" + a) ;
|
"i" => sKorpi vesi veden (init veden + "n" + a) ;
|
||||||
@@ -424,7 +431,17 @@ reg3N = \vesi,veden,vesi
|
|||||||
nKulaus = \a -> nTilaus a (init a + "ksen" + getHarmony (last
|
nKulaus = \a -> nTilaus a (init a + "ksen" + getHarmony (last
|
||||||
(init a))) ;
|
(init a))) ;
|
||||||
nNauris = \a -> sNauris a ** {g = nonhuman ; lock_N = <>} ;
|
nNauris = \a -> sNauris a ** {g = nonhuman ; lock_N = <>} ;
|
||||||
|
sgpartN noun part = {
|
||||||
|
s = table {
|
||||||
|
NCase Sg Part => part ;
|
||||||
|
c => noun.s ! c
|
||||||
|
} ;
|
||||||
|
g = noun.g ;
|
||||||
|
lock_N = noun.lock_N
|
||||||
|
} ;
|
||||||
|
nMeri meri =
|
||||||
|
let a = vowelHarmony meri in
|
||||||
|
sgpartN (reg2N meri (meri + a)) (init meri + "ta") ;
|
||||||
|
|
||||||
nComp = \s,n -> {s = \\c => s ++ n.s ! c ; g = n.g ; lock_N = <>} ;
|
nComp = \s,n -> {s = \\c => s ++ n.s ! c ; g = n.g ; lock_N = <>} ;
|
||||||
mkN2 = \n,c -> n2n n ** {c = NPCase c ; lock_N2 = <>} ;
|
mkN2 = \n,c -> n2n n ** {c = NPCase c ; lock_N2 = <>} ;
|
||||||
@@ -509,6 +526,7 @@ reg3V soutaa soudan souti =
|
|||||||
soudat = reg2V soutaa souti ;
|
soudat = reg2V soutaa souti ;
|
||||||
in case ta of {
|
in case ta of {
|
||||||
"ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ;
|
"ll" => vJuosta soutaa soudan (juo + o+u+"t") (juo + "t"+u) ;
|
||||||
|
"ot" | "öt" => vPudota soutaa souti ;
|
||||||
_ => case aa of {
|
_ => case aa of {
|
||||||
"aa" | "ää" => vHuoltaa soutaa soudan souti soudin ;
|
"aa" | "ää" => vHuoltaa soutaa soudan souti soudin ;
|
||||||
"da" | "dä" => vJuoda soutaa souti ;
|
"da" | "dä" => vJuoda soutaa souti ;
|
||||||
|
|||||||
@@ -99,13 +99,13 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
|
|||||||
|
|
||||||
-- Nouns
|
-- Nouns
|
||||||
|
|
||||||
animal_N = regN "eläin" ; ---- *eläkimet
|
animal_N = reg3N "eläin" "eläimen" "eläimiä" ;
|
||||||
ashes_N = regN "tuhka" ;
|
ashes_N = regN "tuhka" ;
|
||||||
back_N = regN "selkä" ;
|
back_N = regN "selkä" ;
|
||||||
bark_N = regN "kaarna" ;
|
bark_N = regN "kaarna" ;
|
||||||
belly_N = regN "vatsa" ;
|
belly_N = regN "vatsa" ;
|
||||||
bird_N = bird_N;
|
bird_N = bird_N;
|
||||||
blood_N = reg2N "veri" "veriä" ;
|
blood_N = nMeri "veri" ;
|
||||||
bone_N = regN "luu" ;
|
bone_N = regN "luu" ;
|
||||||
breast_N = regN "rinta" ;
|
breast_N = regN "rinta" ;
|
||||||
child_N = child_N ;
|
child_N = child_N ;
|
||||||
@@ -119,7 +119,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
|
|||||||
eye_N = regN "silmä" ;
|
eye_N = regN "silmä" ;
|
||||||
fat_N = regN "rasva" ;
|
fat_N = regN "rasva" ;
|
||||||
father_N = regN "isä" ;
|
father_N = regN "isä" ;
|
||||||
feather_N = regN "höyhen" ; ---- *höyhemen
|
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" ;
|
||||||
fish_N = fish_N ;
|
fish_N = fish_N ;
|
||||||
@@ -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" ; --- *sytämen
|
heart_N = reg3N "sydän" "sydämen" "sydämiä" ;
|
||||||
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ää" ;
|
||||||
@@ -157,17 +157,17 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
|
|||||||
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 = reg3N "juuri" "juuren" "juuria" ; --- juurta *juurea
|
root_N = reg3N "juuri" "juuren" "juuria" ;
|
||||||
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 "siemen" ;
|
seed_N = regN "siemen" ;
|
||||||
skin_N = regN "nahka" ;
|
skin_N = regN "nahka" ;
|
||||||
sky_N = regN "taivas" ; --- taivaan *taipaan
|
sky_N = reg3N "taivas" "taivaan" "taivaita" ;
|
||||||
smoke_N = regN "savu" ;
|
smoke_N = regN "savu" ;
|
||||||
snake_N = snake_N ;
|
snake_N = snake_N ;
|
||||||
snow_N = reg3N "lumi" "lumen" "lumia" ; --- lunta *lumea
|
snow_N = sgpartN (nMeri "lumi") "lunta" ;
|
||||||
star_N = star_N ;
|
star_N = star_N ;
|
||||||
stick_N = regN "keppi" ;
|
stick_N = regN "keppi" ;
|
||||||
stone_N = stone_N ;
|
stone_N = stone_N ;
|
||||||
@@ -197,7 +197,7 @@ concrete SwadeshLexFin of SwadeshLex = CategoriesFin
|
|||||||
dig_V = regV "kaivaa" ;
|
dig_V = regV "kaivaa" ;
|
||||||
drink_V = UseV2 drink_V2 ;
|
drink_V = UseV2 drink_V2 ;
|
||||||
eat_V = UseV2 eat_V2 ;
|
eat_V = UseV2 eat_V2 ;
|
||||||
fall_V = reg3V "pudota" "putoan" "putosi" ; ---- *pudoa
|
fall_V = reg3V "pudota" "putoan" "putosi" ;
|
||||||
fear_V = reg3V "pelätä" "pelkään" "pelkäsi" ;
|
fear_V = reg3V "pelätä" "pelkään" "pelkäsi" ;
|
||||||
fight_V = regV "taistella" ;
|
fight_V = regV "taistella" ;
|
||||||
float_V = regV "kellua" ;
|
float_V = regV "kellua" ;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ lin
|
|||||||
break_V2 = dirV2 (special_ppV (regV "romper") "roto") ;
|
break_V2 = dirV2 (special_ppV (regV "romper") "roto") ;
|
||||||
broad_ADeg = regADeg "ancho" ;
|
broad_ADeg = regADeg "ancho" ;
|
||||||
brother_N2 = deN2 (regN "hermano") ;
|
brother_N2 = deN2 (regN "hermano") ;
|
||||||
brown_ADeg = regADeg "marrón" ;
|
brown_ADeg = regADeg "marrón" ; --- *
|
||||||
butter_N = regN "manteca" ;
|
butter_N = regN "manteca" ;
|
||||||
buy_V2 = dirV2 (regV "comprar") ;
|
buy_V2 = dirV2 (regV "comprar") ;
|
||||||
camera_N = regN "cámara" ; -- ["máquina fotográfica"]
|
camera_N = regN "cámara" ; -- ["máquina fotográfica"]
|
||||||
@@ -146,7 +146,7 @@ lin
|
|||||||
rain_V0 = mkV0 (verboV (llover_89 "llover")) ;
|
rain_V0 = mkV0 (verboV (llover_89 "llover")) ;
|
||||||
read_V2 = dirV2 (verboV (creer_26 "leer")) ;
|
read_V2 = dirV2 (verboV (creer_26 "leer")) ;
|
||||||
red_ADeg = regADeg "rojo" ;
|
red_ADeg = regADeg "rojo" ;
|
||||||
religion_N = femN (regN "religión") ;
|
religion_N = mkN "religión" "religiones" feminine ;
|
||||||
restaurant_N = regN "restaurante" ; -- restorán, restaurán, masc
|
restaurant_N = regN "restaurante" ; -- restorán, restaurán, masc
|
||||||
river_N = regN "río" ;
|
river_N = regN "río" ;
|
||||||
rock_N = regN "roca" ;
|
rock_N = regN "roca" ;
|
||||||
@@ -187,7 +187,7 @@ lin
|
|||||||
talk_V3 = mkV3 (regV "hablar") dative genitive ;
|
talk_V3 = mkV3 (regV "hablar") dative genitive ;
|
||||||
teacher_N = regN "maestro" ; -- maestra
|
teacher_N = regN "maestro" ; -- maestra
|
||||||
teach_V2 = dirV2 (regV "enseñar") ;
|
teach_V2 = dirV2 (regV "enseñar") ;
|
||||||
television_N = femN (regN "televisión") ; -- fem, televisor masc
|
television_N = mkN "televisión" "televisiones" feminine ; -- televisor masc
|
||||||
thick_ADeg = regADeg "grueso" ;
|
thick_ADeg = regADeg "grueso" ;
|
||||||
thin_ADeg = regADeg "fino" ; -- delgado
|
thin_ADeg = regADeg "fino" ; -- delgado
|
||||||
train_N = regN "tren" ;
|
train_N = regN "tren" ;
|
||||||
@@ -218,7 +218,7 @@ lin
|
|||||||
do_V2 = dirV2 (verboV (hacer_44 "hacer")) ;
|
do_V2 = dirV2 (verboV (hacer_44 "hacer")) ;
|
||||||
now_Adv = mkAdv "ahora" ;
|
now_Adv = mkAdv "ahora" ;
|
||||||
already_Adv = mkAdv "ya" ;
|
already_Adv = mkAdv "ya" ;
|
||||||
song_N = femN (regN "canción") ;
|
song_N = mkN "canción" "canciones" feminine ;
|
||||||
add_V3 = dirV3 (regV "sumar") dative ;
|
add_V3 = dirV3 (regV "sumar") dative ;
|
||||||
number_N = regN "número" ;
|
number_N = regN "número" ;
|
||||||
put_V2 = dirV2 (verboV (poner_60 "poner")) ;
|
put_V2 = dirV2 (verboV (poner_60 "poner")) ;
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ concrete SwadeshLexSpa of SwadeshLex = CategoriesSpa
|
|||||||
hair_N = regN "cabello" ; -- pelo
|
hair_N = regN "cabello" ; -- pelo
|
||||||
hand_N = femN (regN "mano") ;
|
hand_N = femN (regN "mano") ;
|
||||||
head_N = regN "cabeza" ;
|
head_N = regN "cabeza" ;
|
||||||
heart_N = regN "corazón" ;
|
heart_N = mkN "corazón" "corazones" masculine ;
|
||||||
horn_N = regN "cuerno" ;
|
horn_N = regN "cuerno" ;
|
||||||
husband_N = regN "marido" ; -- esposo
|
husband_N = regN "marido" ; -- esposo
|
||||||
ice_N = regN "hielo" ;
|
ice_N = regN "hielo" ;
|
||||||
@@ -172,7 +172,7 @@ concrete SwadeshLexSpa of SwadeshLex = CategoriesSpa
|
|||||||
snake_N = snake_N ;
|
snake_N = snake_N ;
|
||||||
snow_N = femN (regN "nieve") ; -- fem
|
snow_N = femN (regN "nieve") ; -- fem
|
||||||
star_N = star_N ;
|
star_N = star_N ;
|
||||||
stick_N = regN "bastón" ; -- palo
|
stick_N = mkN "bastón" "bastones" masculine ; -- palo
|
||||||
stone_N = stone_N ;
|
stone_N = stone_N ;
|
||||||
sun_N = sun_N ;
|
sun_N = sun_N ;
|
||||||
tail_N = regN "cola" ;
|
tail_N = regN "cola" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user