1
0
forked from GitHub/gf-rgl

change NP to contain GenNum instead of Number and Gender

This commit is contained in:
Krasimir Angelov
2026-03-20 08:14:10 +01:00
parent 1d7b717866
commit 928889b2aa
3 changed files with 15 additions and 11 deletions

View File

@@ -24,7 +24,7 @@ linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V =
linref A, A2 = \a -> a.s ! Indef ! GSg Masc ; linref A, A2 = \a -> a.s ! Indef ! GSg Masc ;
lincat AP = {s : Species => GenNum => Str; isPre : Bool} ; lincat AP = {s : Species => GenNum => Str; isPre : Bool} ;
lincat NP = {s : Str; vocative: Str; n : Number; p : Person; g : Gender} ; lincat NP = {s : Str; vocative: Str; g : GenNum; p : Person} ;
lincat Num = {s : Str; n : Number} ; lincat Num = {s : Str; n : Number} ;
lincat Quant = {s : Str; sp : Species} ; lincat Quant = {s : Str; sp : Species} ;
lincat Det = {s : Str; n : Number; sp : Species} ; lincat Det = {s : Str; n : Number; sp : Species} ;

View File

@@ -31,9 +31,11 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
lin DetCN det cn = { lin DetCN det cn = {
s = det.s ++ cn.s ! det.sp ! det.n; s = det.s ++ cn.s ! det.sp ! det.n;
vocative = det.s ++ cn.vocative ! det.n; vocative = det.s ++ cn.vocative ! det.n;
n = det.n; g = case det.n of {
Sg => GSg cn.g;
Pl => GPl
} ;
p = P3; p = P3;
g = cn.g
} ; } ;
lin DetQuant det num = {s = det.s ++ num.s; n = num.n; lin DetQuant det num = {s = det.s ++ num.s; n = num.n;
sp = det.sp} ; sp = det.sp} ;

View File

@@ -1,11 +1,13 @@
concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in { concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
lin PredVP np vp = {present = \\a => np.s ++ vp.present ! a ! np.n ! np.p ; lin PredVP np vp =
aorist = np.s ++ vp.aorist ! np.n ! np.p ; let n = case np.g of {
participle = {aorist = \\a => np.s ++ vp.participle.aorist ! a ! GSg _ => Sg ;
case np.n of { GPl => Pl
Sg => GSg np.g; }
Pl => GPl in {present = \\a => np.s ++ vp.present ! a ! n ! np.p ;
}; aorist = np.s ++ vp.aorist ! n ! np.p ;
perfect = \\a => np.s ++ vp.participle.perfect ! a}} ; participle = {aorist = \\a => np.s ++ vp.participle.aorist ! a ! np.g;
perfect = \\a => np.s ++ vp.participle.perfect ! a}} ;
} }