forked from GitHub/gf-core
restricted VP conjunction in English and Scand
This commit is contained in:
@@ -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 ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user