fix the gender agreement in DetQuantOrd

This commit is contained in:
Krasimir Angelov
2023-12-15 14:01:39 +01:00
parent 441c8305dc
commit 4aa8f87f65
5 changed files with 5 additions and 14 deletions

View File

@@ -72,13 +72,12 @@ lincat
Det, DAP = { Det, DAP = {
s : DetTable ; s : DetTable ;
type : DetType ; -- main purpose is to avoid emptiness of articles, but can be reused later for something else type : DetType ; -- main purpose is to avoid emptiness of articles, but can be reused later for something else
g : Gender ;
c : Case ; c : Case ;
size : NumSize size : NumSize
} ; } ;
Predet = ResRus.Adjective ** {size : NumSize} ; Predet = ResRus.Adjective ** {size : NumSize} ;
IQuant = ResRus.Adjective ** {g: Gender; c: Case} ; IQuant = ResRus.Adjective ** {g: Gender; c: Case} ;
Quant = ResRus.Adjective ** {g: Gender; c: Case; type: DetType} ; Quant = ResRus.Adjective ** {c: Case; type: DetType} ;
Numeral = NumeralForms ; Numeral = NumeralForms ;
Num = NumDet ; Num = NumDet ;
Card = NumDet ; Card = NumDet ;

View File

@@ -15,7 +15,6 @@ concrete ConjunctionRus of Conjunction =
preferShort : ShortFormPreference preferShort : ShortFormPreference
} ; } ;
[DAP] = {s1,s2 : DetTable ; [DAP] = {s1,s2 : DetTable ;
g : Gender ;
c : Case ; c : Case ;
size : NumSize size : NumSize
} ; } ;
@@ -67,7 +66,6 @@ concrete ConjunctionRus of Conjunction =
-- : DAP -> DAP -> ListDAP ; -- -- : DAP -> DAP -> ListDAP ; --
BaseDAP x y = twoTable3 Gender Animacy Case x y ** { BaseDAP x y = twoTable3 Gender Animacy Case x y ** {
g = conjGender x.g y.g ;
c = y.c ; c = y.c ;
size = conjSize x.size y.size ; -- different genders -> plural? size = conjSize x.size y.size ; -- different genders -> plural?
} ; } ;

View File

@@ -218,7 +218,7 @@ lin
} ; } ;
UseDAP det = UseDAP det =
let g = det.g in { let g = Neut in {
s=case det.type of { s=case det.type of {
EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;

View File

@@ -45,7 +45,7 @@ lin
-- : Det -> NP ; -- these five -- : Det -> NP ; -- these five
DetNP det = DetNP det =
let g = det.g in { let g = Neut in {
s=case det.type of { s=case det.type of {
EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; EmptyIndef => \\cas => a_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ; EmptyDef => \\cas => the_Det.s ! g ! Inanimate ! cas ++ det.s ! g ! Inanimate ! cas ;
@@ -102,7 +102,7 @@ lin
DetQuantOrd quant num ord = { DetQuantOrd quant num ord = {
s=\\g,a,cas => num.s ! g ! a ! cas s=\\g,a,cas => num.s ! g ! a ! cas
++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! cas ++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! cas
++ (adjFormsAdjective ord).s ! gennum quant.g (animNumSizeNum Inanimate cas num.size) ! Inanimate ! numSizeCase cas num.size ; ++ (adjFormsAdjective ord).s ! gennum g (animNumSizeNum Inanimate cas num.size) ! Inanimate ! numSizeCase cas num.size ;
type=quant.type ; type=quant.type ;
g=quant.g ; g=quant.g ;
c=quant.c ; c=quant.c ;
@@ -139,7 +139,6 @@ lin
s=mkPronTable pron.poss ; s=mkPronTable pron.poss ;
type=NormalDet ; type=NormalDet ;
short=\\a=>[] ; short=\\a=>[] ;
g=Neut ;
c=Nom ; c=Nom ;
preferShort=PreferFull preferShort=PreferFull
} ; } ;
@@ -226,7 +225,6 @@ lin
type=EmptyDef ; type=EmptyDef ;
short=\\a=>[] ; short=\\a=>[] ;
c=Nom ; c=Nom ;
g=Neut ;
size=Num1 ; size=Num1 ;
preferShort=PreferFull preferShort=PreferFull
} ; } ;
@@ -236,7 +234,6 @@ lin
type=EmptyIndef ; type=EmptyIndef ;
short=\\a=>[] ; short=\\a=>[] ;
c=Nom ; c=Nom ;
g=Neut ;
size=Num1 ; size=Num1 ;
preferShort=PreferFull preferShort=PreferFull
} ; } ;

View File

@@ -27,21 +27,18 @@ lin
this_Quant = (adjFormsAdjective this_forms) ** { this_Quant = (adjFormsAdjective this_forms) ** {
type=NormalDet ; type=NormalDet ;
preferShort=PreferFull ; preferShort=PreferFull ;
g=Neut ;
c=Nom c=Nom
} ; } ;
-- : Quant ; -- : Quant ;
that_Quant = (adjFormsAdjective that_forms) ** { that_Quant = (adjFormsAdjective that_forms) ** {
type=NormalDet ; type=NormalDet ;
preferShort=PreferFull ; preferShort=PreferFull ;
g=Neut ;
c=Nom c=Nom
} ; } ;
-- : Quant ; -- : Quant ;
no_Quant = (adjFormsAdjective (makeAdjectiveForms "никакой" "" "3b" PreferFull)) ** { no_Quant = (adjFormsAdjective (makeAdjectiveForms "никакой" "" "3b" PreferFull)) ** {
type=NormalDet ; type=NormalDet ;
preferShort=PreferFull ; preferShort=PreferFull ;
g=Neut ;
c=Nom c=Nom
} ; } ;