forked from GitHub/gf-core
PresPartAP and PastPartAP
This commit is contained in:
@@ -190,6 +190,13 @@ resource ResBul = ParamX ** open Prelude, Predef in {
|
||||
NFVocative => aform (gennum g Sg) Indef (RObj Acc)
|
||||
} ;
|
||||
|
||||
aform2gennum : AForm -> GenNum
|
||||
= \aform -> case aform of {
|
||||
ASg g _ => GSg g ;
|
||||
ASgMascDefNom => GSg Masc ;
|
||||
_ => GPl
|
||||
} ;
|
||||
|
||||
indefNForm : NForm -> NForm
|
||||
= \nf -> case nf of {
|
||||
NF n spec => NF n Indef ;
|
||||
|
||||
@@ -51,22 +51,25 @@ lin
|
||||
};
|
||||
g = ANeut
|
||||
} ;
|
||||
|
||||
GerundAP v = {
|
||||
s = \\aform => v.s ! Imperf ! VPresPart aform ++
|
||||
case v.vtype of {
|
||||
VMedial c => reflClitics ! c;
|
||||
_ => []
|
||||
};
|
||||
adv = v.s ! Imperf ! VPresPart (ASg Neut Indef);
|
||||
isPre = True
|
||||
} ;
|
||||
|
||||
PastPartAP v = {
|
||||
s = \\aform => v.s ! Perf ! VPassive aform ;
|
||||
adv = v.s ! Perf ! VPassive (ASg Neut Indef);
|
||||
isPre = True
|
||||
} ;
|
||||
PresPartAP vp =
|
||||
let ap : AForm => Str
|
||||
= \\aform => vp.ad.s ++
|
||||
vp.s ! Imperf ! VPresPart aform ++
|
||||
case vp.vtype of {
|
||||
VMedial c => reflClitics ! c;
|
||||
_ => []
|
||||
} ++
|
||||
vp.compl ! {gn=aform2gennum aform; p=P3} ;
|
||||
in {s = ap; adv = ap ! (ASg Neut Indef); isPre = True} ;
|
||||
|
||||
PastPartAP vp =
|
||||
let ap : AForm => Str
|
||||
= \\aform => vp.ad.s ++
|
||||
vp.s ! Perf ! VPassive aform ++
|
||||
vp.compl1 ! {gn=aform2gennum aform; p=P3} ++
|
||||
vp.compl2 ! {gn=aform2gennum aform; p=P3}
|
||||
in {s = ap; adv = ap ! ASg Neut Indef; isPre = True} ;
|
||||
|
||||
PositAdVAdj a = {s = a.adv} ;
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@ concrete TranslateBul of Translate =
|
||||
DocumentationBul,
|
||||
|
||||
ChunkBul,
|
||||
ExtensionsBul [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash],
|
||||
ExtensionsBul [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS,
|
||||
PresPartAP, PastPartAP, PassVPSlash, PassAgentVPSlash],
|
||||
|
||||
DictionaryBul **
|
||||
open MorphoBul, ResBul, ParadigmsBul, SyntaxBul, CommonScand, (E = ExtraBul), Prelude in {
|
||||
|
||||
Reference in New Issue
Block a user