mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-18 08:16:05 -06:00
move possessives as part of the pronoun
This commit is contained in:
@@ -42,7 +42,12 @@ concrete CatSqi of Cat = CommonX ** open ParamX,Prelude,ResSqi in {
|
||||
lincat Ord = {s : Case => Gender => Number => Str} ;
|
||||
lincat PN = {s : Str} ;
|
||||
lincat Predet = {s : Str} ;
|
||||
lincat Pron = {s: Case => Str; acc_clit, dat_clit : Str; a : Agr} ;
|
||||
lincat Pron = {
|
||||
s: Case => Str;
|
||||
acc_clit, dat_clit : Str;
|
||||
poss : Case => Gender => Number => Str;
|
||||
a : Agr
|
||||
} ;
|
||||
lincat QCl = {s : ParamX.Tense => Anteriority => Polarity => Str} ;
|
||||
lincat QS = {s : Str} ;
|
||||
lincat Quant = {
|
||||
|
||||
+1
-19
@@ -92,25 +92,7 @@ concrete NounSqi of Noun = CatSqi ** open MorphoSqi, ResSqi, Prelude in {
|
||||
CountNP det np = {s=\\c=>det.s ! c ! Masc ++ "nga" ++ np.s ! Ablat; a=agrgP3 Masc det.n} ;
|
||||
|
||||
PossPron p = {
|
||||
s=\\c,g,n=>case <p.a.gn,p.a.p,g,n> of {
|
||||
<GSg _,P1,Masc,Sg> => case c of {Nom=>"im"; _=>"tim"};
|
||||
<GSg _,P1,Fem,Sg> => case c of {Nom=>"ime"; Acc=>"time"; _=>"sime"};
|
||||
<GSg _,P2,Masc,Sg> => case c of {Nom=>"yt"; _=>"tënd"};
|
||||
<GSg _,P2,Fem,Sg> => case c of {Nom=>"jote"; Acc=>"tënde"; _=>"sate"};
|
||||
<GSg Masc,P3,_,_> => link_clitic!Def!c!g!n++"tij";
|
||||
<GSg Fem,P3,_,_> => link_clitic!Def!c!g!n++"saj";
|
||||
<GPl,P3,_,_> => link_clitic!Def!c!g!n++"tyre";
|
||||
<GSg _,P1,Masc,Pl> => link_clitic!Def!c!g!n++"mi";
|
||||
<GSg _,P1,Fem,Pl> => link_clitic!Def!c!g!n++"mia";
|
||||
<GSg _,P2,Masc,Pl> => link_clitic!Def!c!g!n++"tu";
|
||||
<GSg _,P2,Fem,Pl> => link_clitic!Def!c!g!n++"tua";
|
||||
<GPl,P1,Masc,Sg> => case c of {Nom=>"ynë"; _=>"tonë"};
|
||||
<GPl,P1,Fem,Sg> => case c of {Nom=>"jonë"; Acc=>"tonë"; _=>"sonë"};
|
||||
<GPl,P1,Masc,Pl> => "tanë";
|
||||
<GPl,P1,Fem,Pl> => "tona";
|
||||
<GPl,P2,_,Sg> => case c of {Nom=>"juaj"; _=>"tuaj"};
|
||||
<GPl,P2,_,Pl> => "tuaj"
|
||||
};
|
||||
s=p.poss;
|
||||
sp=Def;
|
||||
isPoss=True
|
||||
} ;
|
||||
|
||||
@@ -1420,11 +1420,14 @@ mkDet = overload {
|
||||
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
||||
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
||||
|
||||
mkPron : (nom,acc,dat,ablat,acc_clit,dat_clit : Str) -> GenNum -> Person -> Pron =
|
||||
\nom,acc,dat,ablat,acc_clit,dat_clit,gn,p -> lin Pron
|
||||
mkPron : (nom,acc,dat,ablat,acc_clit,dat_clit : Str) ->
|
||||
(Case => Gender => Number => Str) ->
|
||||
GenNum -> Person -> Pron =
|
||||
\nom,acc,dat,ablat,acc_clit,dat_clit,poss,gn,p -> lin Pron
|
||||
{s = table Case [nom; acc; dat; ablat];
|
||||
acc_clit = acc_clit;
|
||||
dat_clit = dat_clit;
|
||||
poss = poss;
|
||||
a = {gn=gn; p=p}
|
||||
} ;
|
||||
|
||||
|
||||
@@ -1,13 +1,56 @@
|
||||
concrete StructuralSqi of Structural = CatSqi ** open ResSqi, ParadigmsSqi in {
|
||||
|
||||
lin i_Pron = mkPron "unë" "mua" "mua" "meje" "më" "më" (GSg Masc) P1 ;
|
||||
lin youSg_Pron = mkPron "ti" "ty" "ty" "teje" "të" "të" (GSg Masc) P2 ;
|
||||
lin he_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i" (GSg Masc) P3 ;
|
||||
lin she_Pron = mkPron "ajo" "atë" "asaj" "asaj" "e" "i" (GSg Fem) P3 ;
|
||||
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 i_Pron = mkPron "unë" "mua" "mua" "meje" "më" "më"
|
||||
(\\c,g,n => case <c,g,n> of {
|
||||
<Nom,Masc,Sg> => "im";
|
||||
<_ ,Masc,Sg> => "tim";
|
||||
<Nom,Fem, Sg> => "ime";
|
||||
<Acc,Fem, Sg> => "time";
|
||||
<_ ,Fem, Sg> => "sime";
|
||||
<_ ,Masc,Pl> => link_clitic!Def!c!g!n++"mi";
|
||||
<_ ,Fem, Pl> => link_clitic!Def!c!g!n++"mia"
|
||||
})
|
||||
(GSg Masc) P1 ;
|
||||
lin youSg_Pron = mkPron "ti" "ty" "ty" "teje" "të" "të"
|
||||
(\\c,g,n => case <c,g,n> of {
|
||||
<Nom,Masc,Sg> => "yt";
|
||||
<_ ,Masc,Sg> => "tënd";
|
||||
<Nom,Fem, Sg> => "jote";
|
||||
<Acc,Fem, Sg> => "tënde";
|
||||
<_ ,Fem, Sg> => "sate";
|
||||
<_ ,Masc,Pl> => link_clitic!Def!c!g!n++"tu";
|
||||
<_ ,Fem, Pl> => link_clitic!Def!c!g!n++"tua"
|
||||
})
|
||||
(GSg Masc) P2 ;
|
||||
lin he_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i"
|
||||
(\\c,g,n => link_clitic!Def!c!g!n++"tij")
|
||||
(GSg Masc) P3 ;
|
||||
lin she_Pron = mkPron "ajo" "atë" "asaj" "asaj" "e" "i"
|
||||
(\\c,g,n => link_clitic!Def!c!g!n++"saj")
|
||||
(GSg Fem) P3 ;
|
||||
lin it_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i"
|
||||
(\\c,g,n => link_clitic!Def!c!g!n++"tij")
|
||||
(GSg Masc) P3 ;
|
||||
lin we_Pron = mkPron "ne" "ne" "neve" "nesh" "na" "na"
|
||||
(\\c,g,n => case <c,g,n> of {
|
||||
<Nom,Masc,Sg> => "ynë";
|
||||
<_ ,Masc,Sg> => "tonë";
|
||||
<Nom,Fem, Sg> => "jonë";
|
||||
<Acc,Fem, Sg> => "tonë";
|
||||
<_ ,Fem, Sg> => "sonë";
|
||||
<_ ,Masc,Pl> => "tanë";
|
||||
<_ ,Fem ,Pl> => "tona"
|
||||
})
|
||||
GPl P1 ;
|
||||
lin youPl_Pron = mkPron "ju" "ju" "juve" "jush" "ju" "ju"
|
||||
(\\c,g,n => case <c,n> of {
|
||||
<Nom,Sg> => "juaj";
|
||||
_ => "tuaj"
|
||||
})
|
||||
GPl P2 ;
|
||||
lin they_Pron = mkPron "ata" "ata" "atyre" "atyre" "i" "u"
|
||||
(\\c,g,n => link_clitic!Def!c!g!n++"tyre")
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user