Files
gf-core/lib/src/interlingua/QuestionIna.gf
2009-06-22 15:39:08 +00:00

55 lines
1.2 KiB
Plaintext

concrete QuestionIna of Question = CatIna ** open ResIna, Prelude in {
flags optimize=all_subs ;
lin
QuestCl cl = {
s = \\use_irreg,t,a,p =>
let cls = cl.s ! use_irreg ! t ! a ! p
in table {
OQuest => cls ! OQuest ;
ODir => "an" ++ cls ! ODir
}
} ;
QuestVP qp vp =
let cl = mkClause (qp.s ! Nom) Sp3 vp
in {s = \\use_irreg,t,a,b,_ => cl.s ! use_irreg ! t ! a ! b ! ODir} ;
QuestSlash ip slash =
mkQuestion (ss (slash.p2 ++ ip.s ! slash.c2)) slash ;
QuestIAdv iadv cl = mkQuestion iadv cl ;
QuestIComp icomp np =
mkQuestion icomp (mkClause (np.s ! Nom) np.a (predV_ esserV)) ;
PrepIP p ip = {s = p.s ++ ip.s ! Nom} ;
AdvIP ip adv = {
s = \\c => ip.s ! c ++ adv.s ;
n = ip.n
} ;
IdetCN idet cn = {
s = \\c => casePrep [] c ++ idet.s ++ cn.s ! idet.n;
n = idet.n
} ;
IdetIP idet = {
s = \\c => casePrep [] c ++ idet.s ;
n = idet.n
} ;
IdetQuant iquant num = {
s = iquant.s ! num.n ++ num.s ;
n = num.n
} ;
CompIAdv a = a ;
CompIP ip = ss (ip.s ! Nom) ;
}