mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
Fixed past passive participles full forms by adding its own stem to the verb
This commit is contained in:
@@ -4138,8 +4138,8 @@ lin
|
|||||||
skoree_Adv = mkAdv skoryj_A.comp ;
|
skoree_Adv = mkAdv skoryj_A.comp ;
|
||||||
skoraja_N = mkN skoryj_A feminine inanimate ;
|
skoraja_N = mkN skoryj_A feminine inanimate ;
|
||||||
|
|
||||||
uvidennyi_A = mkA (uvidetq_V ** {pppss="увиден"}) Pass Past ; --# notpresent
|
uvidennyi_A = mkA (uvidetq_V ** {pppss="увиден"; ppps="увиден"}) Pass Past ; --# notpresent
|
||||||
uvidevshyi_A = mkA (uvidetq_V ** {pppss="увиден"}) Act Past ; --# notpresent
|
uvidevshyi_A = mkA (uvidetq_V ** {pppss="увиден"; ppps="увиден"}) Act Past ; --# notpresent
|
||||||
|
|
||||||
vedshij_A = mkA vesti_V Act Past ;--# notpresent
|
vedshij_A = mkA vesti_V Act Past ;--# notpresent
|
||||||
vedomyj_A = mkA vesti_V Pass Pres ;
|
vedomyj_A = mkA vesti_V Pass Pres ;
|
||||||
@@ -4153,4 +4153,7 @@ lin
|
|||||||
napravlennyj_A = mkA napravitq_V Pass Past ; --# notpresent
|
napravlennyj_A = mkA napravitq_V Pass Past ; --# notpresent
|
||||||
|
|
||||||
okazavshijsja_A = mkA okazatqsja_V Act Past ; --# notpresent
|
okazavshijsja_A = mkA okazatqsja_V Act Past ; --# notpresent
|
||||||
|
|
||||||
|
vzjvshij_A = mkA vzjatq_V Act Past ; --# notpresent
|
||||||
|
vzjatyj_A = mkA vzjatq_V Pass Past ; --# notpresent
|
||||||
}
|
}
|
||||||
@@ -4135,4 +4135,6 @@ fun
|
|||||||
napravivshij_A : A ;
|
napravivshij_A : A ;
|
||||||
napravlennyj_A : A ;
|
napravlennyj_A : A ;
|
||||||
okazavshijsja_A : A ;
|
okazavshijsja_A : A ;
|
||||||
|
vzjatyj_A : A ;
|
||||||
|
vzjvshij_A : A ;
|
||||||
}
|
}
|
||||||
@@ -179,6 +179,7 @@ oper
|
|||||||
isg2="";
|
isg2="";
|
||||||
isg2refl="" ;
|
isg2refl="" ;
|
||||||
ipl1="";
|
ipl1="";
|
||||||
|
ppps="явленн"; --*
|
||||||
pppss="явлен"; --*
|
pppss="явлен"; --*
|
||||||
prtr="существуя"; --*
|
prtr="существуя"; --*
|
||||||
ptr="существовав"; --*
|
ptr="существовав"; --*
|
||||||
@@ -198,6 +199,7 @@ oper
|
|||||||
isg2="";
|
isg2="";
|
||||||
isg2refl="" ;
|
isg2refl="" ;
|
||||||
ipl1="";
|
ipl1="";
|
||||||
|
ppps=["не явленн"]; --*
|
||||||
pppss=["не явлен"]; --*
|
pppss=["не явлен"]; --*
|
||||||
prtr=["не существуя"]; --*
|
prtr=["не существуя"]; --*
|
||||||
ptr=["не существовав"]; --*
|
ptr=["не существовав"]; --*
|
||||||
|
|||||||
@@ -873,7 +873,8 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
VerbPassPastPart : Type = {
|
VerbPassPastPart : Type = {
|
||||||
pppss : Str
|
ppps : Str ; -- full form stem
|
||||||
|
pppss : Str -- short stem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
VerbTransgressive : Type = {
|
VerbTransgressive : Type = {
|
||||||
@@ -987,6 +988,7 @@ oper
|
|||||||
isg2=imp.isg2 ;
|
isg2=imp.isg2 ;
|
||||||
isg2refl=imp.isg2refl ;
|
isg2refl=imp.isg2refl ;
|
||||||
ipl1=imp.ipl1 ;
|
ipl1=imp.ipl1 ;
|
||||||
|
ppps=ppp.ppps ;
|
||||||
pppss=ppp.pppss ;
|
pppss=ppp.pppss ;
|
||||||
prtr=tr.prtr ;
|
prtr=tr.prtr ;
|
||||||
ptr=tr.ptr
|
ptr=tr.ptr
|
||||||
@@ -1045,6 +1047,14 @@ oper
|
|||||||
|
|
||||||
makeVerbPassPastPart : ConjType -> Str -> Str -> Str -> Str -> VerbPassPastPart =
|
makeVerbPassPastPart : ConjType -> Str -> Str -> Str -> Str -> VerbPassPastPart =
|
||||||
\ct, infs, sg1, sg3, psgm -> {
|
\ct, infs, sg1, sg3, psgm -> {
|
||||||
|
ppps=case <ct,infs> of { -- TODO
|
||||||
|
<9|11|12|14|15|16,_> => case psgm of {s+"л"=>s+"т"; _=>psgm+"т"} ;
|
||||||
|
<4,_> => sg1 + "енн" ; -- TODO: ён
|
||||||
|
<5,s+("е"|"ё")> => sg1 + "енн" ; -- TODO: ён
|
||||||
|
<7|8,_> => sg3 + "енн" ; -- TODO: ён
|
||||||
|
<3|10,_> => infs + "т" ;
|
||||||
|
_ => infs + "нн"
|
||||||
|
} ;
|
||||||
pppss=case <ct,infs> of {
|
pppss=case <ct,infs> of {
|
||||||
<9|11|12|14|15|16,_> => case psgm of {s+"л"=>s+"т"; _=>psgm+"т"} ;
|
<9|11|12|14|15|16,_> => case psgm of {s+"л"=>s+"т"; _=>psgm+"т"} ;
|
||||||
<4,_> => sg1 + "ен" ; -- TODO: ён
|
<4,_> => sg1 + "ен" ; -- TODO: ён
|
||||||
@@ -1090,6 +1100,7 @@ oper
|
|||||||
isg2=com + "ти";
|
isg2=com + "ти";
|
||||||
isg2refl=com + "тись";
|
isg2refl=com + "тись";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
|
ppps=com + "тим"; -- incorrect, but prevents empty
|
||||||
pppss=com + "тим"; -- incorrect, but prevents empty
|
pppss=com + "тим"; -- incorrect, but prevents empty
|
||||||
prtr=com + "тя";
|
prtr=com + "тя";
|
||||||
ptr=com + "тев";
|
ptr=com + "тев";
|
||||||
@@ -1119,6 +1130,7 @@ oper
|
|||||||
isg2=com + "ги";
|
isg2=com + "ги";
|
||||||
isg2refl=com + "гись";
|
isg2refl=com + "гись";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
|
ppps=com + "ган"; -- incorrect, but prevents parsing problems
|
||||||
pppss=com + "ган"; -- incorrect, but prevents parsing problems
|
pppss=com + "ган"; -- incorrect, but prevents parsing problems
|
||||||
prtr=com + "жа"; -- *
|
prtr=com + "жа"; -- *
|
||||||
ptr=com + "жав";
|
ptr=com + "жав";
|
||||||
@@ -1148,6 +1160,7 @@ oper
|
|||||||
isg2=com + "шь";
|
isg2=com + "шь";
|
||||||
isg2refl=com + "шься";
|
isg2refl=com + "шься";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
|
ppps=com + "денн"; -- *
|
||||||
pppss=com + "ден"; -- *
|
pppss=com + "ден"; -- *
|
||||||
prtr=com + "дя";
|
prtr=com + "дя";
|
||||||
ptr=com + "в";
|
ptr=com + "в";
|
||||||
@@ -1176,6 +1189,7 @@ oper
|
|||||||
isg2=com + "й";
|
isg2=com + "й";
|
||||||
isg2refl=com + "йся";
|
isg2refl=com + "йся";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
|
ppps=com + "нн"; -- *
|
||||||
pppss=com + "н"; -- *
|
pppss=com + "н"; -- *
|
||||||
prtr=com + "вая";
|
prtr=com + "вая";
|
||||||
ptr=com + "в";
|
ptr=com + "в";
|
||||||
@@ -1205,7 +1219,8 @@ oper
|
|||||||
isg2=com + "удь";
|
isg2=com + "удь";
|
||||||
isg2refl=com + "удься";
|
isg2refl=com + "удься";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
pppss="ыт"; -- *
|
ppps=com + "ыт"; -- *
|
||||||
|
pppss=com + "ыт"; -- *
|
||||||
prtr=com + "ывая";
|
prtr=com + "ывая";
|
||||||
ptr=com + "ыв";
|
ptr=com + "ыв";
|
||||||
asp=asp;
|
asp=asp;
|
||||||
@@ -1235,7 +1250,8 @@ oper
|
|||||||
isg2=com + "ди";
|
isg2=com + "ди";
|
||||||
isg2refl=com + "дись";
|
isg2refl=com + "дись";
|
||||||
ipl1=[];
|
ipl1=[];
|
||||||
pppss="ден"; -- *
|
ppps=com + "денн"; -- *
|
||||||
|
pppss="com + ден"; -- *
|
||||||
prtr=com + "дя";
|
prtr=com + "дя";
|
||||||
ptr=[];
|
ptr=[];
|
||||||
asp=asp;
|
asp=asp;
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ lin
|
|||||||
science_N = mkN "наука" ;
|
science_N = mkN "наука" ;
|
||||||
scratch_V2 = mkV2 (mkV imperfective "чесать" "чешу" "чешет");
|
scratch_V2 = mkV2 (mkV imperfective "чесать" "чешу" "чешет");
|
||||||
sea_N = mkN "море" neuter inanimate "2c" ;
|
sea_N = mkN "море" neuter inanimate "2c" ;
|
||||||
see_V2 = (mkV2plus (mkV2 (mkV imperfective transitive "видеть" "вижу" "видит" "5a"))) ** {pppss="виден"} ;
|
see_V2 = (mkV2plus (mkV2 (mkV imperfective transitive "видеть" "вижу" "видит" "5a"))) ** {pppss="виден"; ppps="виденн"} ;
|
||||||
seed_N = mkN "семя" neuter inanimate "8°c" ;
|
seed_N = mkN "семя" neuter inanimate "8°c" ;
|
||||||
seek_V2 = mkV2 (mkV imperfective "искать" "ищу" "ищет");
|
seek_V2 = mkV2 (mkV imperfective "искать" "ищу" "ищет");
|
||||||
sell_V3 = tvDirDir (mkV imperfective "продавать" "продаю" "продаёт");
|
sell_V3 = tvDirDir (mkV imperfective "продавать" "продаю" "продаёт");
|
||||||
|
|||||||
@@ -306,8 +306,8 @@ oper
|
|||||||
= \v,voice,t ->
|
= \v,voice,t ->
|
||||||
let refl = case v.refl of {Reflexive => "ся" ; _ => ""} in
|
let refl = case v.refl of {Reflexive => "ся" ; _ => ""} in
|
||||||
case <voice,t> of {
|
case <voice,t> of {
|
||||||
<Pass,Past|Cond> => lin A ( --# notpresent TODO: very rough. Cover more cases
|
<Pass,Past|Cond> => lin A ( --# notpresent TODO: check
|
||||||
guessAdjectiveForms (v.pppss + "ный") ** { --# notpresent
|
guessAdjectiveForms (v.ppps + "ый") ** { --# notpresent
|
||||||
sm=v.pppss ; --# notpresent
|
sm=v.pppss ; --# notpresent
|
||||||
sf=v.pppss + "а"; --# notpresent
|
sf=v.pppss + "а"; --# notpresent
|
||||||
sn=v.pppss + "о"; --# notpresent
|
sn=v.pppss + "о"; --# notpresent
|
||||||
|
|||||||
@@ -94,7 +94,8 @@ oper
|
|||||||
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3,
|
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3,
|
||||||
psgm, psgs,
|
psgm, psgs,
|
||||||
isg2, ipl1, isg2refl,
|
isg2, ipl1, isg2refl,
|
||||||
pppss, -- past passive participle. Here only short stem
|
ppps, -- past passive participle, stem
|
||||||
|
pppss, -- past passive participle, short stem
|
||||||
prtr, ptr -- present and past transgressives (converbs)
|
prtr, ptr -- present and past transgressives (converbs)
|
||||||
: Str ;
|
: Str ;
|
||||||
fut : SpecialFuture ;
|
fut : SpecialFuture ;
|
||||||
|
|||||||
@@ -658,6 +658,7 @@ oper
|
|||||||
isg2="будь";
|
isg2="будь";
|
||||||
isg2refl="явись" ; -- ?
|
isg2refl="явись" ; -- ?
|
||||||
ipl1="давайте будем";
|
ipl1="давайте будем";
|
||||||
|
ppps="явленн"; --*
|
||||||
pppss="явлен"; --*
|
pppss="явлен"; --*
|
||||||
prtr="будучи";
|
prtr="будучи";
|
||||||
ptr="быв";
|
ptr="быв";
|
||||||
@@ -723,6 +724,7 @@ oper
|
|||||||
isg2refl="будь способны" ; -- *
|
isg2refl="будь способны" ; -- *
|
||||||
isg2="будь способен"; -- some improvisation here
|
isg2="будь способен"; -- some improvisation here
|
||||||
ipl1="давайте будем способны"; -- maybe, special like for future?
|
ipl1="давайте будем способны"; -- maybe, special like for future?
|
||||||
|
ppps=""; --*
|
||||||
pppss=""; --*
|
pppss=""; --*
|
||||||
prtr="могши"; --*
|
prtr="могши"; --*
|
||||||
ptr="могши";
|
ptr="могши";
|
||||||
@@ -747,6 +749,7 @@ oper
|
|||||||
isg2="желай";
|
isg2="желай";
|
||||||
isg2refl="желайся" ;
|
isg2refl="желайся" ;
|
||||||
ipl1="давайте будем хотеть";
|
ipl1="давайте будем хотеть";
|
||||||
|
ppps="хотим"; -- *
|
||||||
pppss="хотим"; -- *
|
pppss="хотим"; -- *
|
||||||
prtr="хотя";
|
prtr="хотя";
|
||||||
ptr="хотев";
|
ptr="хотев";
|
||||||
@@ -761,7 +764,7 @@ oper
|
|||||||
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3,
|
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3,
|
||||||
psgm, psgs,
|
psgm, psgs,
|
||||||
isg2, isg2refl, ipl1,
|
isg2, isg2refl, ipl1,
|
||||||
pppss,
|
ppps, pppss,
|
||||||
prtr, ptr ="";
|
prtr, ptr ="";
|
||||||
fut=NullFuture ;
|
fut=NullFuture ;
|
||||||
asp=Imperfective;
|
asp=Imperfective;
|
||||||
|
|||||||
@@ -151,6 +151,9 @@ gt UseCl (TTAnt TPres ASimul) PPos (PredVP (AdvNP (UsePron he_Pron) ( PositAdvAd
|
|||||||
gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVA become_VA (AdAP (PositAdAAdj clean_A) (PositA old_A))))) | l -treebank
|
gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVA become_VA (AdAP (PositAdAAdj clean_A) (PositA old_A))))) | l -treebank
|
||||||
gt UttAdv (ComparAdvAdj rather_CAdv warm_A (UsePron he_Pron)) | l -treebank -unlextext
|
gt UttAdv (ComparAdvAdj rather_CAdv warm_A (UsePron he_Pron)) | l -treebank -unlextext
|
||||||
|
|
||||||
|
gt UseCl (TTAnt TPres ASimul) PPos (PredVP (MassNP (AdjCN (PositA vzjvshij_A) (UseN apple_N))) (UseV fall_V)) | l -treebank -unlextext
|
||||||
|
gt UseCl (TTAnt TPres ASimul) PPos (PredVP (MassNP (AdjCN (PositA vzjatyj_A) (UseN apple_N))) (UseV fall_V)) | l -treebank -unlextext
|
||||||
|
|
||||||
gt CountNP (ConjDet or_Conj (BaseDAP (DetDAP every_Det) (DetDAP many_Det))) (MassNP (UseN city_N)) |l -treebank
|
gt CountNP (ConjDet or_Conj (BaseDAP (DetDAP every_Det) (DetDAP many_Det))) (MassNP (UseN city_N)) |l -treebank
|
||||||
|
|
||||||
gt UseCl ? ? (married_Cl (MassNP (UseN man_N)) (MassNP (UseN woman_N))) |l -treebank
|
gt UseCl ? ? (married_Cl (MassNP (UseN man_N)) (MassNP (UseN woman_N))) |l -treebank
|
||||||
|
|||||||
Reference in New Issue
Block a user