mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-16 16:29:32 -06:00
The possesive pronouns are changed to be definite by default. added indefinite possesive and reflexive pronouns in extra
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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 ["îò òóê"] ;
|
||||
|
||||
Reference in New Issue
Block a user