mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
added this_Quant, that_Quant
This commit is contained in:
@@ -31,8 +31,8 @@ linref A, A2 = \a -> a.s ! Indef ! GSg Masc ;
|
||||
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 : Str; sp : Species} ;
|
||||
lincat Det = {s : Str; n : NNumber; sp : Species} ;
|
||||
lincat Quant = {s : GenNum => Str; sp : Species} ;
|
||||
lincat Det = {s : Gender => Str; n : NNumber; sp : Species} ;
|
||||
|
||||
lincat VP = Verb ** {compl : Agr => Str} ;
|
||||
lincat VPSlash = Verb ** {compl : Agr => Str; c2 : Compl} ;
|
||||
|
||||
@@ -27,25 +27,20 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
||||
vocative = \\n => cn.vocative ! n ++ adv.s;
|
||||
g = cn.g
|
||||
} ;
|
||||
lin DefArt = {s = []; sp = Def Unspecified} ;
|
||||
lin DefArt = {s = \\_=>[]; sp = Def Unspecified} ;
|
||||
lin DetCN det cn = {
|
||||
s = \\r => case det.n of {
|
||||
NNum n => det.s ++ cn.s ! det.sp ! n;
|
||||
NCountable => det.s ++ cn.count_form
|
||||
NNum n => det.s ! cn.g ++ cn.s ! det.sp ! n;
|
||||
NCountable => det.s ! cn.g ++ cn.count_form
|
||||
} ;
|
||||
vocative = case det.n of {
|
||||
NNum Sg => det.s ++ cn.vocative ! Sg;
|
||||
_ => det.s ++ cn.vocative ! Pl
|
||||
} ;
|
||||
a = {g = case det.n of {
|
||||
NNum Sg => GSg cn.g;
|
||||
_ => GPl
|
||||
} ;
|
||||
vocative = det.s ! cn.g ++ cn.vocative ! nnum2num det.n ;
|
||||
a = {g = genNum cn.g (nnum2num det.n) ;
|
||||
p = P3};
|
||||
} ;
|
||||
lin DetQuant det num = {s = det.s ++ num.s; n = num.n;
|
||||
sp = det.sp} ;
|
||||
lin IndefArt = {s = []; sp = Indef} ;
|
||||
lin DetQuant q num = {s = \\g => q.s ! genNum g (nnum2num num.n) ++ num.s;
|
||||
n = num.n;
|
||||
sp = q.sp} ;
|
||||
lin IndefArt = {s = \\_=>[]; sp = Indef} ;
|
||||
lin NumPl = {s = []; n = NNum Pl} ;
|
||||
lin NumSg = {s = []; n = NNum Sg} ;
|
||||
lin UseN s = s ;
|
||||
|
||||
@@ -1170,8 +1170,31 @@ mkIQuant : Str -> IQuant = \s -> lin IQuant {s=s} ;
|
||||
mkIDet : Str -> IDet = \s -> lin IDet {s=s} ;
|
||||
mkMU : Str -> MU = \s -> lin MU {s=s; isPre = False} ;
|
||||
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
|
||||
mkQuant : Str -> Quant = \s -> lin Quant {s=s; sp=Indef} ;
|
||||
mkDet : Str -> Det = \s -> lin Det {s=s; n=NNum Sg; sp=Indef} ;
|
||||
mkQuant : Str -> Str -> Str -> Str -> Quant = \m,f,n,pl ->
|
||||
lin Quant {
|
||||
s=table {
|
||||
GSg Masc => m;
|
||||
GSg Fem => f;
|
||||
GSg Neuter => n;
|
||||
GPl => pl
|
||||
} ;
|
||||
sp=Indef
|
||||
} ;
|
||||
|
||||
mkDet = overload {
|
||||
mkDet : Str -> Det = \s -> lin Det {s=\\_=>s; n=NNum Pl; sp=Indef} ;
|
||||
mkDet : Str -> Str -> Str -> Det = \m,f,n ->
|
||||
lin Det {
|
||||
s=table {
|
||||
Masc => m ;
|
||||
Fem => f ;
|
||||
Neuter => n
|
||||
} ;
|
||||
n=NNum Sg;
|
||||
sp=Indef
|
||||
} ;
|
||||
} ;
|
||||
|
||||
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
||||
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
||||
mkPredet : Str -> Predet = \s -> lin Predet {s=s} ;
|
||||
|
||||
@@ -180,6 +180,12 @@ genNum : Gender -> Number -> GenNum = \g,n ->
|
||||
Sg => GSg g ;
|
||||
Pl => GPl
|
||||
} ;
|
||||
|
||||
nnum2num : NNumber -> Number = \n ->
|
||||
case n of {
|
||||
NNum n => n ;
|
||||
NCountable => Pl
|
||||
} ;
|
||||
|
||||
auxBe = {
|
||||
present : Number => Person => Str
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
concrete StructuralMkd of Structural = CatMkd ** open ResMkd,MorphoMkd in {
|
||||
concrete StructuralMkd of Structural = CatMkd ** open ResMkd,MorphoMkd,ParadigmsMkd in {
|
||||
|
||||
lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Masc) P1 ;
|
||||
lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Masc) P2 ;
|
||||
@@ -9,5 +9,7 @@ lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш"
|
||||
lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" GPl P2 ;
|
||||
lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Masc) P2 ;
|
||||
lin they_Pron = mkPron "тие" "нив" "ги" "ним" "им" "нив" "нивен" "нивниот" "нивна" "нивната" "нивно" "нивното" "нивни" "нивните" "им" GPl P3 ;
|
||||
lin this_Quant = mkQuant "овој" "оваа" "ова" "овие" ;
|
||||
lin that_Quant = mkQuant "тој" "таа" "тоа" "тие" ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user