mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-25 02:38:55 -06:00
some more 1.4 functions in russian
This commit is contained in:
@@ -27,7 +27,7 @@ langs = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
-- languagues for which to compile Lang
|
-- languagues for which to compile Lang
|
||||||
langsLang = langs `except` ["Ara","Rus"]
|
langsLang = langs `except` ["Ara"]
|
||||||
|
|
||||||
-- languages for which to compile Try
|
-- languages for which to compile Try
|
||||||
langsAPI = langsLang `except` ["Cat","Hin","Tha"]
|
langsAPI = langsLang `except` ["Cat","Hin","Tha"]
|
||||||
|
|||||||
@@ -55,24 +55,85 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
|||||||
pron = np.pron
|
pron = np.pron
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
{-
|
-- 1.4 additions AR 17/6/2008
|
||||||
DetSg quant ord = {
|
|
||||||
s = \\af => quant.s!af ++ ord.s!af ;
|
DetNP kazhduj =
|
||||||
n = Sg ;
|
let
|
||||||
|
g = Neut ; ----
|
||||||
|
anim = Inanimate ;
|
||||||
|
in {
|
||||||
|
s = \\c => kazhduj.s ! AF (extCase c) anim (gNum g kazhduj.n) ;
|
||||||
|
n = kazhduj.n ;
|
||||||
|
p = P3 ;
|
||||||
|
pron = False;
|
||||||
|
g = case kazhduj.g of { PNoGen => (PGen g); _ => kazhduj.g };
|
||||||
|
anim = anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetQuantOrd quant num ord = {
|
||||||
|
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ++ ord.s!af ;
|
||||||
|
n = num.n ;
|
||||||
g = quant.g;
|
g = quant.g;
|
||||||
c = quant.c
|
c = quant.c
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetPl quant num ord = {
|
DetQuant quant num = {
|
||||||
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ++ ord.s!af ;
|
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ;
|
||||||
n = num.n; ---- ?? AR 18/12/2007
|
n = num.n ;
|
||||||
g = quant.g;
|
g = quant.g;
|
||||||
c = quant.c
|
c = quant.c
|
||||||
} ;
|
} ;
|
||||||
-}
|
|
||||||
|
DetArtOrd quant num ord = {
|
||||||
|
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ++ ord.s!af ;
|
||||||
|
n = num.n ;
|
||||||
|
g = quant.g;
|
||||||
|
c = quant.c
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetArtCard quant num = {
|
||||||
|
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ;
|
||||||
|
n = num.n ;
|
||||||
|
g = quant.g;
|
||||||
|
c = quant.c
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- MassDet = {s = \\_=>[] ; c=Nom; g = PNoGen; n = Sg} ;
|
||||||
|
|
||||||
|
MassNP okhotnik = {
|
||||||
|
s = \\c => okhotnik.s ! Sg ! (extCase c) ;
|
||||||
|
n = Sg ;
|
||||||
|
p = P3 ;
|
||||||
|
pron = False;
|
||||||
|
g = PGen okhotnik.g ;
|
||||||
|
anim = okhotnik.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetArtSg kazhduj okhotnik = {
|
||||||
|
s = \\c => -- art case always Nom (AR 17/6/2008)
|
||||||
|
kazhduj.s ! AF (extCase c) okhotnik.anim (gNum okhotnik.g Sg) ++
|
||||||
|
okhotnik.s ! Sg ! (extCase c) ;
|
||||||
|
n = Sg ;
|
||||||
|
p = P3 ;
|
||||||
|
pron = False;
|
||||||
|
g = case kazhduj.g of { PNoGen => (PGen okhotnik.g); _ => kazhduj.g };
|
||||||
|
anim = okhotnik.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
DetArtPl kazhduj okhotnik = {
|
||||||
|
s = \\c => -- art case always Nom (AR 17/6/2008)
|
||||||
|
kazhduj.s ! AF (extCase c) okhotnik.anim (gNum okhotnik.g Pl) ++
|
||||||
|
okhotnik.s ! Pl ! (extCase c) ;
|
||||||
|
n = Pl ;
|
||||||
|
p = P3 ;
|
||||||
|
pron = False;
|
||||||
|
g = case kazhduj.g of { PNoGen => (PGen okhotnik.g); _ => kazhduj.g };
|
||||||
|
anim = okhotnik.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
PossPron p = {s = \\af => p.s ! mkPronForm (caseAF af) No (Poss (gNum (genAF af) (numAF af) )); c=Nom; g = PNoGen} ;
|
PossPron p = {s = \\af => p.s ! mkPronForm (caseAF af) No (Poss (gNum (genAF af) (numAF af) )); c=Nom; g = PNoGen} ;
|
||||||
|
|
||||||
|
NumCard c = c ;
|
||||||
NumSg = {s = \\_,_ => [] ; n = Sg} ;
|
NumSg = {s = \\_,_ => [] ; n = Sg} ;
|
||||||
NumPl = {s = \\_,_ => [] ; n = Pl} ;
|
NumPl = {s = \\_,_ => [] ; n = Pl} ;
|
||||||
|
|
||||||
@@ -90,7 +151,6 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
|||||||
|
|
||||||
DefArt = {s = \\_=>[] ; c=Nom; g = PNoGen };
|
DefArt = {s = \\_=>[] ; c=Nom; g = PNoGen };
|
||||||
IndefArt = { s = \\_=>[] ; c=Nom; g = PNoGen };
|
IndefArt = { s = \\_=>[] ; c=Nom; g = PNoGen };
|
||||||
-- MassDet = {s = \\_=>[] ; c=Nom; g = PNoGen; n = Sg} ;
|
|
||||||
|
|
||||||
UseN sb =
|
UseN sb =
|
||||||
{s = \\n,c => sb.s ! SF n c ;
|
{s = \\n,c => sb.s ! SF n c ;
|
||||||
|
|||||||
@@ -47,26 +47,26 @@ concrete QuestionRus of Question = CatRus ** open ResRus, Prelude in {
|
|||||||
anim = okhotnik.anim
|
anim = okhotnik.anim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
{-
|
-- 1.4 additions 17/6/2008 by AR
|
||||||
IDetCN kakoj pyat umeluj okhotnik =
|
|
||||||
{s = \\pf => case kakoj.c of {
|
IdetIP kakoj = let anim = Inanimate in
|
||||||
Nom =>
|
{s = \\pf => kakoj.s ! AF (extCase pf) anim (pgNum kakoj.g kakoj.n) ;
|
||||||
kakoj.s ! AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n) ++
|
|
||||||
pyat.s! (extCase pf) ! okhotnik.g ++
|
|
||||||
umeluj.s!AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n)++
|
|
||||||
okhotnik.s ! kakoj.n ! (extCase pf) ;
|
|
||||||
_ =>
|
|
||||||
kakoj.s ! AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n) ++
|
|
||||||
pyat.s! (extCase pf) ! okhotnik.g ++
|
|
||||||
umeluj.s!AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n)++
|
|
||||||
okhotnik.s ! kakoj.n ! kakoj.c };
|
|
||||||
n = kakoj.n ;
|
n = kakoj.n ;
|
||||||
p = P3 ;
|
p = P3 ;
|
||||||
pron = False;
|
pron = False;
|
||||||
g = kakoj.g ;
|
g = kakoj.g ;
|
||||||
anim = okhotnik.anim
|
anim = anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
IdetQuant kakoj pyat = -- okhotnik =
|
||||||
|
{s = \\af =>
|
||||||
|
kakoj.s ! pyat.n ! af ++
|
||||||
|
pyat.s ! caseAF af ! genAF af ;
|
||||||
|
n = pyat.n ;
|
||||||
|
g = kakoj.g ;
|
||||||
|
c = kakoj.c
|
||||||
} ;
|
} ;
|
||||||
-}
|
|
||||||
|
|
||||||
CompIAdv a = a ;
|
CompIAdv a = a ;
|
||||||
|
CompIP ip = {s = ip.s ! PF Nom No NonPoss} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
|
|
||||||
concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
||||||
|
|
||||||
|
-- 1.4 additions by AR 17/6/2008
|
||||||
|
|
||||||
flags optimize=all_subs ; coding=utf8 ;
|
flags optimize=all_subs ; coding=utf8 ;
|
||||||
lin
|
lin
|
||||||
CompNP masha =
|
CompNP masha =
|
||||||
@@ -161,6 +163,34 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
|||||||
negBefore = se.negBefore
|
negBefore = se.negBefore
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
Slash2V3 dat tu =
|
||||||
|
let
|
||||||
|
tebepivo = dat.s2 ++ tu.s ! PF dat.c No NonPoss ++ dat.s4 ;
|
||||||
|
in
|
||||||
|
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGNum gn) p) ++ tebepivo ;
|
||||||
|
asp = dat.asp ;
|
||||||
|
w = Act;
|
||||||
|
negBefore = True;
|
||||||
|
s2 = "";
|
||||||
|
s3 = \\g,n=> "" ;
|
||||||
|
sc = dat.s4 ;
|
||||||
|
c = dat.c2
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Slash3V3 dat pivo =
|
||||||
|
let
|
||||||
|
tebepivo = dat.s4 ++ pivo.s ! PF dat.c2 Yes NonPoss
|
||||||
|
in
|
||||||
|
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGNum gn) p) ++ tebepivo ;
|
||||||
|
asp = dat.asp ;
|
||||||
|
w = Act;
|
||||||
|
negBefore = True;
|
||||||
|
s2 = "";
|
||||||
|
s3 = \\g,n=> "" ;
|
||||||
|
sc = dat.s2 ;
|
||||||
|
c = dat.c
|
||||||
|
} ;
|
||||||
|
|
||||||
{-
|
{-
|
||||||
ComplV3 dat tu pivo =
|
ComplV3 dat tu pivo =
|
||||||
let
|
let
|
||||||
@@ -225,19 +255,21 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
|||||||
s2 = "";
|
s2 = "";
|
||||||
s3 = \\g,n => molodoj.s!(AF Inst Animate (gNum g n))
|
s3 = \\g,n => molodoj.s!(AF Inst Animate (gNum g n))
|
||||||
} ;
|
} ;
|
||||||
{-
|
|
||||||
SlashV2A obechat tu molodoj =
|
SlashV2A obechat molodoj =
|
||||||
{s = \\clf,gn,p => obechat.s2++
|
{s = \\clf,gn,p =>
|
||||||
obechat.s ! (getActVerbForm clf (genGNum gn) (numGNum gn) p) ++
|
obechat.s ! (getActVerbForm clf (genGNum gn) (numGNum gn) p) ++
|
||||||
tu.s ! PF obechat.c No NonPoss ++
|
molodoj.s ! AF Inst Inanimate (ASg Neut) ;
|
||||||
molodoj.s!AF Inst tu.anim (pgNum tu.g tu.n) ;
|
---- AR 17/6; AF Inst tu.anim (pgNum tu.g tu.n) ;
|
||||||
asp = obechat.asp ;
|
asp = obechat.asp ;
|
||||||
w = Act;
|
w = Act;
|
||||||
negBefore = True;
|
negBefore = True;
|
||||||
s2 = "";
|
s2 = "";
|
||||||
s3 = \\g,n =>""
|
s3 = \\g,n =>"" ;
|
||||||
|
sc = obechat.s2 ;
|
||||||
|
c = obechat.c
|
||||||
} ;
|
} ;
|
||||||
-}
|
|
||||||
AdvVP poet khorosho =
|
AdvVP poet khorosho =
|
||||||
{s = \\clf,gn,p => poet.s ! clf!gn!p; s2 = poet.s2 ++ khorosho.s; s3 = poet.s3;
|
{s = \\clf,gn,p => poet.s ! clf!gn!p; s2 = poet.s2 ++ khorosho.s; s3 = poet.s3;
|
||||||
asp = poet.asp; w = poet.w; t = poet.t ; negBefore = poet.negBefore } ;
|
asp = poet.asp; w = poet.w; t = poet.t ; negBefore = poet.negBefore } ;
|
||||||
|
|||||||
Reference in New Issue
Block a user