mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-15 23:06:03 -06:00
REPLACED old Russian RG completely
This commit is contained in:
+49
-75
@@ -1,75 +1,49 @@
|
||||
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
|
||||
concrete AdjectiveRus of Adjective = CatRus ** open ResRus, Prelude in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
PositA a = { s = a.s!Posit ; p = a.p ; preferShort = a.preferShort};
|
||||
-- Comparative forms are used with an object of comparison, as
|
||||
-- adjectival phrases ("больше тебя").
|
||||
|
||||
ComparA bolshoj tu =
|
||||
{s = \\af => bolshoj.s ! Compar ! af ++ tu.s ! (mkPronForm Gen Yes NonPoss) ;
|
||||
p = True ;
|
||||
preferShort = PrefShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
UseComparA bolshoj =
|
||||
{s = \\af => bolshoj.s ! Compar ! af ;
|
||||
p = True ;
|
||||
preferShort = PrefShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
CAdvAP ad ap np = let adp = ad.s in { ---- should be ad.p
|
||||
s = \\af => ad.s ++ ap.s ! af ++ adp ++ np.s ! (mkPronForm Gen Yes NonPoss) ;
|
||||
p = True ; ----?
|
||||
preferShort = ap.preferShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
AdjOrd a = {
|
||||
s = a.s ;
|
||||
p = True ; ---- ?
|
||||
preferShort = PrefFull
|
||||
} ;
|
||||
|
||||
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||
|
||||
ComplA2 vlublen tu =
|
||||
{s = \\af => vlublen.s !Posit! af ++ vlublen.c2.s ++
|
||||
tu.s ! (mkPronForm vlublen.c2.c No NonPoss) ;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
ReflA2 vlublen =
|
||||
{s = \\af => vlublen.s !Posit! af ++ vlublen.c2.s ++ sam.s ! vlublen.c2.c;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
SentAP vlublen sent=
|
||||
{s = \\af => vlublen.s ! af ++ [", "] ++ sent.s;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
|
||||
AdAP ada ap = {
|
||||
s = \\af => ada.s ++ ap.s ! af ;
|
||||
p = True ;
|
||||
preferShort = ap.preferShort
|
||||
} ;
|
||||
|
||||
UseA2 a = {
|
||||
s = \\af => a.s ! Posit ! af ;
|
||||
p = True ;
|
||||
preferShort = a.preferShort
|
||||
} ;
|
||||
}
|
||||
|
||||
concrete AdjectiveRus of Adjective = CatRus ** open ResRus, Prelude, Coordination in {
|
||||
lin
|
||||
-- : A -> AP ; -- warm - тёплый
|
||||
PositA a = adjFormsAdjective a ** {isPost = False} ;
|
||||
-- : A2 -> AP ; -- married
|
||||
UseA2 a = adjFormsAdjective a ** {isPost = False} ;
|
||||
-- : A -> AP ; -- warmer - теплее
|
||||
UseComparA a = adjFormsAdjective (immutableAdjForms a.comp)
|
||||
** {isPost = False; preferShort = PrefShort} ; -- TODO: non-qual
|
||||
-- : AP -> Adv -> AP ; -- warm by nature
|
||||
AdvAP ap adv = ap ** {s = \\gn,a,c => adv.s ++ ap.s ! gn ! a ! c ; isPost = False} ;
|
||||
|
||||
-- : AdA -> AP -> AP ;
|
||||
AdAP ada ap = ap ** {s=\\gn,a,c => ada.s ++ ap.s ! gn ! a ! c } ;
|
||||
-- : CAdv -> AP -> NP -> AP ; -- as cool as John
|
||||
CAdvAP cadv ap np = ap ** {
|
||||
s = \\gn,a,c => cadv.s ++ ap.s ! gn ! a ! c ++ comma ++ cadv.p ++ np.s ! Nom -- TODO: embedInCommas ?
|
||||
} ;
|
||||
|
||||
-- : AP -> SC -> AP ; -- good that she is here
|
||||
SentAP ap sc = ap ** {s = \\gn,a,c => ap.s ! gn ! a ! c ++ [", "] ++ sc.s ; isPost = True} ;
|
||||
|
||||
-- : A -> NP -> AP ; -- warmer than I - теплее меня
|
||||
ComparA a np = {
|
||||
s = \\gn,anim,cas => a.comp ++ (applyPrep {s="" ; c=Gen ; hasPrep=True} np) ;
|
||||
short = \\ag=>a.comp ++ (applyPrep {s="" ; c=Gen ; hasPrep=True} np) ;
|
||||
isPost = False ;
|
||||
preferShort = PrefShort
|
||||
} ;
|
||||
|
||||
-- : Ord -> AP ; -- warmest
|
||||
AdjOrd ord = adjFormsAdjective ord ** {isPost = False; preferShort = PrefFull} ;
|
||||
|
||||
-- : A2 -> NP -> AP ; -- married to him - замужем за ним (NB: gender change requires different word!)
|
||||
ComplA2 a2 np = let af=adjFormsAdjective a2 in {
|
||||
s = \\gn,anim,cas => af.s ! gn ! anim ! (a2.c.c) ++ a2.c.s ++ np.s ! (a2.c.c) ;
|
||||
short = \\a=>af.short ! a ++ a2.c.s ++ np.s ! (a2.c.c) ;
|
||||
isPost = False ;
|
||||
preferShort = a2.preferShort
|
||||
} ;
|
||||
|
||||
-- : A2 -> AP ; -- married to itself - замужем за собой
|
||||
ReflA2 a2 = let af=adjFormsAdjective a2 in {
|
||||
s = \\gn,anim,cas => af.s ! gn ! anim ! cas ++ a2.c.s ++ sam.s ! (a2.c.c) ;
|
||||
short = \\a=>af.short ! a ++ a2.c.s ++ sam.s ! (a2.c.c) ;
|
||||
isPost = False ;
|
||||
preferShort = a2.preferShort
|
||||
} ;
|
||||
}
|
||||
Reference in New Issue
Block a user