fix ordinals

This commit is contained in:
Krasimir Angelov
2026-04-15 07:37:33 +02:00
parent 15df5ed37e
commit 26abc63953
4 changed files with 14 additions and 10 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ concrete AdjectiveMkd of Adjective = CatMkd ** open Prelude,ResMkd in {
lin AdAP a ap = {s = \\s,g => a.s ++ ap.s ! s ! g;
isPre = ap.isPre} ;
lin AdjOrd o = {s = \\s,g => o.s; isPre = False} ;
lin AdjOrd o = {s = o.s; isPre = False} ;
lin AdvAP ap adv = {
s = \\s,g => ap.s ! s ! g ++ adv.s;
isPre = False
+1
View File
@@ -32,6 +32,7 @@ lincat AP = {s : Species => GenNum => Str; isPre : Bool} ;
lincat NP = {s : Role => Str; vocative: Str; a : Agr} ;
lincat Num = {s : Str; n : NNumber} ;
lincat Quant = {s : GenNum => Str; sp : Species} ;
lincat Ord = {s : Species => GenNum => Str} ;
lincat Det, DAP = {s : Gender => Str; n : NNumber; sp : Species} ;
lincat VP = Verb ** {compl : Agr => Str} ;
+9 -6
View File
@@ -68,8 +68,11 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
lin DetQuant q num = {s = \\g => q.s ! genNum g (nnum2num num.n) ++ num.s;
n = num.n;
sp = q.sp} ;
lin DetQuantOrd q n o = {s = \\g => q.s ! GSg Masc ++ n.s ++ o.s;
n = n.n; sp = q.sp} ;
lin DetQuantOrd q n o = {
s = \\g => q.s ! GSg Masc ++ n.s ++ o.s ! q.sp ! genNum g (nnum2num n.n);
n = n.n;
sp = Indef
} ;
lin ExtAdvNP np a = {
s = \\r => np.s ! r ++ SOFT_BIND++"," ++ a.s;
vocative = np.vocative ++ SOFT_BIND++"," ++ a.s;
@@ -93,10 +96,10 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
vocative = np.vocative ++ rs.s ! np.a.g ;
a = np.a;
} ;
lin OrdDigits d = {s = d.s} ;
lin OrdNumeral n = {s = n.s} ;
lin OrdNumeralSuperl n a = {s = n.s ++ "нај" ++ BIND ++ a.s ! Indef ! GSg Masc} ;
lin OrdSuperl a = {s = "нај" ++ BIND ++ a.s ! Indef ! GSg Masc} ;
lin OrdDigits d = {s = \\s,gn => d.s} ;
lin OrdNumeral n = {s = \\s,gn => n.s} ;
lin OrdNumeralSuperl n a = {s = \\s,gn => n.s ++ "нај" ++ BIND ++ a.s ! s ! gn} ;
lin OrdSuperl a = {s = \\s,gn => "нај" ++ BIND ++ a.s ! s ! gn} ;
lin PPartNP np v2 = {s = \\r => np.s ! r
++ v2.present ! Imperfective ! Sg ! np.a.p;
vocative = np.vocative ++ v2.present ! Imperfective ! Sg ! np.a.p;