concrete QuestionHun of Question = CatHun ** open ResHun, 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 ExtHun -- } ; -- -- QuestVP qp vp = -- let cl = mkClause (qp.s ! npNom) (agrP3 qp.n) vp -- in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ; -- -- QuestSlash ip slash = -- mkQuestion (ss (slash.c2 ++ ip.s ! NPAcc)) slash ; -- --- stranding in ExratHun -- -- QuestIAdv iadv cl = mkQuestion iadv cl ; -- -- QuestIComp icomp np = -- mkQuestion icomp (mkClause (np.s ! npNom) np.a (predAux auxBe)) ; -- -- -- PrepIP p ip = {s = p.s ++ ip.s ! NPAcc} ; -- -- AdvIP ip adv = { -- s = \\c => ip.s ! c ++ adv.s ; -- n = ip.n -- } ; -- -- IdetCN idet cn = { -- s = \\c => idet.s ++ cn.s ! idet.n ! npcase2case c ; -- n = idet.n -- } ; -- -- IdetIP idet = { -- s = \\c => idet.s ; -- n = idet.n -- } ; -- -- IdetQuant idet num = { -- s = idet.s ! num.n ++ num.s ! Nom ; -- n = num.n -- } ; -- -- AdvIAdv i a = ss (i.s ++ a.s) ; -- -- CompIAdv a = a ; -- CompIP p = ss (p.s ! npNom) ; -- -- lincat -- QVP = ResHun.VP ; -- lin -- ComplSlashIP vp np = insertObjPre (\\_ => vp.c2 ++ np.s ! NPAcc) vp ; -- AdvQVP vp adv = insertObj (\\_ => adv.s) vp ; -- AddAdvQVP vp adv = insertObj (\\_ => adv.s) vp ; -- -- QuestQVP qp vp = -- let cl = mkClause (qp.s ! npNom) (agrP3 qp.n) vp -- in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ; -- -- --} }