From b43fa3ce9e6a7fc0a2a6fae30c1e8773808e4238 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 22 Jul 2011 07:49:53 +0000 Subject: [PATCH] past participle in proper place in English VP --- lib/src/english/ExtraEng.gf | 7 ++++--- lib/src/english/ResEng.gf | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/src/english/ExtraEng.gf b/lib/src/english/ExtraEng.gf index d801266b7..51fa04d4a 100644 --- a/lib/src/english/ExtraEng.gf +++ b/lib/src/english/ExtraEng.gf @@ -120,11 +120,12 @@ lin PassVPSlash vps = let be = predAux auxBe ; - ppt = (vps.s ! Pres ! Anter ! CPos ! ODir ! agrP3 Pl).inf + ppt = vps.ptp in { s = be.s ; - prp = be.prp ++ ppt ; - inf = be.inf ++ ppt ; + prp = be.prp ; + ptp = be.ptp ; + inf = be.inf ; ad = vps.ad ; s2 = \\a => ppt ++ vps.s2 ! a ---- order } ; diff --git a/lib/src/english/ResEng.gf b/lib/src/english/ResEng.gf index 7a1bec81e..aa55a8feb 100644 --- a/lib/src/english/ResEng.gf +++ b/lib/src/english/ResEng.gf @@ -224,6 +224,7 @@ resource ResEng = ParamX ** open Prelude in { VP : Type = { s : VerbForms ; prp : Str ; -- present participle + ptp : Str ; -- past participle inf : Str ; -- the infinitive form ; VerbForms would be the logical place ad : Str ; -- sentence adverb s2 : Agr => Str -- complement @@ -263,6 +264,7 @@ resource ResEng = ParamX ** open Prelude in { => vfn c (does agr) (doesnt agr) inf } ; prp = verb.s ! VPresPart ; + ptp = verb.s ! VPPart ; inf = verb.s ! VInf ; ad = [] ; s2 = \\a => if_then_Str verb.isRefl (reflPron ! a) [] @@ -299,6 +301,7 @@ resource ResEng = ParamX ** open Prelude in { => vfn c finp fin [] } ; prp = verb.prpart ; + ptp = verb.ppart ; inf = verb.inf ; ad = [] ; s2 = \\_ => [] @@ -319,6 +322,7 @@ resource ResEng = ParamX ** open Prelude in { insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> { s = vp.s ; prp = vp.prp ; + ptp = vp.ptp ; inf = vp.inf ; ad = vp.ad ; s2 = \\a => vp.s2 ! a ++ obj ! a @@ -327,6 +331,7 @@ resource ResEng = ParamX ** open Prelude in { insertObjPre : (Agr => Str) -> VP -> VP = \obj,vp -> { s = vp.s ; prp = vp.prp ; + ptp = vp.ptp ; inf = vp.inf ; ad = vp.ad ; s2 = \\a => obj ! a ++ vp.s2 ! a @@ -340,6 +345,7 @@ resource ResEng = ParamX ** open Prelude in { insertAdV : Str -> VP -> VP = \ad,vp -> { s = vp.s ; prp = vp.prp ; + ptp = vp.ptp ; inf = vp.inf ; ad = vp.ad ++ ad ; s2 = \\a => vp.s2 ! a