mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-16 16:29:32 -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
|
||||
langsLang = langs `except` ["Ara","Rus"]
|
||||
langsLang = langs `except` ["Ara"]
|
||||
|
||||
-- languages for which to compile Try
|
||||
langsAPI = langsLang `except` ["Cat","Hin","Tha"]
|
||||
|
||||
@@ -55,24 +55,85 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
||||
pron = np.pron
|
||||
} ;
|
||||
|
||||
{-
|
||||
DetSg quant ord = {
|
||||
s = \\af => quant.s!af ++ ord.s!af ;
|
||||
n = Sg ;
|
||||
-- 1.4 additions AR 17/6/2008
|
||||
|
||||
DetNP kazhduj =
|
||||
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;
|
||||
c = quant.c
|
||||
} ;
|
||||
|
||||
DetPl quant num ord = {
|
||||
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ++ ord.s!af ;
|
||||
n = num.n; ---- ?? AR 18/12/2007
|
||||
DetQuant quant num = {
|
||||
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ;
|
||||
n = num.n ;
|
||||
g = quant.g;
|
||||
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} ;
|
||||
|
||||
NumCard c = c ;
|
||||
NumSg = {s = \\_,_ => [] ; n = Sg} ;
|
||||
NumPl = {s = \\_,_ => [] ; n = Pl} ;
|
||||
|
||||
@@ -90,7 +151,6 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
||||
|
||||
DefArt = {s = \\_=>[] ; c=Nom; g = PNoGen };
|
||||
IndefArt = { s = \\_=>[] ; c=Nom; g = PNoGen };
|
||||
-- MassDet = {s = \\_=>[] ; c=Nom; g = PNoGen; n = Sg} ;
|
||||
|
||||
UseN sb =
|
||||
{s = \\n,c => sb.s ! SF n c ;
|
||||
|
||||
@@ -47,26 +47,26 @@ concrete QuestionRus of Question = CatRus ** open ResRus, Prelude in {
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
|
||||
{-
|
||||
IDetCN kakoj pyat umeluj okhotnik =
|
||||
{s = \\pf => case kakoj.c of {
|
||||
Nom =>
|
||||
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 };
|
||||
-- 1.4 additions 17/6/2008 by AR
|
||||
|
||||
IdetIP kakoj = let anim = Inanimate in
|
||||
{s = \\pf => kakoj.s ! AF (extCase pf) anim (pgNum kakoj.g kakoj.n) ;
|
||||
n = kakoj.n ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = kakoj.g ;
|
||||
anim = okhotnik.anim
|
||||
g = kakoj.g ;
|
||||
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 ;
|
||||
CompIP ip = {s = ip.s ! PF Nom No NonPoss} ;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
||||
|
||||
-- 1.4 additions by AR 17/6/2008
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
lin
|
||||
CompNP masha =
|
||||
@@ -161,6 +163,34 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
||||
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 =
|
||||
let
|
||||
@@ -225,19 +255,21 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
||||
s2 = "";
|
||||
s3 = \\g,n => molodoj.s!(AF Inst Animate (gNum g n))
|
||||
} ;
|
||||
{-
|
||||
SlashV2A obechat tu molodoj =
|
||||
{s = \\clf,gn,p => obechat.s2++
|
||||
|
||||
SlashV2A obechat molodoj =
|
||||
{s = \\clf,gn,p =>
|
||||
obechat.s ! (getActVerbForm clf (genGNum gn) (numGNum gn) p) ++
|
||||
tu.s ! PF obechat.c No NonPoss ++
|
||||
molodoj.s!AF Inst tu.anim (pgNum tu.g tu.n) ;
|
||||
molodoj.s ! AF Inst Inanimate (ASg Neut) ;
|
||||
---- AR 17/6; AF Inst tu.anim (pgNum tu.g tu.n) ;
|
||||
asp = obechat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n =>""
|
||||
s3 = \\g,n =>"" ;
|
||||
sc = obechat.s2 ;
|
||||
c = obechat.c
|
||||
} ;
|
||||
-}
|
||||
|
||||
AdvVP poet khorosho =
|
||||
{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 } ;
|
||||
|
||||
Reference in New Issue
Block a user