Files
gf-core/lib/src/persian/QuestionPes.gf
virk.shafqat 052c75a71c PersianRG
2011-06-13 18:23:30 +00:00

66 lines
1.6 KiB
Plaintext

concrete QuestionPes of Question = CatPes ** open ResPes, Prelude in {
flags optimize=all_subs ;
coding = utf8;
lin
QuestCl cl = {
s = \\t,p,qf => case qf of {
QDir => cl.s ! t ! p ! OQuest;
QIndir => cl.s ! t! p ! ODir
}
};
QuestVP qp vp =
let cl = mkSClause ("") (AgPes qp.n PPers3) vp;
-- qp1 = qp.s;
-- qp2 = qp.s ! Obl ++ "nE"
in { s = \\t,p,o => qp.s ++ cl.s ! t ! p ! ODir } ;
-- _ => qp1 ++ cl.s ! t ! p ! ODir
-- }
QuestSlash ip slash = {
s = \\t,p,o => slash.c2.s ++ ip.s ++ slash.c2.ra ++ slash.s ! t ! p ! ODir; -- order of whome and john needs to be changed
};
QuestIAdv iadv cl = {
s = \\t,p,_ => iadv.s ++ cl.s ! t ! p ! ODir;
};
QuestIComp icomp np =
let cl = mkSClause (np.s ! NPC bEzafa ++ icomp.s) np.a (predAux auxBe);
in {
s = \\t,p,qf => case qf of {
QDir => cl.s ! t ! p ! ODir;
QIndir => cl.s ! t! p ! ODir
}
};
PrepIP p ip = {s = p.s ++ ip.s } ;
AdvIP ip adv = {
s = ip.s ++ adv.s ;
n = ip.n;
} ;
IdetCN idet cn = {
s = case idet.isNum of {False => idet.s ++ cn.s ! bEzafa ! idet.n ; True => idet.s ++ cn.s ! bEzafa ! Sg} ;
n = idet.n;
} ;
IdetIP idet = idet ;
IdetQuant iqant num = {
s = iqant.s ++ num.s ;
n = num.n ;
isNum = True
} ;
CompIAdv a = a ;
CompIP p = ss p.s ;
AdvIAdv i a = {s = a.s ++ i.s } ;
}