mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-14 07:19:31 -06:00
66 lines
1.6 KiB
Plaintext
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 } ;
|
|
|
|
|
|
}
|