RG and Phrasebook fixes

- added a paradigm for alternative plurals
- fixed usage of alternative plurals in Numerals
- added a distinction between numerals and posessive pronouns
- verb omission and appropriate cases in some uses of to be/to have 
- fixed declination of personal names
- added a gender parameter to pronouns (similar to Polish RG)
- vowel insertion before short adjective suffix
- don't generate short forms for relative adjectives (might need lexicon update)
- minor Phrasebook fixes
This commit is contained in:
Nikita Frolov
2012-12-27 21:04:26 +00:00
parent 22a7d2e007
commit 6560b46e83
11 changed files with 172 additions and 82 deletions
+13 -10
View File
@@ -8,24 +8,27 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
DetCN kazhduj okhotnik = {
s = \\c => case kazhduj.size of {
nom =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g Sg) ++
okhotnik.s ! NF kazhduj.n (extCase c) nom ;
nompl =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g Pl) ++
okhotnik.s ! NF kazhduj.n (extCase c) nompl ;
sgg =>
case kazhduj.c of {
Nom =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
case c of {
PF Nom _ _ =>
kazhduj.s ! AF Nom okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
okhotnik.s ! NF Sg Gen sgg;
_ =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
okhotnik.s ! NF Pl kazhduj.c sgg } ;
okhotnik.s ! NF Pl (extCase c) sgg } ;
plg =>
case kazhduj.c of {
Nom =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
case c of {
PF Nom _ _ =>
kazhduj.s ! AF Nom okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
okhotnik.s ! NF Pl Gen plg ;
_ =>
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g kazhduj.n) ++
okhotnik.s ! NF Pl kazhduj.c plg }
okhotnik.s ! NF Pl (extCase c) plg }
};
n = kazhduj.n ;
p = P3 ;
@@ -151,7 +154,7 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
NumCard c = c ;
NumSg = {s = \\_,_,_ => [] ; n = Sg ; size = nom} ;
NumPl = {s = \\_,_,_ => [] ; n = Pl ; size = plg} ;
NumPl = {s = \\_,_,_ => [] ; n = Pl ; size = nompl} ;
OrdNumeral numeral = variants {} ; ---- TODO; needed to compile Constructors
OrdDigits numeral = variants {} ; ---- TODO; needed to compile Constructors