gf-3.4: lib/src/latvian/RelativeLav.gf
--# -path=.:../abstract:../common:../prelude
concrete RelativeLav of Relative = CatLav ** open
ResLav,
VerbLav,
Prelude
in {
flags
optimize = all_subs ;
coding = utf8 ;
lin
RelCl cl = { s = \\m,p,_ => "ka" ++ cl.s ! m ! p } ;
RelVP rp vp = {
s = \\m,p,ag =>
rp.s ! Masc ! Nom ++
buildVerb vp.v m p (toAgr (fromAgr ag).n P3 (fromAgr ag).g) False vp.objNeg ++
vp.compl ! ag
} ;
-- FIXME: vārdu secība - nevis 'kas mīl viņu' bet 'kas viņu mīl' (?)
-- FIXME: Masc varētu nebūt labi
RelSlash rp slash = {
s = \\m,p,ag => slash.p.s ++ rp.s ! Masc ! (slash.p.c ! Sg) ++ slash.s ! m ! p
} ;
-- FIXME: placeholder
-- TODO: jātestē, kautkas nav labi ar testpiemēru
FunRP p np rp = {
s = \\g,c => p.s ++ rp.s ! g ! c ++ np.s ! (p.c ! (fromAgr np.a).n)
} ;
IdRP = {
s = \\_ => table {
Nom => "kas" ;
Gen => "kā" ;
Dat => "kam" ;
Acc => "ko" ;
Loc => "kur" ;
ResLav.Voc => NON_EXISTENT
}
} ;
}