implement UsePron

This commit is contained in:
Krasimir Angelov
2026-03-20 08:27:46 +01:00
parent 928889b2aa
commit 74848d304e
5 changed files with 14 additions and 13 deletions

View File

@@ -1,3 +1,3 @@
concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in { concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in {
lin PrepNP p np = {s = p.s ++ np.s} ; lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ;
} }

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; g : GenNum; p : Person} ; lincat NP = {s : Role => 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

@@ -29,7 +29,7 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
} ; } ;
lin DefArt = {s = []; sp = Def Unspecified} ; lin DefArt = {s = []; sp = Def Unspecified} ;
lin DetCN det cn = { lin DetCN det cn = {
s = det.s ++ cn.s ! det.sp ! det.n; s = \\r => det.s ++ cn.s ! det.sp ! det.n;
vocative = det.s ++ cn.vocative ! det.n; vocative = det.s ++ cn.vocative ! det.n;
g = case det.n of { g = case det.n of {
Sg => GSg cn.g; Sg => GSg cn.g;
@@ -43,4 +43,5 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
lin NumPl = {s = []; n = Pl} ; lin NumPl = {s = []; n = Pl} ;
lin NumSg = {s = []; n = Sg} ; lin NumSg = {s = []; n = Sg} ;
lin UseN s = s ; lin UseN s = s ;
lin UsePron p = p ** {vocative=p.s ! RSubj} ;
} }

View File

@@ -5,9 +5,9 @@ concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
GSg _ => Sg ; GSg _ => Sg ;
GPl => Pl GPl => Pl
} }
in {present = \\a => np.s ++ vp.present ! a ! n ! np.p ; in {present = \\a => np.s ! RSubj ++ vp.present ! a ! n ! np.p ;
aorist = np.s ++ vp.aorist ! n ! np.p ; aorist = np.s ! RSubj ++ vp.aorist ! n ! np.p ;
participle = {aorist = \\a => np.s ++ vp.participle.aorist ! a ! np.g; participle = {aorist = \\a => np.s ! RSubj ++ vp.participle.aorist ! a ! np.g;
perfect = \\a => np.s ++ vp.participle.perfect ! a}} ; perfect = \\a => np.s ! RSubj ++ vp.participle.perfect ! a}} ;
} }

View File

@@ -2,12 +2,12 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n
! p ! p
++ np.s; ++ np.s ! RObj Acc ;
aorist = \\n,p => vps.aorist ! n ! p ++ np.s; aorist = \\n,p => vps.aorist ! n ! p ++ np.s ! RObj Acc;
imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s; imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s ! RObj Acc;
imperative = \\a,n => vps.imperative ! a ! n ++ np.s; imperative = \\a,n => vps.imperative ! a ! n ++ np.s ! RObj Acc;
participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s; participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s ! RObj Acc;
perfect = \\a => vps.participle.perfect ! a ++ np.s}} ; perfect = \\a => vps.participle.perfect ! a ++ np.s ! RObj Acc}} ;
lin SlashV2a v = v ; lin SlashV2a v = v ;
} }