Files
gf-rgl/src/turkish/AdjectiveTur.gf
2020-03-29 21:39:17 +02:00

67 lines
1.5 KiB
Plaintext

concrete AdjectiveTur of Adjective =
CatTur ** open ResTur, HarmonyTur, ParadigmsTur, Prelude in {
lin
PositA a = {s = a.s; h = a.h} ;
ComparA a np = {
s = \\n,c => np.s ! Ablat ++ a.s ! n ! c ;
h = a.h
} ;
UseComparA a = {
s = \\n,c => "daha" ++ a.s ! n ! c ;
h = a.h
} ;
AdjOrd v = v ** {h = {vow=I_Har; con=SCon Soft}} ; -- to be fixed
AdvAP ap adv = {
s = \\n, c => adv.s ++ ap.s ! n ! c ;
h = ap.h
} ;
AdAP ada ap = {
s = \\n, c => ada.s ++ ap.s ! n ! c ;
h = ap.h
} ;
UseA2 a = {
s = a.s ;
h = a.h
} ;
ComplA2 a np = {
s = \\n, c => np.s ! a.c.c ++ a.c.s ++ a.s ! n ! c ;
h = a.h
} ;
-- TODO: Whether this is correct or not requires further examination.
ReflA2 a = {
s =
let
kendi : N = mkN "kendi"
in
\\n, c => kendi.s ! n ! c ++ a.c.s ++ a.s ! n ! Nom ;
h = a.h
} ;
-- Some examples of using CAdvAP:
-- Lang> gt -number=2 -depth=1 (CAdvAP ? ? ?) | l -lang=LangTur
-- > Paris kadar kötü
-- > o kadar kötü
CAdvAP cadv ap np = {
s = \\n, c => np.s ! Nom ++ cadv.s ++ ap.s ! n ! c ;
h = ap.h
} ;
-- TODO: Instead of `++ BIND ++ "si"`, sc.s should be treated as a noun
-- and it should be inflected to `gen Sg {n = Sg; p = P3}`.
SentAP ap sc = {
s = \\n, c => sc.s ++ (ap.s ! n ! c) ;
h = ap.h
} ;
}