mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
fix ordinals
This commit is contained in:
@@ -39,9 +39,9 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
|
||||
|
||||
DetQuant quant num = {
|
||||
s = quant.s ! num.hasCard ! num.n ++ num.s ! quant.isDef ! Nom;
|
||||
sp = \\g,hasAdj,c => case <num.hasCard,num.n> of {
|
||||
<False,Sg> => quant.sp ! g ! hasAdj ! num.n ! c ++ num.s ! quant.isDef ! Nom ;
|
||||
_ => quant.s ! True ! num.n ++ num.sp ! quant.isDef ! npcase2case c
|
||||
sp = \\g,hasAdj,c => case num.hasCard of {
|
||||
False => quant.sp ! g ! hasAdj ! num.n ! c ++ num.s ! quant.isDef ! Nom ;
|
||||
_ => quant.s ! True ! num.n ++ num.sp ! quant.isDef ! npcase2case c
|
||||
} ;
|
||||
n = num.n ;
|
||||
hasNum = num.hasCard
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user