forked from GitHub/gf-core
fixed the problem found by Hans Leiss with Ger passives leaving out arguments and producing metavariables in parsing
This commit is contained in:
@@ -78,6 +78,11 @@ abstract Extra = Cat ** {
|
||||
|
||||
PassAgentVPSlash : VPSlash -> NP -> VP ; -- be begged by her to go
|
||||
|
||||
-- In many languages, the passives use past participles.
|
||||
|
||||
PastPartAP : VPSlash -> AP ; -- lost (opportunity) ; (opportunity) lost in space
|
||||
PastPartAgentAP : VPSlash -> NP -> AP ; -- (opportunity) lost by the company
|
||||
|
||||
-- publishing of the document
|
||||
|
||||
NominalizeVPSlashNP : VPSlash -> NP -> NP ;
|
||||
|
||||
@@ -57,10 +57,26 @@ concrete ExtraGer of ExtraGerAbs = CatGer **
|
||||
c = (prepC slash.c2.c).c
|
||||
} ;
|
||||
|
||||
PassVPSlash vps =
|
||||
insertInf (vps.s.s ! VPastPart APred) (predV werdenPass) ;
|
||||
PassAgentVPSlash vps np = ---- "von" here, "durch" in StructuralGer
|
||||
insertAdv (appPrep P.von_Prep np.s) (insertInf (vps.s.s ! VPastPart APred) (predV werdenPass)) ;
|
||||
PassVPSlash vp = insertObj (\\_ => (PastPartAP (lin VPSlash vp)).s ! APred) (predV werdenPass) ;
|
||||
|
||||
PassAgentVPSlash vp np = ---- "von" here, "durch" in StructuralGer
|
||||
insertObj (\\_ => (PastPartAgentAP (lin VPSlash vp) (lin NP np)).s ! APred) (predV werdenPass) ;
|
||||
|
||||
PastPartAP vp = {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ vp.inf ++
|
||||
vp.c2.s ++ --- junk if not TV
|
||||
vp.ext ++ vp.infExt ++ vp.s.s ! VPastPart af ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
PastPartAgentAP vp np =
|
||||
let agent = appPrep P.von_Prep np.s
|
||||
in {
|
||||
s = \\af => (vp.nn ! agrP3 Sg).p1 ++ (vp.nn ! agrP3 Sg).p2 ++ vp.a2 ++ agent ++ vp.inf ++
|
||||
vp.c2.s ++ --- junk if not TV
|
||||
vp.ext ++ vp.infExt ++ vp.s.s ! VPastPart af ;
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
lincat
|
||||
VPS = {s : Order => Agr => Str} ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
abstract ExtraGerAbs = Extra [
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,ClSlash,RCl,
|
||||
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,EmptyRelSlash,
|
||||
VPSlash, PassVPSlash, PassAgentVPSlash, CompIQuant,
|
||||
VPSlash, PassVPSlash, PassAgentVPSlash, CompIQuant, PastPartAP, PastPartAgentAP,
|
||||
Temp,Tense,Pol,S,NP,VV,VP,Conj,IAdv,IQuant,IComp,ICompAP,IAdvAdv,Adv,AP] ** {
|
||||
flags coding=utf8;
|
||||
fun
|
||||
|
||||
Reference in New Issue
Block a user