diff --git a/lib/src/abstract/Idiom.gf b/lib/src/abstract/Idiom.gf index 085484ec7..4957824a6 100644 --- a/lib/src/abstract/Idiom.gf +++ b/lib/src/abstract/Idiom.gf @@ -15,6 +15,11 @@ abstract Idiom = Cat ** { ExistNP : NP -> Cl ; -- there is a house ExistIP : IP -> QCl ; -- which houses are there +-- 7/12/2012 generalizations of these + + ExistNPAdv : NP -> Adv -> Cl ; -- there is a house in Paris + ExistIPAdv : IP -> Adv -> QCl ; -- which houses are there in Paris + ProgrVP : VP -> VP ; -- be sleeping ImpPl1 : VP -> Utt ; -- let's go diff --git a/lib/src/english/IdiomEng.gf b/lib/src/english/IdiomEng.gf index 6284ccd41..017ed37f1 100644 --- a/lib/src/english/IdiomEng.gf +++ b/lib/src/english/IdiomEng.gf @@ -22,6 +22,14 @@ concrete IdiomEng of Idiom = CatEng ** open Prelude, ResEng in { mkQuestion (ss (ip.s ! npNom)) (mkClause "there" (agrP3 ip.n) (predAux auxBe)) ; + ExistNPAdv np adv = + mkClause "there" (agrP3 (fromAgr np.a).n) + (insertObj (\\_ => np.s ! NPAcc ++ adv.s) (predAux auxBe)) ; + + ExistIPAdv ip adv = + mkQuestion (ss (ip.s ! npNom)) + (mkClause "there" (agrP3 ip.n) (insertObj (\\_ => adv.s) (predAux auxBe))) ; + ProgrVP vp = insertObj (\\a => vp.ad ++ vp.prp ++ vp.s2 ! a) (predAux auxBe) ; ImpPl1 vp = {s = "let's" ++ infVP VVAux vp Simul CPos (AgP1 Pl)} ; diff --git a/lib/src/finnish/ParseFin.gf b/lib/src/finnish/ParseFin.gf index 61781d50b..cdc56a35c 100644 --- a/lib/src/finnish/ParseFin.gf +++ b/lib/src/finnish/ParseFin.gf @@ -1,4 +1,5 @@ ---# -path=alltenses:.:../english +--# -path=.:../english:../abstract:../common:../api +-- # -path=alltenses:.:../english concrete ParseFin of ParseEngAbs = TenseX, ---- - [Pol, PNeg, PPos], CatFin,