1
0
forked from GitHub/gf-core

restricted VP conjunction in English and Scand

This commit is contained in:
aarne
2006-06-19 20:47:15 +00:00
parent daa990820b
commit d6f4bb047f
3 changed files with 52 additions and 3 deletions

View File

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

View File

@@ -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 = {

View File

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