some more 1.4 functions in russian

This commit is contained in:
aarne
2008-06-17 06:55:02 +00:00
parent 90ed5a2529
commit 1379b1a8f6
4 changed files with 125 additions and 33 deletions

View File

@@ -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"]

View File

@@ -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 ;

View File

@@ -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} ;
}

View File

@@ -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 } ;