The possesive pronouns are changed to be definite by default. added indefinite possesive and reflexive pronouns in extra

This commit is contained in:
krasimir
2008-02-27 08:42:43 +00:00
parent 775c4cc34e
commit 31a6a99810
6 changed files with 55 additions and 19 deletions

View File

@@ -73,7 +73,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
Predet = {s : GenNum => Str} ;
Ord = {s : AForm => Str; nonEmpty : Bool} ;
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
Quant = {s : GenNum => Str; spec : Species} ;
Quant = {s : AForm => Str; spec : Species} ;
-- Numeral

View File

@@ -2,10 +2,21 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
open ResBul, Coordination, Prelude in {
lin
GenNP np = {s = \\gn => np.s ! Gen (aform gn Def Nom); spec=Indef} ;
GenNPIndef np = {s = \\gn => np.s ! Gen (aform gn Indef Nom); spec=Indef} ;
PossIndefPron p = {
s = \\aform => p.gen ! (indefAForm ! aform) ;
spec = Indef
} ;
ReflQuant = {
s = \\aform => reflPron ! aform ;
spec = Indef
} ;
ReflIndefQuant = {
s = \\aform => reflPron ! (indefAForm ! aform) ;
spec = Indef
} ;
i8fem_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Fem) P1 ;
i8neut_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Neut) P1 ;
@@ -26,9 +37,30 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
DMascDef | DMascDefNom | DMascPersonalDef | DMascPersonalDefNom | DFemDef | DNeutDef => "åäíèòå"
} ;
n = Pl;
empty = False
nonEmpty = True
} ;
UttImpSg8fem pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
UttImpSg8neut pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
oper
reflPron : AForm => Str =
table {
ASg Masc Indef => "ñâîé" ;
ASg Masc Def => "ñâîÿ" ;
ASgMascDefNom => "ñâîÿò" ;
ASg Fem Indef => "ñâîÿ" ;
ASg Fem Def => "ñâîÿòà" ;
ASg Neut Indef => "ñâîå" ;
ASg Neut Def => "ñâîåòî" ;
APl Indef => "ñâîè" ;
APl Def => "ñâîèòå"
} ;
indefAForm : AForm => AForm =
table {
ASg g _ => ASg g Indef ;
ASgMascDefNom => ASg Masc Indef ;
APl _ => APl Indef
} ;
}

View File

@@ -1,11 +1,14 @@
abstract ExtraBulAbs = Extra ** {
fun
GenNPIndef : NP -> Quant ;
-- Feminine variants of pronouns (those in $Structural$ are
-- masculine, which is the default when gender is unknown).
PossIndefPron : Pron -> Quant ;
ReflQuant : Quant ;
ReflIndefQuant : Quant ;
i8fem_Pron : Pron ;
i8neut_Pron : Pron ;

View File

@@ -20,13 +20,14 @@ oper
mkDeterminerPl : Str -> {s : DGender => Role => Str ; n : Number; countable : Bool ; spec : Species} = \vsicki ->
{s = \\_,_ => vsicki; n = Pl; countable = False; spec = Indef} ;
mkQuant : Str -> Str -> Str -> Str -> {s : GenNum => Str; spec : Species} = \tozi,tazi,towa,tezi -> {
s = \\gn => case gn of {
GSg Masc => tozi ;
GSg Fem => tazi ;
GSg Neut => towa ;
GPl => tezi
};
mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; spec : Species} = \tozi,tazi,towa,tezi -> {
s = \\aform => case aform of {
ASg Masc _ => tozi ;
ASgMascDefNom => tozi ;
ASg Fem _ => tazi ;
ASg Neut _ => towa ;
APl _ => tezi
};
spec = Indef
} ;

View File

@@ -41,7 +41,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
} ;
DetSg quant ord = {
s = \\g,c => quant.s ! gennum g Sg ++
s = \\g,c => quant.s ! aform (gennum g Sg) Def c ++
ord.s ! aform (gennum g Sg) quant.spec c ;
n = Sg ;
countable = False ;
@@ -50,7 +50,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
DetPl quant num ord = {
s = \\g,c => num.s ! dgenderSpecies g quant.spec c ++
quant.s ! gennum g num.n ++
quant.s ! aform (gennum g num.n) Def c ++
ord.s ! aform (gennum g num.n) (case num.nonEmpty of {False => quant.spec; _ => Indef}) c ;
n = num.n ;
countable = num.nonEmpty ;
@@ -58,7 +58,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
} ;
PossPron p = {
s = \\gn => p.gen ! aform gn Indef RSubj ;
s = p.gen ;
spec = Indef
} ;

View File

@@ -50,7 +50,7 @@ concrete StructuralBul of Structural = CatBul **
--- first_Ord = ss "first" ; DEPRECATED
for_Prep = mkPrep "çà" Acc ;
from_Prep = mkPrep "îò" Acc ;
he_Pron = mkPron "òîé" "íåãî" "ìó" "ñâîé" "ñâîÿ" "ñâîÿò" "ñâîÿ" "ñâîÿòà" "ñâîå" "ñâîåòî" "ñâîè" "ñâîèòå" (GSg Masc) P3 ;
he_Pron = mkPron "òîé" "íåãî" "ìó" "íåãîâ" "íåãîâèÿ" "íåãîâèÿò" "íåãîâà" "íåãîâàòà" "íåãîâî" "íåãîâîòî" "íåãîâè" "íåãîâèòå" (GSg Masc) P3 ;
here_Adv = ss "òóê" ;
here7to_Adv = ss ["äî òóê"] ;
here7from_Adv = ss ["îò òóê"] ;