Files
gf-rgl/src/czech/QuestionCze.gf
T

35 lines
1.5 KiB
Plaintext

concrete QuestionCze of Question = CatCze ** open ResCze, Prelude in {
lin
QuestCl cl = cl ** {q = [] ; yesNo = True} ;
QuestIAdv adv cl = cl ** {q = adv.s ; yesNo = False} ;
QuestIComp comp np = {
q = comp.s ; subj = case np.isDrop of {True => np.clit ! Nom ; False => np.s ! Nom} ;
clit,compl = [] ; verb = copulaVerbForms ; a = np.a ; yesNo = False ;
isDrop = np.isDrop ; clitPresent = False ;
finite = (mkClause [] [] [] copulaVerbForms np.a np.isDrop False).finite ;
auxiliary = (mkClause [] [] [] copulaVerbForms np.a np.isDrop False).auxiliary
} ;
QuestVP ip vp = {
q = ip.s ! Nom ; subj = [] ; clit = vp.clit ! ip.a ;
compl = vp.compl ! ip.a ; verb = vp.verb ; a = ip.a ; yesNo = False ;
isDrop = True ; clitPresent = vp.clitPresent ;
finite = (mkClause [] [] [] vp.verb ip.a True vp.clitPresent).finite ;
auxiliary = (mkClause [] [] [] vp.verb ip.a True vp.clitPresent).auxiliary
} ;
QuestSlash ip cls = cls ** {
q = fullComplement cls.c ip.s ip.s ;
compl = cls.compl ++ cls.ind ; yesNo = False
} ;
CompIAdv adv = adv ;
CompIP ip = {s = ip.s ! Nom} ;
IdetCN det cn = {
s = \\c => det.s ! nounGender cn (numSizeNumber det.size) ! c ++ numSizeForm cn.s det.size c ;
a = numeralAgr (nounGender cn (numSizeNumber det.size)) det P3
} ;
IdetIP det = {s = \\c => det.s ! Neutr ! c ; a = numeralAgr Neutr det P3} ;
IdetQuant = quantifyNumeral ;
PrepIP p ip = {s = p.s ++ ip.s ! p.c} ;
AdvIP ip adv = ip ** {s = \\c => ip.s ! c ++ adv.s} ;
AdvIAdv a b = {s = a.s ++ b.s} ;
}