diff --git a/src/abstract/Extra.gf b/src/abstract/Extra.gf index f5c6bc868..11a1979e1 100644 --- a/src/abstract/Extra.gf +++ b/src/abstract/Extra.gf @@ -8,6 +8,8 @@ abstract Extra = Cat ** { fun GenNP : NP -> Quant ; -- this man's + GenIP : IP -> IQuant ; -- whose + GenRP : Num -> CN -> RP ; -- whose car ComplBareVS : VS -> S -> VP ; -- know you go StrandRelSlash : RP -> ClSlash -> RCl ; -- that he lives in diff --git a/src/english/ExtraEng.gf b/src/english/ExtraEng.gf index e33c160c2..09d181c3c 100644 --- a/src/english/ExtraEng.gf +++ b/src/english/ExtraEng.gf @@ -1,8 +1,18 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** - open ResEng, Coordination, Prelude, MorphoEng in { + open ResEng, Coordination, Prelude, MorphoEng, ParadigmsEng in { lin GenNP np = {s = \\_,_ => np.s ! npGen ; sp = \\_,_,_ => np.s ! npGen} ; + GenIP ip = {s = \\_ => ip.s ! NCase Gen} ; + GenRP nu cn = { + s = \\c => "whose" ++ nu.s ! Nom ++ + case c of { + RC _ (NCase Gen) => cn.s ! nu.n ! Gen ; + _ => cn.s ! nu.n ! Nom + } ; + a = RAg (agrP3 Sg) + } ; + ComplBareVS v s = insertObj (\\_ => s.s) (predV v) ; StrandRelSlash rp slash = { @@ -50,6 +60,7 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** } ; each_Det = mkDeterminer Sg "each" ; + any_Quant = mkQuant "any" "any" ; -- for VP conjunction diff --git a/src/english/ExtraEngAbs.gf b/src/english/ExtraEngAbs.gf index ed5931893..f2d6e9752 100644 --- a/src/english/ExtraEngAbs.gf +++ b/src/english/ExtraEngAbs.gf @@ -11,6 +11,7 @@ abstract ExtraEngAbs = Extra - [ProDrop] ** { that_RP : RP ; -- "that" as a relational pronoun (IdRP is "which" / "who") each_Det : Det ; + any_Quant : Quant ; -- infinitive without to