added this_Quant

This commit is contained in:
Krasimir Angelov
2024-12-05 21:57:03 +01:00
parent 7b7752c308
commit 4e034425b9
4 changed files with 82 additions and 8 deletions

View File

@@ -19,8 +19,8 @@ lincat Decimal = {s : Str; n : Number; hasDot : Bool} ;
lincat AP = {s: Species => Case => Gender => Number => Str} ;
lincat CN = Noun ;
lincat Num = {s : Str; n : Number} ;
lincat Quant = {s : Str; spec : Species} ;
lincat Det = {s : Str; spec : Species; n : Number} ;
lincat Quant = {s : Case => Gender => Number => Str; spec : Species} ;
lincat Det = {s : Case => Gender => Str; spec : Species; n : Number} ;
lincat NP = {s: Case => Str; a : Agr} ;
lincat Pron = {s: Case => Str; acc_clit, dat_clit : Str; a : Agr} ;

View File

@@ -4,14 +4,14 @@ concrete NounSqi of Noun = CatSqi ** open MorphoSqi, ResSqi in {
lin
DetCN det cn = {
s = \\c => det.s ++ cn.s ! det.spec ! c ! det.n ;
s = \\c => det.s ! c ! cn.g ++ cn.s ! det.spec ! c ! det.n ;
a = agrgP3 cn.g det.n
} ;
UsePron p = p ;
DetQuant quant num = {
s = quant.s ++ num.s ;
s = \\c,g => quant.s ! c ! g ! num.n ++ num.s ;
n = num.n ;
spec = quant.spec
} ;
@@ -20,12 +20,12 @@ concrete NounSqi of Noun = CatSqi ** open MorphoSqi, ResSqi in {
NumPl = {s = []; n = Pl} ;
DefArt = {
s = [] ;
s = \\c,g,n => [] ;
spec = Def
} ;
IndefArt = {
s = "një" ;
s = \\c,g => table Number ["një"; []] ;
spec = Indef
} ;

View File

@@ -1231,8 +1231,78 @@ mkInterj : Str -> Interj = \s -> lin Interj {s=s} ;
mkVoc : Str -> Voc = \s -> lin Voc {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; spec=Indef} ;
mkDet : Str -> Number -> Det = \s,n -> lin Det {s=s; spec=Indef; n=n} ;
oper mkQuant : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Quant =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 -> lin Quant
{ s = table {
Nom => table {
Masc => table {
Sg => f1 ;
Pl => f2
} ;
Fem => table {
Sg => f3 ;
Pl => f4
}
} ;
Acc => table {
Masc => table {
Sg => f5 ;
Pl => f6
} ;
Fem => table {
Sg => f7 ;
Pl => f8
}
} ;
Dat => table {
Masc => table {
Sg => f9 ;
Pl => f10
} ;
Fem => table {
Sg => f11 ;
Pl => f12
}
} ;
Ablat => table {
Masc => table {
Sg => f13 ;
Pl => f14
} ;
Fem => table {
Sg => f15 ;
Pl => f16
}
}
} ;
spec = Indef
} ;
oper mkDet : (_,_,_,_,_,_,_,_ : Str) -> Number -> Det =
\f1,f2,f3,f4,f5,f6,f7,f8,n -> lin Det
{ s = table {
Nom => table {
Masc => f1 ;
Fem => f2
} ;
Acc => table {
Masc => f3 ;
Fem => f4
} ;
Dat => table {
Masc => f5 ;
Fem => f6
} ;
Ablat => table {
Masc => f7 ;
Fem => f8
}
} ;
spec = Indef ;
n = n
} ;
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;

View File

@@ -8,5 +8,9 @@ lin it_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i" (GSg Masc) P3 ;
lin we_Pron = mkPron "ne" "ne" "neve" "nesh" "na" "na" GPl P1 ;
lin youPl_Pron = mkPron "ju" "ju" "juve" "jush" "ju" "ju" GPl P2 ;
lin they_Pron = mkPron "ata" "ata" "atyre" "atyre" "i" "u" GPl P3 ;
lin this_Quant = mkQuant "ky" "këta" "kjo" "këto"
"këtë" "këtyre" "këtë" "këtyre"
"këtij" "këtyre" "kësaj" "këtyre"
"këtij" "këtyre" "kësaj" "këtyre" ;
}