added to ExtraEng constructs needed in queries

This commit is contained in:
aarne
2010-06-19 16:24:21 +00:00
parent d9c34ce848
commit 8a5651168a
2 changed files with 36 additions and 1 deletions

View File

@@ -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 ;
}

View File

@@ -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 ;
}