concrete QuestionTel of Question = CatTel ** open ResTel, Prelude in { -- -- flags optimize=all_subs ; -- lin QuestCl cl = cl ; QuestVP ip vp = mkClause {s = \\_ => ip.s ! Dir ; a = agrP3 Neutr ip.n} vp ; QuestIAdv iadv cl = cl ** {s = \\t,p => iadv.s ++ cl.s ! t ! p} ; QuestIComp icomp np = mkClause np (predV (regVerb []) ** {comp = \\_ => icomp.s}) ; PrepIP p ip = {s = ip.s ! Obl ++ p.s} ; 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 = \\_ => idet.s ; n = idet.n} ; IdetQuant iq num = {s = iq.s ! num.n ++ num.s ; n = num.n} ; CompIAdv adv = {s = adv.s} ; CompIP ip = {s = ip.s ! Dir} ; -- -- QuestCl cl = { -- s = \\t,a,p => -- let cls = cl.s ! t ! a ! p -- in table { -- QDir => cls ! OQuest ; -- QIndir => "if" ++ cls ! ODir -- } ---- "whether" in ExtTel -- } ; -- -- 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 ExratTel -- -- 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) ; -- }