From d6f4bb047f7e05cce42e467b654d49dbbd027bf9 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 19 Jun 2006 20:47:15 +0000 Subject: [PATCH] restricted VP conjunction in English and Scand --- lib/resource-1.0/abstract/Extra.gf | 13 +++++++++++++ lib/resource-1.0/english/ExtraEng.gf | 21 ++++++++++++++++++++- lib/resource-1.0/scandinavian/ExtraScand.gf | 21 +++++++++++++++++++-- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/lib/resource-1.0/abstract/Extra.gf b/lib/resource-1.0/abstract/Extra.gf index 52075b5d1..08a39ea78 100644 --- a/lib/resource-1.0/abstract/Extra.gf +++ b/lib/resource-1.0/abstract/Extra.gf @@ -14,4 +14,17 @@ abstract Extra = Cat ** { EmptyRelSlash : RP -> Slash -> RCl ; -- he lives in StrandQuestSlash : IP -> Slash -> QCl ; -- whom does John live with +-- $VP$ conjunction, which has different fragments implemented in +-- different languages - never a full $VP$, though. + + cat + VPI ; + [VPI] {2} ; + + fun + MkVPI : VP -> VPI ; + ConjVPI : Conj -> [VPI] -> VPI ; + ComplVPIVV : VV -> VPI -> VP ; + + } diff --git a/lib/resource-1.0/english/ExtraEng.gf b/lib/resource-1.0/english/ExtraEng.gf index b02482c8e..7a4dd7968 100644 --- a/lib/resource-1.0/english/ExtraEng.gf +++ b/lib/resource-1.0/english/ExtraEng.gf @@ -1,4 +1,5 @@ -concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng, Prelude in { +concrete ExtraEng of ExtraEngAbs = CatEng ** + open ResEng, Coordination, Prelude in { lin GenNP np = {s = \\_ => np.s ! Gen} ; @@ -18,6 +19,24 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** open ResEng, Prelude in { (mkQuestion (ss (ip.s ! Acc)) slash).s ! t ! a ! b ! q ++ slash.c2 }; + lincat + VPI = {s : VPIForm => Agr => Str} ; + [VPI] = {s1,s2 : VPIForm => Agr => Str} ; + + param + VPIForm = VPIInf | VPIPPart ; + + lin + BaseVPI = twoTable2 VPIForm Agr ; + ConsVPI = consrTable2 VPIForm Agr comma ; + + MkVPI vp = { + s = \\v,a => vp.ad ++ vp.inf ++ vp.s2 ! a + } ; + ConjVPI = conjunctTable2 VPIForm Agr ; + ComplVPIVV vv vpi = + insertObj (\\a => (if_then_Str vv.isAux [] "to") ++ vpi.s ! VPIInf ! a) (predVV vv) ; + UncNegCl t a cl = {s = t.s ++ a.s ++ cl.s ! t.t ! a.a ! neg ! ODir} ; UncNegQCl t a cl = {s = \\q => t.s ++ a.s ++ cl.s ! t.t ! a.a ! neg !q} ; UncNegRCl t a cl = { diff --git a/lib/resource-1.0/scandinavian/ExtraScand.gf b/lib/resource-1.0/scandinavian/ExtraScand.gf index f4eefee25..56a6f3cfc 100644 --- a/lib/resource-1.0/scandinavian/ExtraScand.gf +++ b/lib/resource-1.0/scandinavian/ExtraScand.gf @@ -1,5 +1,5 @@ -incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,ResScand in { - +incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** + open CommonScand,Coordination,ResScand in { lin GenNP np = { s = \\n,_,g => np.s ! NPPoss (gennum g n) ; @@ -30,4 +30,21 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand ** open CommonScand,R } } ; + lincat + VPI = {s : VPIForm => Agr => Str} ; + [VPI] = {s1,s2 : VPIForm => Agr => Str} ; + + param + VPIForm = VPIInf | VPISup ; ---- sup not yet used + + lin + BaseVPI = twoTable2 VPIForm Agr ; + ConsVPI = consrTable2 VPIForm Agr comma ; + + MkVPI vp = { + s = \\v,a => infVP vp a ---- no sup + } ; + ConjVPI = conjunctTable2 VPIForm Agr ; + ComplVPIVV vv vpi = insertObj (\\a => vv.c2 ++ vpi.s ! VPIInf ! a) (predV vv) ; + }