mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-19 08:46:04 -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 Ord = {s : Case => Gender => Number => Str} ;
|
||||||
lincat PN = {s : Str} ;
|
lincat PN = {s : Str} ;
|
||||||
lincat Predet = {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 QCl = {s : ParamX.Tense => Anteriority => Polarity => Str} ;
|
||||||
lincat QS = {s : Str} ;
|
lincat QS = {s : Str} ;
|
||||||
lincat Quant = {
|
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} ;
|
CountNP det np = {s=\\c=>det.s ! c ! Masc ++ "nga" ++ np.s ! Ablat; a=agrgP3 Masc det.n} ;
|
||||||
|
|
||||||
PossPron p = {
|
PossPron p = {
|
||||||
s=\\c,g,n=>case <p.a.gn,p.a.p,g,n> of {
|
s=p.poss;
|
||||||
<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"
|
|
||||||
};
|
|
||||||
sp=Def;
|
sp=Def;
|
||||||
isPoss=True
|
isPoss=True
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -1420,11 +1420,14 @@ mkDet = overload {
|
|||||||
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
||||||
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
||||||
|
|
||||||
mkPron : (nom,acc,dat,ablat,acc_clit,dat_clit : Str) -> GenNum -> Person -> Pron =
|
mkPron : (nom,acc,dat,ablat,acc_clit,dat_clit : Str) ->
|
||||||
\nom,acc,dat,ablat,acc_clit,dat_clit,gn,p -> lin Pron
|
(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];
|
{s = table Case [nom; acc; dat; ablat];
|
||||||
acc_clit = acc_clit;
|
acc_clit = acc_clit;
|
||||||
dat_clit = dat_clit;
|
dat_clit = dat_clit;
|
||||||
|
poss = poss;
|
||||||
a = {gn=gn; p=p}
|
a = {gn=gn; p=p}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,56 @@
|
|||||||
concrete StructuralSqi of Structural = CatSqi ** open ResSqi, ParadigmsSqi in {
|
concrete StructuralSqi of Structural = CatSqi ** open ResSqi, ParadigmsSqi in {
|
||||||
|
|
||||||
lin i_Pron = mkPron "unë" "mua" "mua" "meje" "më" "më" (GSg Masc) P1 ;
|
lin i_Pron = mkPron "unë" "mua" "mua" "meje" "më" "më"
|
||||||
lin youSg_Pron = mkPron "ti" "ty" "ty" "teje" "të" "të" (GSg Masc) P2 ;
|
(\\c,g,n => case <c,g,n> of {
|
||||||
lin he_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i" (GSg Masc) P3 ;
|
<Nom,Masc,Sg> => "im";
|
||||||
lin she_Pron = mkPron "ajo" "atë" "asaj" "asaj" "e" "i" (GSg Fem) P3 ;
|
<_ ,Masc,Sg> => "tim";
|
||||||
lin it_Pron = mkPron "ai" "atë" "atij" "atij" "e" "i" (GSg Masc) P3 ;
|
<Nom,Fem, Sg> => "ime";
|
||||||
lin we_Pron = mkPron "ne" "ne" "neve" "nesh" "na" "na" GPl P1 ;
|
<Acc,Fem, Sg> => "time";
|
||||||
lin youPl_Pron = mkPron "ju" "ju" "juve" "jush" "ju" "ju" GPl P2 ;
|
<_ ,Fem, Sg> => "sime";
|
||||||
lin they_Pron = mkPron "ata" "ata" "atyre" "atyre" "i" "u" GPl P3 ;
|
<_ ,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"
|
lin this_Quant = mkQuant "ky" "këta" "kjo" "këto"
|
||||||
"këtë" "këtyre" "këtë" "këtyre"
|
"këtë" "këtyre" "këtë" "këtyre"
|
||||||
"këtij" "këtyre" "kësaj" "këtyre"
|
"këtij" "këtyre" "kësaj" "këtyre"
|
||||||
|
|||||||
Reference in New Issue
Block a user