mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
support linking clitic
This commit is contained in:
@@ -27,15 +27,21 @@ lin InflectionA = \x -> {
|
|||||||
s1="" ;
|
s1="" ;
|
||||||
s2=frameTable (
|
s2=frameTable (
|
||||||
tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++
|
tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++
|
||||||
tr (intagAttr "th" "rowspan=\"2\"" "Nom" ++ th "Masc" ++ td (x.s ! Nom ! Masc ! Sg) ++ td (x.s ! Nom ! Masc ! Pl)) ++
|
tr (intagAttr "th" "rowspan=\"2\"" "Nom" ++ th "Masc" ++ td (y ! Nom ! Masc ! Sg) ++ td (y ! Nom ! Masc ! Pl)) ++
|
||||||
tr (th "Fem" ++ td (x.s ! Nom ! Fem ! Sg) ++ td (x.s ! Nom ! Fem ! Pl)) ++
|
tr (th "Fem" ++ td (y ! Nom ! Fem ! Sg) ++ td (y ! Nom ! Fem ! Pl)) ++
|
||||||
tr (intagAttr "th" "rowspan=\"2\"" "Acc" ++ th "Masc" ++ td (x.s ! Acc ! Masc ! Sg) ++ td (x.s ! Acc ! Masc ! Pl)) ++
|
tr (intagAttr "th" "rowspan=\"2\"" "Acc" ++ th "Masc" ++ td (y ! Acc ! Masc ! Sg) ++ td (y ! Acc ! Masc ! Pl)) ++
|
||||||
tr (th "Fem" ++ td (x.s ! Acc ! Fem ! Sg) ++ td (x.s ! Acc ! Fem ! Pl)) ++
|
tr (th "Fem" ++ td (y ! Acc ! Fem ! Sg) ++ td (y ! Acc ! Fem ! Pl)) ++
|
||||||
tr (intagAttr "th" "rowspan=\"2\"" "Dat" ++ th "Masc" ++ td (x.s ! Dat ! Masc ! Sg) ++ td (x.s ! Dat ! Masc ! Pl)) ++
|
tr (intagAttr "th" "rowspan=\"2\"" "Dat" ++ th "Masc" ++ td (y ! Dat ! Masc ! Sg) ++ td (y ! Dat ! Masc ! Pl)) ++
|
||||||
tr (th "Fem" ++ td (x.s ! Dat ! Fem ! Sg) ++ td (x.s ! Dat ! Fem ! Pl)) ++
|
tr (th "Fem" ++ td (y ! Dat ! Fem ! Sg) ++ td (y ! Dat ! Fem ! Pl)) ++
|
||||||
tr (intagAttr "th" "rowspan=\"2\"" "Ablat" ++ th "Masc" ++ td (x.s ! Ablat ! Masc ! Sg) ++ td (x.s ! Ablat ! Masc ! Pl)) ++
|
tr (intagAttr "th" "rowspan=\"2\"" "Ablat" ++ th "Masc" ++ td (y ! Ablat ! Masc ! Sg) ++ td (y ! Ablat ! Masc ! Pl)) ++
|
||||||
tr (th "Fem" ++ td (x.s ! Ablat ! Fem ! Sg) ++ td (x.s ! Ablat ! Fem ! Pl))) ;
|
tr (th "Fem" ++ td (y ! Ablat ! Fem ! Sg) ++ td (y ! Ablat ! Fem ! Pl))) ;
|
||||||
s3=[]
|
s3=[]
|
||||||
|
} where {
|
||||||
|
y : Case => Gender => Number => Str =
|
||||||
|
\\c,g,n => case x.clit of {
|
||||||
|
True => link_clitic ! Indef ! c ! g ! n ++ x.s ! c ! g ! n ;
|
||||||
|
False => x.s ! c ! g ! n
|
||||||
|
} ;
|
||||||
} ;
|
} ;
|
||||||
lin InflectionV = \x -> {
|
lin InflectionV = \x -> {
|
||||||
t="verb" ;
|
t="verb" ;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
resource MorphoSqi = open CatSqi, ResSqi, Predef in {
|
resource MorphoSqi = open CatSqi, ResSqi, Predef, Prelude in {
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
@@ -25544,7 +25544,8 @@ mkA001 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA002 : Str -> A ;
|
mkA002 : Str -> A ;
|
||||||
@@ -25591,7 +25592,8 @@ mkA002 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA003 : Str -> A ;
|
mkA003 : Str -> A ;
|
||||||
@@ -25638,7 +25640,8 @@ mkA003 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA004 : Str -> A ;
|
mkA004 : Str -> A ;
|
||||||
@@ -25686,7 +25689,8 @@ mkA004 base =
|
|||||||
Pl => base_1+"ak"
|
Pl => base_1+"ak"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = False
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA004"
|
_ => error "Can't apply paradigm mkA004"
|
||||||
} ;
|
} ;
|
||||||
@@ -25735,7 +25739,8 @@ mkA005 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA006 : Str -> A ;
|
mkA006 : Str -> A ;
|
||||||
@@ -25783,7 +25788,8 @@ mkA006 base =
|
|||||||
Pl => base_1+"e"+base_2
|
Pl => base_1+"e"+base_2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA006"
|
_ => error "Can't apply paradigm mkA006"
|
||||||
} ;
|
} ;
|
||||||
@@ -25832,7 +25838,8 @@ mkA007 base_1 =
|
|||||||
Pl => base_1+"e"
|
Pl => base_1+"e"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA008 : Str -> A ;
|
mkA008 : Str -> A ;
|
||||||
@@ -25879,7 +25886,8 @@ mkA008 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA009 : Str -> A ;
|
mkA009 : Str -> A ;
|
||||||
@@ -25927,7 +25935,8 @@ mkA009 base =
|
|||||||
Pl => base_1+"a"+base_2
|
Pl => base_1+"a"+base_2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA009"
|
_ => error "Can't apply paradigm mkA009"
|
||||||
} ;
|
} ;
|
||||||
@@ -25977,7 +25986,8 @@ mkA010 base =
|
|||||||
Pl => "t"+base_1+"a"
|
Pl => "t"+base_1+"a"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = False
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA010"
|
_ => error "Can't apply paradigm mkA010"
|
||||||
} ;
|
} ;
|
||||||
@@ -26027,7 +26037,8 @@ mkA011 base =
|
|||||||
Pl => "to"+base_1+"a"
|
Pl => "to"+base_1+"a"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = False
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA011"
|
_ => error "Can't apply paradigm mkA011"
|
||||||
} ;
|
} ;
|
||||||
@@ -26077,7 +26088,8 @@ mkA012 base =
|
|||||||
Pl => base_1+"ë"
|
Pl => base_1+"ë"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA012"
|
_ => error "Can't apply paradigm mkA012"
|
||||||
} ;
|
} ;
|
||||||
@@ -26126,7 +26138,8 @@ mkA013 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA014 : Str -> A ;
|
mkA014 : Str -> A ;
|
||||||
@@ -26174,7 +26187,8 @@ mkA014 base =
|
|||||||
Pl => base_1+"u"+base_2+"r"
|
Pl => base_1+"u"+base_2+"r"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
};
|
};
|
||||||
_ => error "Can't apply paradigm mkA014"
|
_ => error "Can't apply paradigm mkA014"
|
||||||
} ;
|
} ;
|
||||||
@@ -26223,7 +26237,8 @@ mkA015 base_1 =
|
|||||||
Pl => base_1
|
Pl => base_1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkV001 : Str -> V ;
|
mkV001 : Str -> V ;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
resource ResSqi = ParamX-[Tense,Past,Pres] ** {
|
resource ResSqi = ParamX-[Tense,Past,Pres] ** open Prelude in {
|
||||||
|
|
||||||
oper Compl = {s : Str} ;
|
oper Compl = {s : Str} ;
|
||||||
|
|
||||||
@@ -50,9 +50,9 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
oper Adj = {s: Case => Gender => Number => Str} ; -- 462
|
oper Adj = {s: Case => Gender => Number => Str; clit: Bool} ; -- 462
|
||||||
oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj =
|
oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Bool -> Adj =
|
||||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 ->
|
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,clit ->
|
||||||
{ s = table {
|
{ s = table {
|
||||||
Nom => table {
|
Nom => table {
|
||||||
Masc => table {
|
Masc => table {
|
||||||
@@ -94,7 +94,8 @@ oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj =
|
|||||||
Pl => f16
|
Pl => f16
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
clit = clit
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
@@ -207,4 +208,40 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
oper link_clitic : Species => Case => Gender => Number => Str =
|
||||||
|
table {
|
||||||
|
Indef => table {
|
||||||
|
Nom => table {
|
||||||
|
Masc => table {
|
||||||
|
Sg => "i" ;
|
||||||
|
Pl => "të"
|
||||||
|
} ;
|
||||||
|
Fem => table {
|
||||||
|
Sg => "e" ;
|
||||||
|
Pl => "të"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
_ => \\_,_ => "të"
|
||||||
|
} ;
|
||||||
|
Def => table {
|
||||||
|
Nom => table {
|
||||||
|
Masc => table {
|
||||||
|
Sg => "i" ;
|
||||||
|
Pl => "e"
|
||||||
|
} ;
|
||||||
|
Fem => table {
|
||||||
|
Sg => "e" ;
|
||||||
|
Pl => "e"
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
Acc => \\_,_ => "e" ;
|
||||||
|
_ => table {
|
||||||
|
Masc => \\_ => "të" ;
|
||||||
|
Fem => table {
|
||||||
|
Sg => "së" ;
|
||||||
|
Pl => "të"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user