forked from GitHub/gf-rgl
implement UsePron
This commit is contained in:
@@ -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} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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} ;
|
||||||
|
|||||||
@@ -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} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user