forked from GitHub/gf-rgl
(Romance) abstract tense/anteriority choice of verb/auxiliary to oper
in Diff - in preparation for changing the choices in DiffPor
This commit is contained in:
@@ -169,5 +169,20 @@ oper
|
||||
|
||||
contractInf : Bool -> Bool -> Bool = \_,_ -> False ; -- only True in Ita, by orB
|
||||
|
||||
}
|
||||
chooseTA : RTense -> Anteriority
|
||||
-> (VF => Str) -> (VF => Str)
|
||||
-> Number -> Person -> Mood -> Str -> Str * Str ;
|
||||
chooseTA t a verb vaux n p m part = case <t,a> of {
|
||||
<RPast,Simul> => <verb ! VFin (VImperf m) n p, []> ; --# notpresent
|
||||
<RPast,Anter> => <vaux ! VFin (VImperf m) n p, part> ; --# notpresent
|
||||
<RFut,Simul> => <verb ! VFin VFut n p, []> ; --# notpresent
|
||||
<RFut,Anter> => <vaux ! VFin VFut n p, part> ; --# notpresent
|
||||
<RCond,Simul> => <verb ! VFin VCondit n p, []> ; --# notpresent
|
||||
<RCond,Anter> => <vaux ! VFin VCondit n p, part> ; --# notpresent
|
||||
<RPasse,Simul> => <verb ! VFin VPasse n p, []> ; --# notpresent
|
||||
<RPasse,Anter> => <vaux ! VFin VPasse n p, part> ; --# notpresent
|
||||
<RPres,Anter> => <vaux ! VFin (VPres m) n p, part> ; --# notpresent
|
||||
<RPres,Simul> => <verb ! VFin (VPres m) n p, []>
|
||||
} ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -228,18 +228,7 @@ oper
|
||||
---- } ;
|
||||
|
||||
|
||||
vps : Str * Str = case <te,a> of {
|
||||
<RPast,Simul> => <verb ! VFin (VImperf m) num per, []> ; --# notpresent
|
||||
<RPast,Anter> => <vaux ! VFin (VImperf m) num per, part> ; --# notpresent
|
||||
<RFut,Simul> => <verb ! VFin (VFut) num per, []> ; --# notpresent
|
||||
<RFut,Anter> => <vaux ! VFin (VFut) num per, part> ; --# notpresent
|
||||
<RCond,Simul> => <verb ! VFin (VCondit) num per, []> ; --# notpresent
|
||||
<RCond,Anter> => <vaux ! VFin (VCondit) num per, part> ; --# notpresent
|
||||
<RPasse,Simul> => <verb ! VFin (VPasse) num per, []> ; --# notpresent
|
||||
<RPasse,Anter> => <vaux ! VFin (VPasse) num per, part> ; --# notpresent
|
||||
<RPres,Anter> => <vaux ! VFin (VPres m) num per, part> ; --# notpresent
|
||||
<RPres,Simul> => <verb ! VFin (VPres m) num per, []>
|
||||
} ;
|
||||
vps : Str * Str = chooseTA te a verb vaux num per m part ;
|
||||
|
||||
fin = vps.p1 ;
|
||||
inf = vps.p2 ;
|
||||
|
||||
@@ -113,19 +113,8 @@ incomplete concrete SentenceRomance of Sentence =
|
||||
---- VPAgrClit g n => verb ! VPart g n
|
||||
---- } ;
|
||||
|
||||
vpss : Str * Str = case <te,a> of {
|
||||
vpss : Str * Str = chooseTA te a verb vaux num per m part ;
|
||||
|
||||
<RPast,Simul> => <verb ! VFin (VImperf m) num per, []> ; --# notpresent
|
||||
<RPast,Anter> => <vaux ! VFin (VImperf m) num per, part> ; --# notpresent
|
||||
<RFut,Simul> => <verb ! VFin (VFut) num per, []> ; --# notpresent
|
||||
<RFut,Anter> => <vaux ! VFin (VFut) num per, part> ; --# notpresent
|
||||
<RCond,Simul> => <verb ! VFin (VCondit) num per, []> ; --# notpresent
|
||||
<RCond,Anter> => <vaux ! VFin (VCondit) num per, part> ; --# notpresent
|
||||
<RPasse,Simul> => <verb ! VFin (VPasse) num per, []> ; --# notpresent
|
||||
<RPasse,Anter> => <vaux ! VFin (VPasse) num per, part> ; --# notpresent
|
||||
<RPres,Anter> => <vaux ! VFin (VPres m) num per, part> ; --# notpresent
|
||||
<RPres,Simul> => <verb ! VFin (VPres m) num per, []>
|
||||
} ;
|
||||
fin = vpss.p1 ;
|
||||
inf = vpss.p2 ;
|
||||
hypt = verbHyphen vp.s ; -- in French, -t- in some cases, otherwise - ; empty in other langs
|
||||
|
||||
Reference in New Issue
Block a user