mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-07-01 11:38:34 -06:00
REPLACED old Russian RG completely
This commit is contained in:
+48
-23
@@ -1,31 +1,56 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete PhraseRus of Phrase = CatRus ** open Prelude, ResRus in {
|
||||
|
||||
flags coding=utf8 ;
|
||||
lin
|
||||
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
||||
lin
|
||||
-- : S -> Utt ; -- John walks
|
||||
UttS s = {s = s.s ! Ind} ;
|
||||
-- : QS -> Utt ; -- is it good
|
||||
UttQS qs = {s = qs.s ! QDir} ;
|
||||
|
||||
UttS s = s ;
|
||||
UttQS qs = {s = qs.s ! QDir} ;
|
||||
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc! Sg} ;
|
||||
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc!Pl} ;
|
||||
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc! Sg} ; ---- ?? AR
|
||||
-- : Pol -> Imp -> Utt ; -- (don't) love yourself
|
||||
UttImpSg pol imp = {s = imp.s ! pol.p ! GSg Masc} ;
|
||||
-- : Pol -> Imp -> Utt ; -- (don't) love yourselves
|
||||
UttImpPl pol imp = {s = imp.s ! pol.p ! GPl} ;
|
||||
-- : Pol -> Imp -> Utt ; -- (don't) sleep (polite)
|
||||
UttImpPol pol imp = {s = imp.s ! pol.p ! GPl} ;
|
||||
|
||||
UttIP ip = {s = ip.s ! PF Nom No NonPoss} ; --- Acc also
|
||||
UttIAdv iadv = iadv ;
|
||||
UttNP np = {s = np.s ! PF Nom No NonPoss} ; -- why was Acc instead of Nom here? (Liza Zimina 04/2018)
|
||||
UttVP vp = {s = vp.s ! ClInfinit ! GSg Masc ! P3} ;
|
||||
UttAdv adv = adv ;
|
||||
UttCN n = {s = n.nounpart ! NF Sg Nom nom ++ n.relcl ! Sg ! Nom} ;
|
||||
UttCard n = {s = n.s ! Neut ! Inanimate ! Nom} ;
|
||||
UttAP ap = {s = ap.s ! AF Nom Inanimate (GSg Neut)} ; ---- gennum ? (AR)
|
||||
UttInterj i = i ;
|
||||
-- : IP -> Utt ; -- who
|
||||
UttIP ip = {s = ip.nom} ; --- Acc also?
|
||||
|
||||
NoPConj = {s = []} ;
|
||||
PConjConj conj = ss conj.s2 ;
|
||||
-- : IAdv -> Utt ; -- why
|
||||
UttIAdv iadv = iadv ;
|
||||
|
||||
NoVoc = {s = []} ;
|
||||
VocNP np = {s = "," ++ np.s ! PF Nom No NonPoss} ;
|
||||
-- : NP -> Utt ; -- this man
|
||||
UttNP np = {s = np.s ! Nom} ;
|
||||
|
||||
-- : Adv -> Utt ; -- here
|
||||
UttAdv adv = adv ;
|
||||
|
||||
-- : VP -> Utt ; -- to sleep
|
||||
UttVP vp
|
||||
= let a=Ag (GSg Neut) P3 in {
|
||||
s=vp.adv ! a ++ (verbInf vp.verb) ++ vp.dep ++ vp.compl ! a
|
||||
} ;
|
||||
|
||||
-- : CN -> Utt ; -- house
|
||||
UttCN cn = {s = cn.s ! Sg ! Nom} ;
|
||||
-- : Card -> Utt ; -- five
|
||||
UttCard card = {s=card.s ! Neut ! Inanimate ! Nom};
|
||||
-- : AP -> Utt ; -- fine
|
||||
UttAP ap = {s = ap.s ! GSg Masc ! Animate ! Nom } ;
|
||||
-- : Interj -> Utt ; -- alas
|
||||
UttInterj i = i ;
|
||||
|
||||
-- : PConj -> Utt -> Voc -> Phr ; -- but come here, my friend
|
||||
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
||||
|
||||
-- : PConj ; -- [plain phrase without conjunction in front]
|
||||
NoPConj = {s = []} ;
|
||||
-- : Conj -> PConj ; -- and
|
||||
PConjConj conj = {s = conj.s2} ;
|
||||
|
||||
-- : Voc ; -- [plain phrase without vocative]
|
||||
NoVoc = {s = []} ;
|
||||
-- : NP -> Voc ; -- my friend
|
||||
VocNP np = {s = "," ++ np.s ! VocRus } ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user