From 8a5651168af2621137b6b4731522271399376239 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 19 Jun 2010 16:24:21 +0000 Subject: [PATCH] added to ExtraEng constructs needed in queries --- lib/src/abstract/Extra.gf | 17 ++++++++++++++++- lib/src/english/ExtraEng.gf | 20 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/src/abstract/Extra.gf b/lib/src/abstract/Extra.gf index 4bbcc6702..36abbae49 100644 --- a/lib/src/abstract/Extra.gf +++ b/lib/src/abstract/Extra.gf @@ -69,5 +69,20 @@ abstract Extra = Cat ** { ConjCN : Conj -> [CN] -> CN ; -- (every) man and woman PartVP : VP -> AP ; -- looking at Mary - + + cat + QVP ; -- buy what where + [IAdv] {2} ; -- when and where + fun + ComplSlashIP : VPSlash -> IP -> QVP ; -- buys what + AdvQVP : VP -> IAdv -> QVP ; -- lives where + AddAdvQVP : QVP -> IAdv -> QVP ; -- buys what where + + QuestQVP : IP -> QVP -> QCl ; -- who buys what where + + ConjIAdv : Conj -> [IAdv] -> IAdv ; -- when, where and with whom + + AdvAP : AP -> Adv -> AP ; -- hungry as a wolf + + UseCopula : VP ; } diff --git a/lib/src/english/ExtraEng.gf b/lib/src/english/ExtraEng.gf index c29149a2e..62949e8f6 100644 --- a/lib/src/english/ExtraEng.gf +++ b/lib/src/english/ExtraEng.gf @@ -109,4 +109,24 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** s = \\a => vp.ad ++ vp.prp ++ vp.s2 ! a ; isPre = False ---- depends on whether there are complements } ; + + lincat + QVP = ResEng.VP ; + [IAdv] = {s1,s2 : Str} ; + lin + ComplSlashIP vp np = insertObjPre (\\_ => vp.c2 ++ np.s ! Acc) vp ; + AdvQVP vp adv = insertObj (\\_ => adv.s) vp ; + AddAdvQVP vp adv = insertObj (\\_ => adv.s) vp ; + + QuestQVP qp vp = + let cl = mkClause (qp.s ! Nom) (agrP3 qp.n) vp + in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ; + + BaseIAdv = twoSS ; + ConsIAdv = consrSS comma ; + ConjIAdv = conjunctDistrSS ; + + AdvAP ap adv = {s = \\a => ap.s ! a ++ adv.s ; isPre = False} ; + + UseCopula = predAux auxBe ; }