mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-27 03:38:55 -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} ;
|
Predet = {s : GenNum => Str} ;
|
||||||
Ord = {s : AForm => Str; nonEmpty : Bool} ;
|
Ord = {s : AForm => Str; nonEmpty : Bool} ;
|
||||||
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
||||||
Quant = {s : GenNum => Str; spec : Species} ;
|
Quant = {s : AForm => Str; spec : Species} ;
|
||||||
|
|
||||||
-- Numeral
|
-- Numeral
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,20 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
|
|||||||
open ResBul, Coordination, Prelude in {
|
open ResBul, Coordination, Prelude in {
|
||||||
|
|
||||||
lin
|
lin
|
||||||
GenNP np = {s = \\gn => np.s ! Gen (aform gn Def Nom); spec=Indef} ;
|
PossIndefPron p = {
|
||||||
|
s = \\aform => p.gen ! (indefAForm ! aform) ;
|
||||||
|
spec = Indef
|
||||||
|
} ;
|
||||||
|
|
||||||
GenNPIndef np = {s = \\gn => np.s ! Gen (aform gn Indef Nom); spec=Indef} ;
|
ReflQuant = {
|
||||||
|
s = \\aform => reflPron ! aform ;
|
||||||
|
spec = Indef
|
||||||
|
} ;
|
||||||
|
|
||||||
|
ReflIndefQuant = {
|
||||||
|
s = \\aform => reflPron ! (indefAForm ! aform) ;
|
||||||
|
spec = Indef
|
||||||
|
} ;
|
||||||
|
|
||||||
i8fem_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Fem) P1 ;
|
i8fem_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Fem) P1 ;
|
||||||
i8neut_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Neut) P1 ;
|
i8neut_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Neut) P1 ;
|
||||||
@@ -26,9 +37,30 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
|
|||||||
DMascDef | DMascDefNom | DMascPersonalDef | DMascPersonalDefNom | DFemDef | DNeutDef => "åäíèòå"
|
DMascDef | DMascDefNom | DMascPersonalDef | DMascPersonalDefNom | DFemDef | DNeutDef => "åäíèòå"
|
||||||
} ;
|
} ;
|
||||||
n = Pl;
|
n = Pl;
|
||||||
empty = False
|
nonEmpty = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UttImpSg8fem pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
|
UttImpSg8fem pol imp = {s = pol.s ++ imp.s ! pol.p ! GSg Fem} ;
|
||||||
UttImpSg8neut 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 ** {
|
abstract ExtraBulAbs = Extra ** {
|
||||||
|
|
||||||
fun
|
fun
|
||||||
GenNPIndef : NP -> Quant ;
|
|
||||||
|
|
||||||
-- Feminine variants of pronouns (those in $Structural$ are
|
-- Feminine variants of pronouns (those in $Structural$ are
|
||||||
-- masculine, which is the default when gender is unknown).
|
-- masculine, which is the default when gender is unknown).
|
||||||
|
|
||||||
|
PossIndefPron : Pron -> Quant ;
|
||||||
|
|
||||||
|
ReflQuant : Quant ;
|
||||||
|
ReflIndefQuant : Quant ;
|
||||||
|
|
||||||
i8fem_Pron : Pron ;
|
i8fem_Pron : Pron ;
|
||||||
i8neut_Pron : Pron ;
|
i8neut_Pron : Pron ;
|
||||||
|
|
||||||
|
|||||||
@@ -20,12 +20,13 @@ oper
|
|||||||
mkDeterminerPl : Str -> {s : DGender => Role => Str ; n : Number; countable : Bool ; spec : Species} = \vsicki ->
|
mkDeterminerPl : Str -> {s : DGender => Role => Str ; n : Number; countable : Bool ; spec : Species} = \vsicki ->
|
||||||
{s = \\_,_ => vsicki; n = Pl; countable = False; spec = Indef} ;
|
{s = \\_,_ => vsicki; n = Pl; countable = False; spec = Indef} ;
|
||||||
|
|
||||||
mkQuant : Str -> Str -> Str -> Str -> {s : GenNum => Str; spec : Species} = \tozi,tazi,towa,tezi -> {
|
mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; spec : Species} = \tozi,tazi,towa,tezi -> {
|
||||||
s = \\gn => case gn of {
|
s = \\aform => case aform of {
|
||||||
GSg Masc => tozi ;
|
ASg Masc _ => tozi ;
|
||||||
GSg Fem => tazi ;
|
ASgMascDefNom => tozi ;
|
||||||
GSg Neut => towa ;
|
ASg Fem _ => tazi ;
|
||||||
GPl => tezi
|
ASg Neut _ => towa ;
|
||||||
|
APl _ => tezi
|
||||||
};
|
};
|
||||||
spec = Indef
|
spec = Indef
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetSg quant ord = {
|
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 ;
|
ord.s ! aform (gennum g Sg) quant.spec c ;
|
||||||
n = Sg ;
|
n = Sg ;
|
||||||
countable = False ;
|
countable = False ;
|
||||||
@@ -50,7 +50,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
|
|
||||||
DetPl quant num ord = {
|
DetPl quant num ord = {
|
||||||
s = \\g,c => num.s ! dgenderSpecies g quant.spec c ++
|
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 ;
|
ord.s ! aform (gennum g num.n) (case num.nonEmpty of {False => quant.spec; _ => Indef}) c ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
countable = num.nonEmpty ;
|
countable = num.nonEmpty ;
|
||||||
@@ -58,7 +58,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
PossPron p = {
|
PossPron p = {
|
||||||
s = \\gn => p.gen ! aform gn Indef RSubj ;
|
s = p.gen ;
|
||||||
spec = Indef
|
spec = Indef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
--- first_Ord = ss "first" ; DEPRECATED
|
--- first_Ord = ss "first" ; DEPRECATED
|
||||||
for_Prep = mkPrep "çà" Acc ;
|
for_Prep = mkPrep "çà" Acc ;
|
||||||
from_Prep = mkPrep "îò" Acc ;
|
from_Prep = mkPrep "îò" Acc ;
|
||||||
he_Pron = mkPron "òîé" "íåãî" "ìó" "ñâîé" "ñâîÿ" "ñâîÿò" "ñâîÿ" "ñâîÿòà" "ñâîå" "ñâîåòî" "ñâîè" "ñâîèòå" (GSg Masc) P3 ;
|
he_Pron = mkPron "òîé" "íåãî" "ìó" "íåãîâ" "íåãîâèÿ" "íåãîâèÿò" "íåãîâà" "íåãîâàòà" "íåãîâî" "íåãîâîòî" "íåãîâè" "íåãîâèòå" (GSg Masc) P3 ;
|
||||||
here_Adv = ss "òóê" ;
|
here_Adv = ss "òóê" ;
|
||||||
here7to_Adv = ss ["äî òóê"] ;
|
here7to_Adv = ss ["äî òóê"] ;
|
||||||
here7from_Adv = ss ["îò òóê"] ;
|
here7from_Adv = ss ["îò òóê"] ;
|
||||||
|
|||||||
Reference in New Issue
Block a user