forked from GitHub/gf-rgl
Prints to facilitate all form checks; Participles - first draft
This commit is contained in:
@@ -1153,6 +1153,7 @@ lin
|
|||||||
dostatq_V = mkV perfective transitive "достать" "достану" "достанет" "15a" ;
|
dostatq_V = mkV perfective transitive "достать" "достану" "достанет" "15a" ;
|
||||||
dostatqsja_V = mkV perfective intransitive "достаться" "достанусь" "достанется" "15a" ;
|
dostatqsja_V = mkV perfective intransitive "достаться" "достанусь" "достанется" "15a" ;
|
||||||
dostigatq_V = mkV imperfective transitive "достигать" "достигаю" "достигает" "1a" ;
|
dostigatq_V = mkV imperfective transitive "достигать" "достигаю" "достигает" "1a" ;
|
||||||
|
dostigatqsja_V = mkV imperfective transitive "достигаться" "достигаюсь" "достигается" "1a" ;
|
||||||
dostignutq_V = mkV perfective transitive "достигнуть" "достигну" "достигнет" ;
|
dostignutq_V = mkV perfective transitive "достигнуть" "достигну" "достигнет" ;
|
||||||
dohoditq_V = mkV imperfective transitive "доходить" "дохожу" "доходит" "4c" ;
|
dohoditq_V = mkV imperfective transitive "доходить" "дохожу" "доходит" "4c" ;
|
||||||
drozhatq_V = mkV imperfective transitive "дрожать" "дрожу" "дрожит" "5b" ;
|
drozhatq_V = mkV imperfective transitive "дрожать" "дрожу" "дрожит" "5b" ;
|
||||||
@@ -1607,6 +1608,7 @@ lin
|
|||||||
polagatq_V = mkV imperfective transitive "полагать" "полагаю" "полагает" "1a" ;
|
polagatq_V = mkV imperfective transitive "полагать" "полагаю" "полагает" "1a" ;
|
||||||
polagatq_VS = mkVS polagatq_V ;
|
polagatq_VS = mkVS polagatq_V ;
|
||||||
polagatqsja_V = mkV imperfective intransitive "полагаться" "полагаюсь" "полагается" "1a" ;
|
polagatqsja_V = mkV imperfective intransitive "полагаться" "полагаюсь" "полагается" "1a" ;
|
||||||
|
polzti_V = mkV imperfective intransitive "ползти" "ползу" "ползёт" "7b/b" ;
|
||||||
poleztq_V = mkV perfective transitive "полезть" "полезу" "полезет" "7a" ;
|
poleztq_V = mkV perfective transitive "полезть" "полезу" "полезет" "7a" ;
|
||||||
poleztq_VV = mkVV poleztq_V ;
|
poleztq_VV = mkVV poleztq_V ;
|
||||||
poletetq_V = mkV perfective transitive "полететь" "полечу" "полетит" "5b" ;
|
poletetq_V = mkV perfective transitive "полететь" "полечу" "полетит" "5b" ;
|
||||||
@@ -4137,4 +4139,6 @@ 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 ;
|
||||||
|
uvidevshyi_A = mkA (uvidetq_V ** {pppss="увиден"}) Act Past ;
|
||||||
}
|
}
|
||||||
@@ -1138,6 +1138,7 @@ fun
|
|||||||
dostatq_V : V;
|
dostatq_V : V;
|
||||||
dostatqsja_V : V;
|
dostatqsja_V : V;
|
||||||
dostigatq_V : V;
|
dostigatq_V : V;
|
||||||
|
dostigatqsja_V : V;
|
||||||
dostignutq_V : V;
|
dostignutq_V : V;
|
||||||
dohoditq_V : V;
|
dohoditq_V : V;
|
||||||
drozhatq_V : V;
|
drozhatq_V : V;
|
||||||
@@ -1592,6 +1593,7 @@ fun
|
|||||||
polagatq_V : V;
|
polagatq_V : V;
|
||||||
polagatq_VS : VS;
|
polagatq_VS : VS;
|
||||||
polagatqsja_V : V;
|
polagatqsja_V : V;
|
||||||
|
polzti_V : V;
|
||||||
poleztq_V : V;
|
poleztq_V : V;
|
||||||
poleztq_VV : VV;
|
poleztq_VV : VV;
|
||||||
poletetq_V : V;
|
poletetq_V : V;
|
||||||
@@ -4121,4 +4123,7 @@ fun
|
|||||||
|
|
||||||
skoree_Adv : Adv ;
|
skoree_Adv : Adv ;
|
||||||
skoraja_N : N ;
|
skoraja_N : N ;
|
||||||
|
|
||||||
|
uvidennyi_A : A ;
|
||||||
|
uvidevshyi_A : A ;
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,13 @@ lin
|
|||||||
wherefrom_IAdv = ss "откуда" ;
|
wherefrom_IAdv = ss "откуда" ;
|
||||||
whereto_IAdv = ss "куда" ;
|
whereto_IAdv = ss "куда" ;
|
||||||
|
|
||||||
|
-- : IQuant ;
|
||||||
|
what_kind_of_IQuant = (adjFormsAdjective (makeAdjectiveForms "какой" "" "3b" PreferFull)) ** {
|
||||||
|
preferShort=PreferFull ;
|
||||||
|
g=Neut ;
|
||||||
|
c=Nom
|
||||||
|
} ;
|
||||||
|
|
||||||
-- near deixis
|
-- near deixis
|
||||||
presently_Adv = P.mkAdv "теперь" ;
|
presently_Adv = P.mkAdv "теперь" ;
|
||||||
therefore_Adv = P.mkAdv "поэтому" ;
|
therefore_Adv = P.mkAdv "поэтому" ;
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ fun
|
|||||||
wherefrom_IAdv : IAdv ;
|
wherefrom_IAdv : IAdv ;
|
||||||
whereto_IAdv : IAdv ;
|
whereto_IAdv : IAdv ;
|
||||||
|
|
||||||
|
what_kind_of_IQuant : IQuant ;
|
||||||
|
|
||||||
presently_Adv : Adv ;
|
presently_Adv : Adv ;
|
||||||
therefore_Adv : Adv ;
|
therefore_Adv : Adv ;
|
||||||
fromhere_Adv : Adv ;
|
fromhere_Adv : Adv ;
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ oper
|
|||||||
non_reflexive : Reflexivity
|
non_reflexive : Reflexivity
|
||||||
= NonReflexive ;
|
= NonReflexive ;
|
||||||
|
|
||||||
-- Voice (not yet used)
|
-- Voice
|
||||||
active : Voice
|
active : Voice
|
||||||
= Act ;
|
= Act ;
|
||||||
passive : Voice
|
passive : Voice
|
||||||
@@ -131,7 +131,8 @@ oper
|
|||||||
mkA : Str -> ZAIndex -> A ;
|
mkA : Str -> ZAIndex -> A ;
|
||||||
mkA : Str -> Str -> ZAIndex -> A ;
|
mkA : Str -> Str -> ZAIndex -> A ;
|
||||||
mkA : Str -> Str -> ZAIndex -> ShortFormPreference -> A ;
|
mkA : Str -> Str -> ZAIndex -> ShortFormPreference -> A ;
|
||||||
mkA : A -> Str -> A -> A -- Compound adjective like социально-экономический
|
mkA : A -> Str -> A -> A ; -- Compound adjective like социально-экономический
|
||||||
|
mkA : V -> Voice -> Tense -> A ; -- make participles
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ShortenA : A -> A ;
|
ShortenA : A -> A ;
|
||||||
@@ -301,6 +302,25 @@ oper
|
|||||||
= \pf -> pronToAdj pf ;
|
= \pf -> pronToAdj pf ;
|
||||||
mkA : A -> Str -> A -> A
|
mkA : A -> Str -> A -> A
|
||||||
= \a1,link,a2 -> lin A (mkCompoundA a1 link a2) ;
|
= \a1,link,a2 -> lin A (mkCompoundA a1 link a2) ;
|
||||||
|
mkA : V -> Voice -> Tense -> A
|
||||||
|
= \v,voice,t -> case <voice,t> of {
|
||||||
|
<Pass,Past|Cond> => lin A (guessAdjectiveForms (v.pppss + "ный")) ;
|
||||||
|
<Pass,Pres> => lin A ( -- overgenerated
|
||||||
|
let s : Str = case v.prpl1 of {
|
||||||
|
f + #consonant + "ём" => (Predef.tk 2 v.prpl1) + "омый" ;
|
||||||
|
_ => v.prpl1 + "ый"
|
||||||
|
} in
|
||||||
|
makeAdjectiveFormsUseIndex s "" (Z.ZA 1 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||||
|
<Act,Pres> => lin A (
|
||||||
|
makeAdjectiveFormsUseIndex (Z.addRefl ((Predef.tk 1 v.prpl3) + "щий")) "" (Z.ZA 4 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||||
|
<Act,Past|Cond> => lin A (
|
||||||
|
let s : Str = case v.inf of {
|
||||||
|
_ + ("сти"|"зти") => (Predef.tk 1 v.prsg1) + "ший" ; -- TODO: check if not all of these cases are ok
|
||||||
|
_ => (Predef.tk 1 v.psgm) + "вший"
|
||||||
|
} in
|
||||||
|
makeAdjectiveFormsUseIndex (Z.addRefl s) "" (Z.ZA 4 Z.No Z.A_ Z.NoC) PreferFull) ;
|
||||||
|
_ => Predef.error "Error: participle for this voice and tense does not exist"
|
||||||
|
} -- TODO: suppress comp and short for all but Pass Pres; take sya into account
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ShortenA : A -> A
|
ShortenA : A -> A
|
||||||
|
|||||||
@@ -1563,4 +1563,54 @@ oper
|
|||||||
applyIPronPrep : ComplementCase -> IPronounForms -> Str
|
applyIPronPrep : ComplementCase -> IPronounForms -> Str
|
||||||
= \prep,ip -> prep.s ++ selectIPronCase ip prep.c ;
|
= \prep,ip -> prep.s ++ selectIPronCase ip prep.c ;
|
||||||
|
|
||||||
|
printNounInflections : NounForms -> Str = \nf ->
|
||||||
|
nf.snom ++ "-"
|
||||||
|
++ nf.snom ++ "," ++ nf.pnom ++ ","
|
||||||
|
++ nf.sgen ++ "," ++ nf.pgen ++ ","
|
||||||
|
++ nf.sdat ++ "," ++ nf.pdat ++ ","
|
||||||
|
++ nf.sacc ++ "," ++ nf.pacc ++ ","
|
||||||
|
++ nf.sins ++ "," ++ nf.pins ++ ","
|
||||||
|
++ nf.sprep ++ "," ++ nf.pprep ++ ","
|
||||||
|
++ nf.sloc ++ "," ++ nf.sptv ;
|
||||||
|
|
||||||
|
printAdjectiveInflections : AdjForms -> Str = \af ->
|
||||||
|
let mf = makeNFFromAF af Masc Inanimate in
|
||||||
|
let ff = makeNFFromAF af Fem Inanimate in
|
||||||
|
let nf = makeNFFromAF af Neut Inanimate in
|
||||||
|
let mfa = makeNFFromAF af Masc Animate in
|
||||||
|
let ffa = makeNFFromAF af Fem Animate in
|
||||||
|
let nfa = makeNFFromAF af Neut Animate in
|
||||||
|
af.msnom ++ "-"
|
||||||
|
++ mf.snom ++ "," ++ ff.snom ++ "," ++ nf.snom ++ "," ++ mf.pnom ++ ","
|
||||||
|
++ mf.sgen ++ "," ++ ff.sgen ++ "," ++ nf.sgen ++ "," ++ mf.pgen ++ ","
|
||||||
|
++ mf.sdat ++ "," ++ ff.sdat ++ "," ++ nf.sdat ++ "," ++ mf.pdat ++ ","
|
||||||
|
++ mf.sacc ++ "," ++ ff.sacc ++ "," ++ nf.sacc ++ "," ++ mf.pacc ++ ","
|
||||||
|
++ mfa.sacc ++ "," ++ ffa.sacc ++ "," ++ nfa.sacc ++ "," ++ mfa.pacc ++ ","
|
||||||
|
++ mf.sins ++ "," ++ ff.sins ++ "," ++ nf.sins ++ "," ++ mf.pins ++ ","
|
||||||
|
++ mf.sprep ++ "," ++ ff.sprep ++ "," ++ nf.sprep ++ "," ++ mf.pprep ++ ","
|
||||||
|
++ af.sm ++ "," ++ af.sf ++ "," ++ af.sn ++ "," ++ af.sp ++ ","
|
||||||
|
++ af.comp
|
||||||
|
;
|
||||||
|
|
||||||
|
printVerbInflections : VerbForms -> Str = \v ->
|
||||||
|
let fut : Agr=>Str = \\a => verbFutAgree v a in
|
||||||
|
let pres : Agr=>Str = \\a => verbPresAgree v a in
|
||||||
|
let past : Agr=>Str = \\a => verbPastAgree v a "" in
|
||||||
|
let imp : Agr=>Str = \\a => ((verbImperativeAgree v a).p1 ++ (verbImperativeAgree v a).p2) in
|
||||||
|
let ppp : GenNum=>Str = \\gn => shortPastPassPart v gn in
|
||||||
|
let inf = verbInf v in
|
||||||
|
inf ++ "-"
|
||||||
|
++ inf ++ ","
|
||||||
|
++ pres ! Ag (GSg Masc) P1 ++ "," ++ pres ! Ag GPl P1 ++ ","
|
||||||
|
++ pres ! Ag (GSg Masc) P2 ++ "," ++ pres ! Ag GPl P2 ++ ","
|
||||||
|
++ pres ! Ag (GSg Masc) P3 ++ "," ++ pres ! Ag GPl P3 ++ ","
|
||||||
|
++ v.prtr ++ verbRefl v ++ ","
|
||||||
|
++ past ! Ag (GSg Masc) P1 ++ "," ++ past ! Ag (GSg Fem) P1 ++ "," ++ past ! Ag (GSg Neut) P1 ++ "," ++ past ! Ag GPl P1 ++ ","
|
||||||
|
++ imp ! Ag (GSg Masc) P2 ++ "," ++ imp ! Ag GPl P2 ++ ","
|
||||||
|
++ v.ptr ++ verbRefl v
|
||||||
|
++ case v.tran of {
|
||||||
|
Transitive => "," ++ ppp ! (GSg Masc) ++ "," ++ ppp ! (GSg Fem) ++ "," ++ ppp ! (GSg Neut) ++ "," ++ ppp ! GPl ;
|
||||||
|
_ => ""
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,6 +241,8 @@ gt UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (CountNP (DetQuant DefArt oba_N
|
|||||||
gt TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) ? (PredVP (UsePN paris_PN) (UseComp (CompNomNP (MassNP (PartNP (UseN stolica_N) (MassNP (UseN country_N))))))))) NoVoc) TEmpty | l -treebank
|
gt TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) ? (PredVP (UsePN paris_PN) (UseComp (CompNomNP (MassNP (PartNP (UseN stolica_N) (MassNP (UseN country_N))))))))) NoVoc) TEmpty | l -treebank
|
||||||
|
|
||||||
gt ImpVP (AdvVP (AdVVP (PositAdVAdj dull_A) (SelfAdvVP hungry_VP)) (weekdayNextAdv friday_Weekday)) |l -treebank
|
gt ImpVP (AdvVP (AdVVP (PositAdVAdj dull_A) (SelfAdvVP hungry_VP)) (weekdayNextAdv friday_Weekday)) |l -treebank
|
||||||
|
gt UseCl (TTAnt TPres ASimul) PPos (PredSCVP (EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIAdv how_IAdv (PredVP (UsePron theyFem_Pron) (ComplVV can_VV (UseV dostigatqsja_V)))))) (UseComp (CompAP (UseComparA ehffektivnyj_A)))) | l -treebank
|
||||||
|
gt UseCl (TTAnt TPres ASimul) PPos (PredSCVP (EmbedQS (UseQCl (TTAnt TPres AAnter) PPos (QuestIComp (CompIQuant what_kind_of_IQuant) (MassNP (UseN apple_N))))) (UseV fall_V)) | l -treebank
|
||||||
|
|
||||||
gt UseCl (TTAnt ? ASimul) ? (PredVP (MassNP (UseN apple_N)) (UseComp (CompBareCN (PartNP (UseN cvet_N) (MassNP (UseN haki_N)))))) | l -treebank
|
gt UseCl (TTAnt ? ASimul) ? (PredVP (MassNP (UseN apple_N)) (UseComp (CompBareCN (PartNP (UseN cvet_N) (MassNP (UseN haki_N)))))) | l -treebank
|
||||||
gt UseCl (TTAnt TFut ASimul) PPos (PredVP (MassNP (UseN apple_N)) (AdvVP UseCopula (PrepCN obj_neg_Prep (AdjCN (PositA green_A) (UseN cvet_N))))) | l -treebank
|
gt UseCl (TTAnt TFut ASimul) PPos (PredVP (MassNP (UseN apple_N)) (AdvVP UseCopula (PrepCN obj_neg_Prep (AdjCN (PositA green_A) (UseN cvet_N))))) | l -treebank
|
||||||
@@ -333,6 +335,8 @@ gt UseCl (TTAnt TPast ASimul) PPos (PredVP (AdvNP (DetCN (DetQuant DefArt NumPl)
|
|||||||
gt UttS (ExtAdvS naprimer_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron youPlFem_Pron) (AdvVP (UseV narisovatq_V) (PrepCN nom_Prep (AdvCN (UseN person_N) (PrepNP in_Prep (DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3)))))))) (UseN sluchaj_N))))))))) | l -treebank
|
gt UttS (ExtAdvS naprimer_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron youPlFem_Pron) (AdvVP (UseV narisovatq_V) (PrepCN nom_Prep (AdvCN (UseN person_N) (PrepNP in_Prep (DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3)))))))) (UseN sluchaj_N))))))))) | l -treebank
|
||||||
gt UttS (AdvS (PrepNP nom_Prep (UsePron he_Pron)) (UseCl (TTAnt TPres AAnter) PPos (ImpersCl (ComplSlashPartLast (VPSlashPrep (ComplSlashPartLast (VPSlashPrep (UseV prinositq_V) nom_Prep) (DetCN (DetQuant IndefArt NumPl) (UseN apple_N))) to_dat_Prep) (UsePron youPol_Pron))))) | l -treebank
|
gt UttS (AdvS (PrepNP nom_Prep (UsePron he_Pron)) (UseCl (TTAnt TPres AAnter) PPos (ImpersCl (ComplSlashPartLast (VPSlashPrep (ComplSlashPartLast (VPSlashPrep (UseV prinositq_V) nom_Prep) (DetCN (DetQuant IndefArt NumPl) (UseN apple_N))) to_dat_Prep) (UsePron youPol_Pron))))) | l -treebank
|
||||||
|
|
||||||
|
gt AdvS (PrepNP ins_Prep (DetCN (DetQuant DefArt NumPl) (UseN issledovanie_N))) (UseCl (TTAnt TPast AAnter) PPos (ImpersCl (PassVPSlash (VPSlashPrep (UseV ustanovitq_V) to_dat_Prep)))) | l -treebank
|
||||||
|
|
||||||
gt UttAccNP (DetCN (DetQuant (PossPron youPlFem_Pron) NumSg) (SentCN (AdvCN (UseN nebo_N) (PrepNP for_Prep (UsePron we_Pron))) (EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIComp (CompIAdv how_IAdv) (MassNP (UseN zerkalo_N))))))) |l -treebank
|
gt UttAccNP (DetCN (DetQuant (PossPron youPlFem_Pron) NumSg) (SentCN (AdvCN (UseN nebo_N) (PrepNP for_Prep (UsePron we_Pron))) (EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIComp (CompIAdv how_IAdv) (MassNP (UseN zerkalo_N))))))) |l -treebank
|
||||||
|
|
||||||
gt UseCl (TTAnt TPres ASimul) PPos (PredVP (MassNP (AdjCN (PositA rovnyj_A) (AdjCN (PositA (CompoundA white_A blue_A)) (UseN svet_N)))) (AdvVP (UseV pronizyvatq_V) (PrepNP obj_neg_Prep (AdvNP (UsePron she_Pron) iznutri_Adv)))) | l -treebank
|
gt UseCl (TTAnt TPres ASimul) PPos (PredVP (MassNP (AdjCN (PositA rovnyj_A) (AdjCN (PositA (CompoundA white_A blue_A)) (UseN svet_N)))) (AdvVP (UseV pronizyvatq_V) (PrepNP obj_neg_Prep (AdvNP (UsePron she_Pron) iznutri_Adv)))) | l -treebank
|
||||||
|
|||||||
Reference in New Issue
Block a user