1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/ukrainian/QuestionUkr.gf
2026-06-10 10:48:57 +02:00

55 lines
1.4 KiB
Plaintext

concrete QuestionUkr of Question = CatUkr ** open ResUkr, (R = ParamX) in {
lincat QVP = {s : R.Tense => R.Polarity => Gender => Number => Person => Str} ;
lin
QuestCl cl = cl ;
QuestVP ip vp = {
s = \\t,pol => ip.s ! Nom ++ vp.s ! t ! pol ! ip.g ! ip.n ! ip.p
} ;
QuestSlash ip cls = {
s = \\t,pol => ip.s ! cls.c.c ++ cls.s ! t ! pol
} ;
QuestIAdv iadv cl = {
s = \\t,pol => iadv.s ++ cl.s ! t ! pol
} ;
QuestIComp icomp np = {
s = \\t,pol => icomp.s ++ np.s ! Nom
} ;
IdetCN idet cn = {
s = \\c => idet.s ! c ! cn.g ++ cn.s ! c ! idet.n ;
g = cn.g ;
n = idet.n ;
p = P3
} ;
IdetIP idet = {
s = \\c => idet.s ! c ! Masc ;
g = Masc ;
n = idet.n ;
p = P3
} ;
AdvIP ip adv = ip ** {s = \\c => ip.s ! c ++ adv.s} ;
IdetQuant iquant num = {
s = \\c,g => iquant.s ! c ! g ! num.n ++ num.s ;
n = num.n
} ;
PrepIP prep ip = {s = prepNP prep ip} ;
AdvIAdv iadv adv = {s = iadv.s ++ adv.s} ;
CompIAdv iadv = iadv ;
CompIP ip = {s = ip.s ! Nom} ;
ComplSlashIP slash ip = {
s = \\t,pol,g,n,p => slash.s ! t ! pol ! g ! n ! p ++ ip.s ! slash.c.c ++ slash.post
} ;
AdvQVP vp iadv = {
s = \\t,pol,g,n,p => vp.s ! t ! pol ! g ! n ! p ++ iadv.s
} ;
AddAdvQVP qvp iadv = {
s = \\t,pol,g,n,p => qvp.s ! t ! pol ! g ! n ! p ++ iadv.s
} ;
QuestQVP ip qvp = {
s = \\t,pol => ip.s ! Nom ++ qvp.s ! t ! pol ! ip.g ! ip.n ! ip.p
} ;
}