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

View File

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

View File

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

View File

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