forked from GitHub/gf-core
56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
--concrete QuestionLat of Question = CatLat ** open ResLat, Prelude in {
|
|
--
|
|
-- flags optimize=all_subs ;
|
|
--
|
|
-- lin
|
|
--
|
|
-- QuestCl cl = {
|
|
-- s = \\t,a,p =>
|
|
-- let cls = cl.s ! t ! a ! p
|
|
-- in table {
|
|
-- QDir => cls ! OQuest ;
|
|
-- QIndir => "if" ++ cls ! ODir
|
|
-- } ---- "whether" in ExtLat
|
|
-- } ;
|
|
--
|
|
-- QuestVP qp vp =
|
|
-- let cl = mkClause (qp.s ! Nom) (agrP3 qp.n) vp
|
|
-- in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ;
|
|
--
|
|
-- QuestSlash ip slash =
|
|
-- mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
|
|
-- --- stranding in ExratLat
|
|
--
|
|
-- QuestIAdv iadv cl = mkQuestion iadv cl ;
|
|
--
|
|
-- QuestIComp icomp np =
|
|
-- mkQuestion icomp (mkClause (np.s ! Nom) np.a (predAux auxBe)) ;
|
|
--
|
|
--
|
|
-- PrepIP p ip = {s = p.s ++ ip.s ! Acc} ;
|
|
--
|
|
-- AdvIP ip adv = {
|
|
-- s = \\c => ip.s ! c ++ adv.s ;
|
|
-- n = ip.n
|
|
-- } ;
|
|
--
|
|
-- IdetCN idet cn = {
|
|
-- s = \\c => idet.s ++ cn.s ! idet.n ! c ;
|
|
-- n = idet.n
|
|
-- } ;
|
|
--
|
|
-- IdetIP idet = {
|
|
-- s = \\c => idet.s ;
|
|
-- n = idet.n
|
|
-- } ;
|
|
--
|
|
-- IdetQuant idet num = {
|
|
-- s = idet.s ! num.n ++ num.s ;
|
|
-- n = num.n
|
|
-- } ;
|
|
--
|
|
-- CompIAdv a = a ;
|
|
-- CompIP p = ss (p.s ! Nom) ;
|
|
--
|
|
--}
|