Files
gf-rgl/src/turkish/VerbTur.gf
2020-04-14 11:09:44 +02:00

74 lines
2.2 KiB
Plaintext

concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur in {
lin
UseV v = v ;
SlashV2a v = v ;
Slash2V3 v = variants {} ;
Slash3V3 v = variants {} ;
SlashV2A v = variants {} ;
SlashV2V v = variants {} ;
SlashV2S v = variants {} ;
SlashV2Q v = variants {} ;
SlashVV v = variants {} ;
SlashV2VNP = variants {} ;
ComplSlash vps np = {
s = \\ vf => vps.c.s ++ np.s ! vps.c.c ++ vps.s ! vf ;
} ;
-- TODO: test this and fix.
ComplVS vs s = {
s = \\vf => s.subord ++ vs.s ! vf
} ;
ComplVA _ _ = variants {} ;
ComplVV _ _ = variants {} ;
ComplVQ _ _ = variants {} ;
UseComp comp = comp ;
CompCN _ = variants {} ;
CompNP ap = lin VP {
s = table {
VPres agr => ap.s ! Nom ++
case agr of {
{n=Sg; p=P3} => [] ;
_ => suffixStr ap.h (verbSuffixes ! agr)
} ;
VProg agr => ap.s ! Nom ;
VPast agr => ap.s ! Nom ++
suffixStr ap.h (alethicCopulaSuffixes ! agr);
VFuture agr => ap.s ! Nom ++
addSuffix "olacağ" (mkHar I_Har (SCon Hard)) (verbSuffixes ! agr) ;
VInfinitive => ap.s ! Nom ++ "olmak" ;
_ => "TODO"
}
} ;
CompAP ap = lin VP {
s = table {
VPres agr => case agr.p of {
P3 => ap.s ! Sg ! Nom ;
_ => ap.s ! agr.n ! Nom ++ suffixStr ap.h (verbSuffixes ! agr)
} ;
VProg agr => ap.s ! agr.n ! Nom ;
VPast agr => ap.s ! agr.n ! Nom ++
suffixStr ap.h (alethicCopulaSuffixes ! agr);
VFuture agr => ap.s ! agr.n ! Nom ++
addSuffix "olacağ" (mkHar I_Har (SCon Hard)) (verbSuffixes ! agr) ;
VInfinitive => ap.s ! Sg ! Nom ++ "olmak" ;
_ => "TODO"
}
} ;
CompAdv _ = variants {} ;
ReflVP = variants {} ;
AdvVP = variants {} ;
AdVVP = variants {} ;
PassV2 = variants {} ;
}