forked from GitHub/gf-core
Turkish: some more nouns in the lexicon and some work on the paradigms. still not complete
This commit is contained in:
@@ -3,6 +3,9 @@
|
|||||||
concrete LexiconTur of Lexicon = CatTur **
|
concrete LexiconTur of Lexicon = CatTur **
|
||||||
open ResTur, ParadigmsTur, Prelude in {
|
open ResTur, ParadigmsTur, Prelude in {
|
||||||
|
|
||||||
|
flags
|
||||||
|
coding=utf8;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
airplane_N = regN "uçak" ;
|
airplane_N = regN "uçak" ;
|
||||||
apartment_N = regN "apartman" ;
|
apartment_N = regN "apartman" ;
|
||||||
@@ -13,12 +16,54 @@ lin
|
|||||||
boot_N = regN "ayakkabı" ;
|
boot_N = regN "ayakkabı" ;
|
||||||
boss_N = regN "şef" ;
|
boss_N = regN "şef" ;
|
||||||
bread_N = regN "ekmek" ;
|
bread_N = regN "ekmek" ;
|
||||||
|
brother_N2 = regN "kardeş" ;
|
||||||
|
butter_N = regN "yağ" ;
|
||||||
|
cap_N = regN "şapka" ;
|
||||||
|
car_N = regN "araba" ;
|
||||||
|
carpet_N = regN "kilim" ;
|
||||||
|
cat_N = regN "kedi" ;
|
||||||
|
child_N = regN "çocuk" ;
|
||||||
|
city_N = regN "şehir" ;
|
||||||
|
coat_N = regN "kazak" ;
|
||||||
come_V = regV "gelmek" ;
|
come_V = regV "gelmek" ;
|
||||||
day_N = regN "gün" ;
|
|
||||||
father_N2 = regN "baba" ;
|
father_N2 = regN "baba" ;
|
||||||
go_V = regV "gitmek" ;
|
go_V = regV "gitmek" ;
|
||||||
house_N = regN "ev" ;
|
house_N = regN "ev" ;
|
||||||
mother_N2 = regN "anne" ;
|
mother_N2 = regN "anne" ;
|
||||||
|
pen_N = regN "kalem" ;
|
||||||
run_V = regV "koşmek" ;
|
run_V = regV "koşmek" ;
|
||||||
stop_V = regV "durmak" ;
|
stop_V = regV "durmak" ;
|
||||||
|
table_N = regN "masa" ;
|
||||||
|
television_N = regN "televizyon" ;
|
||||||
|
tree_N = regN "ağaç" ;
|
||||||
|
woman_N = regN "kadın" ;
|
||||||
|
wood_N = regN "kereste" ;
|
||||||
|
song_N = regN "şarkı" ;
|
||||||
|
back_N = regN "sırt" ;
|
||||||
|
belly_N = regN "göbek" ;
|
||||||
|
day_N = regN "gün" ;
|
||||||
|
ear_N = regN "kulak" ;
|
||||||
|
egg_N = regN "yumurta" ;
|
||||||
|
eye_N = regN "göz" ;
|
||||||
|
fire_N = regN "ateş" ;
|
||||||
|
flower_N = regN "çiçek" ;
|
||||||
|
grass_N = regN "çimen" ;
|
||||||
|
hand_N = regN "kol" ;
|
||||||
|
head_N = regN "baş" ;
|
||||||
|
heart_N = regN "kalp" ;
|
||||||
|
husband_N = regN "eş" ;
|
||||||
|
ice_N = regN "buz" ;
|
||||||
|
leg_N = regN "bacak" ;
|
||||||
|
mouth_N = regN "agız" ;
|
||||||
|
name_N = regN "ad" ;
|
||||||
|
night_N = regN "gece" ;
|
||||||
|
nose_N = regN "burun" ;
|
||||||
|
salt_N = regN "tuz" ;
|
||||||
|
sand_N = regN "kum" ;
|
||||||
|
snow_N = regN "kar" ;
|
||||||
|
tail_N = regN "kuyruk" ;
|
||||||
|
tooth_N = regN "diş" ;
|
||||||
|
wife_N = regN "eş" ;
|
||||||
|
year_N = regN "sene" ;
|
||||||
|
reason_N = regN "mazaret" ;
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -54,8 +54,11 @@ oper
|
|||||||
Dat => harmony2 (add_number n base) "e" ;
|
Dat => harmony2 (add_number n base) "e" ;
|
||||||
Gen => harmony4 (add_number n base) "in" ;
|
Gen => harmony4 (add_number n base) "in" ;
|
||||||
Loc => harmony2 (add_number n base) "de" ;
|
Loc => harmony2 (add_number n base) "de" ;
|
||||||
Ablat => add_number n base ;
|
Ablat => harmony2 (add_number n base) "den" ;
|
||||||
Abess => add_number n base
|
Abess p => case p of {
|
||||||
|
Pos => harmony4 (add_number n base) "li" ;
|
||||||
|
Neg => harmony4 (add_number n base) "siz"
|
||||||
|
}
|
||||||
} ;
|
} ;
|
||||||
gen = \\n => table {
|
gen = \\n => table {
|
||||||
{n=Sg; p=P1} => harmony4 (add_number n base) "im" ;
|
{n=Sg; p=P1} => harmony4 (add_number n base) "im" ;
|
||||||
|
|||||||
@@ -4,8 +4,11 @@ resource ResTur = ParamX ** open Prelude, Predef in {
|
|||||||
|
|
||||||
--2 For $Noun$
|
--2 For $Noun$
|
||||||
|
|
||||||
|
flags
|
||||||
|
coding=utf8 ;
|
||||||
|
|
||||||
param
|
param
|
||||||
Case = Nom | Acc | Dat | Gen | Loc | Ablat | Abess ;
|
Case = Nom | Acc | Dat | Gen | Loc | Ablat | Abess Polarity ;
|
||||||
|
|
||||||
Species = Indef | Def ;
|
Species = Indef | Def ;
|
||||||
|
|
||||||
@@ -60,48 +63,66 @@ resource ResTur = ParamX ** open Prelude, Predef in {
|
|||||||
|
|
||||||
oper
|
oper
|
||||||
harmony4 : Str -> Str -> Str
|
harmony4 : Str -> Str -> Str
|
||||||
= \base,suffix0 ->
|
= \base0,suffix0 ->
|
||||||
let c : Str =
|
let buffer : Str =
|
||||||
case base of {
|
case dp 1 base0 + take 1 suffix0 of {
|
||||||
_+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
|
("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö") => "y" ;
|
||||||
("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* => c ;
|
_ => ""
|
||||||
_ => error "harmony4"
|
|
||||||
} ;
|
} ;
|
||||||
h : Str =
|
h : Str =
|
||||||
|
case base0 of {
|
||||||
|
_+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
|
||||||
|
("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* =>
|
||||||
case c of {
|
case c of {
|
||||||
("ı"|"a") => "ı" ;
|
("ı"|"a") => "ı" ;
|
||||||
("i"|"e") => "i" ;
|
("i"|"e") => "i" ;
|
||||||
("u"|"o") => "u" ;
|
("u"|"o") => "u" ;
|
||||||
("ü"|"ö") => "ü"
|
("ü"|"ö") => "ü"
|
||||||
} ;
|
} ;
|
||||||
|
_ => error ("harmony4")
|
||||||
|
} ;
|
||||||
|
base : Str =
|
||||||
|
case dp 1 base0 + take 1 suffix0 of {
|
||||||
|
("k")+("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö") => tk 1 base0 + "ğ" ;
|
||||||
|
_ => base0
|
||||||
|
} ;
|
||||||
suffix : Str =
|
suffix : Str =
|
||||||
case suffix0 of {
|
case suffix0 of {
|
||||||
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
|
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
|
||||||
+ ("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")
|
+ ("ı"|"i"|"u"|"ü")
|
||||||
+s2 => s1+h+s2 ;
|
+s2 => s1+h+s2 ;
|
||||||
s => s
|
s => s
|
||||||
}
|
}
|
||||||
in base + suffix ;
|
in base + buffer + suffix ;
|
||||||
|
|
||||||
harmony2 : Str -> Str -> Str
|
harmony2 : Str -> Str -> Str
|
||||||
= \base,suffix0 ->
|
= \base,suffix0 ->
|
||||||
let c : Str =
|
let buffer : Str =
|
||||||
case base of {
|
case dp 1 base + take 1 suffix0 of {
|
||||||
_+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
|
("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö") => "n" ;
|
||||||
("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* => c ;
|
_ => ""
|
||||||
_ => error "harmony2"
|
|
||||||
} ;
|
} ;
|
||||||
h : Str =
|
h : Str =
|
||||||
|
case base of {
|
||||||
|
_+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
|
||||||
|
("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* =>
|
||||||
case c of {
|
case c of {
|
||||||
("a"|"ı"|"u"|"o") => "a" ;
|
("a"|"ı"|"u"|"o") => "a" ;
|
||||||
("e"|"i"|"ü"|"ö") => "e"
|
("e"|"i"|"ü"|"ö") => "e"
|
||||||
} ;
|
} ;
|
||||||
suffix : Str =
|
_ => error "harmony2"
|
||||||
|
} ;
|
||||||
|
suffix1 : Str =
|
||||||
case suffix0 of {
|
case suffix0 of {
|
||||||
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
|
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
|
||||||
+ ("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")
|
+ ("a"|"e")
|
||||||
+s2 => s1+h+s2 ;
|
+s2 => s1+h+s2 ;
|
||||||
s => s
|
s => s
|
||||||
}
|
} ;
|
||||||
in base + suffix ;
|
suffix : Str =
|
||||||
|
case dp 1 base + take 1 suffix1 of {
|
||||||
|
("ç"|"p"|"ş"|"k"|"f")+("d") => "t"+drop 1 suffix1 ;
|
||||||
|
_ => suffix1
|
||||||
|
} ;
|
||||||
|
in base + buffer + suffix ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user