mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
@@ -11,5 +11,6 @@ concrete CatExtZul of CatExt = open ResZul,Prelude,ParamX in {
|
|||||||
-- INAdv = { s : Str ; postIAdv : Bool } ;
|
-- INAdv = { s : Str ; postIAdv : Bool } ;
|
||||||
|
|
||||||
Postdet = { s : Agr => Str } ;
|
Postdet = { s : Agr => Str } ;
|
||||||
|
SubCl = { s : Polarity => BasicTense => Str } ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ concrete CatZul of Cat = CommonX - [Temp,Tense,Adv,IAdv] **
|
|||||||
Num = { s: Str ; n : Number } ;
|
Num = { s: Str ; n : Number } ;
|
||||||
-- Card = {s,sp : Bool => Case => Str ; n : Number} ;
|
-- Card = {s,sp : Bool => Case => Str ; n : Number} ;
|
||||||
-- ACard = {s : Case => Str ; n : Number} ;
|
-- ACard = {s : Case => Str ; n : Number} ;
|
||||||
Quant = { s : Str ; dist : Distance } ;
|
Quant = { s : Bool => Agr => Str ; dist : Distance } ;
|
||||||
|
|
||||||
-- Numeral
|
-- Numeral
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
concrete ExtraExtZul of ExtraExt =
|
concrete ExtraExtZul of ExtraExt =
|
||||||
CatZul [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN],
|
CatZul [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN,Conj],
|
||||||
CatExtZul
|
CatExtZul
|
||||||
** open ResZul,Prelude,ParamX in {
|
** open ResZul,Prelude,ParamX in {
|
||||||
|
|
||||||
@@ -506,7 +506,10 @@ concrete ExtraExtZul of ExtraExt =
|
|||||||
it15_Pron = mkPron (Third C15 Sg) ;
|
it15_Pron = mkPron (Third C15 Sg) ;
|
||||||
it17_Pron = mkPron (Third C17 Sg) ;
|
it17_Pron = mkPron (Third C17 Sg) ;
|
||||||
|
|
||||||
yonder_Quant = { s = [] ; dist = Dem3 } ;
|
yonder_Quant = {
|
||||||
|
s = \\b,a => dem_pron!Dem3!a ;
|
||||||
|
dist = Dem3
|
||||||
|
} ;
|
||||||
|
|
||||||
at_which_IAdv np = {
|
at_which_IAdv np = {
|
||||||
s = "nga" ++BIND++ atwhichPhiPref!np.agr ++BIND++ "phi" ++ (np.s!NFull) ;
|
s = "nga" ++BIND++ atwhichPhiPref!np.agr ++BIND++ "phi" ++ (np.s!NFull) ;
|
||||||
@@ -570,6 +573,21 @@ concrete ExtraExtZul of ExtraExt =
|
|||||||
|
|
||||||
AdvQS adv qs = { s = adv.s ++ qs.s ; qword_pre = [] ; qword_post = [] } ;
|
AdvQS adv qs = { s = adv.s ++ qs.s ; qword_pre = [] ; qword_post = [] } ;
|
||||||
|
|
||||||
|
ExtConjNP np1 conj np2 = {
|
||||||
|
s = \\nform => np1.s!nform ++ (link_conj conj np2.i) ++ np2.s!NReduced ;
|
||||||
|
agr = compAgr np1.agr np2.agr ;
|
||||||
|
i = np1.i ;
|
||||||
|
proDrop = andB np1.proDrop np2.proDrop ;
|
||||||
|
isPron = np1.isPron ;
|
||||||
|
heavy = orB np1.heavy np2.heavy ;
|
||||||
|
empty = np1.empty ++ np2.empty
|
||||||
|
} ;
|
||||||
|
|
||||||
|
with_Conj = {
|
||||||
|
s = withPref ;
|
||||||
|
fix = True
|
||||||
|
} ;
|
||||||
|
|
||||||
-- Deverb15 v =
|
-- Deverb15 v =
|
||||||
-- let
|
-- let
|
||||||
-- agr = Third C15 Sg ;
|
-- agr = Third C15 Sg ;
|
||||||
|
|||||||
@@ -19,15 +19,15 @@ concrete NounExtZul of NounExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DemPostdet q = {
|
DemPostdet q = {
|
||||||
s = \\a => dem_pron!q.dist!a ++ q.s
|
s = \\a => q.s!True!a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
QuantDemPostdet q d = {
|
QuantDemPostdet q d = {
|
||||||
s = \\a => q.s!a ++ dem_pron!d.dist!a ++ d.s
|
s = \\a => q.s!a ++ d.s!True!a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DemQuantPostdet d q = {
|
DemQuantPostdet d q = {
|
||||||
s = \\a => dem_pron!d.dist!a ++ q.s!a ++ d.s
|
s = \\a => d.s!True!a ++ q.s!a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetNum n = n ; -- ** { spec = Spec } ;
|
DetNum n = n ; -- ** { spec = Spec } ;
|
||||||
@@ -93,12 +93,12 @@ concrete NounExtZul of NounExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DemPredet q = {
|
DemPredet q = {
|
||||||
s = \\a => dem_pron!q.dist!a ++ q.s ;
|
s = \\a => q.s!False!a ;
|
||||||
hasDem = True
|
hasDem = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
QuantDemPredet q d = {
|
QuantDemPredet q d = {
|
||||||
s = \\a => q.s!a ++ dem_pron!d.dist!a ++ d.s ;
|
s = \\a => q.s!a ++ d.s!False!a ;
|
||||||
hasDem = True
|
hasDem = True
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
#nasal_m+x => "m"+r ;
|
#nasal_m+x => "m"+r ;
|
||||||
#nasal_ng+x => "ng"+r ;
|
#nasal_ng+x => "ng"+r ;
|
||||||
#nasal+x => r ;
|
#nasal+x => r ;
|
||||||
|
"p"+x => "mp" + x ;
|
||||||
_ => "n"+r
|
_ => "n"+r
|
||||||
} ;
|
} ;
|
||||||
--------------
|
--------------
|
||||||
@@ -216,6 +217,32 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
dem_pron_na : Agr => Str = table {
|
||||||
|
First Sg => BIND++"na" ;
|
||||||
|
First Pl => [] ;
|
||||||
|
Second Sg => BIND++"na" ;
|
||||||
|
Second Pl => [] ;
|
||||||
|
Third C1_2 Sg => BIND++"na" ;
|
||||||
|
Third C1_2 Pl => [] ;
|
||||||
|
Third C1a_2a Sg => BIND++"na" ;
|
||||||
|
Third C1a_2a Pl => [] ;
|
||||||
|
Third C3_4 Sg => BIND++"na" ;
|
||||||
|
Third C3_4 Pl => BIND++"na" ;
|
||||||
|
Third C5_6 Sg => [] ;
|
||||||
|
Third C5_6 Pl => BIND++"na" ;
|
||||||
|
Third C7_8 Sg => [] ;
|
||||||
|
Third C7_8 Pl => [] ;
|
||||||
|
Third C9_10 Sg => BIND++"na" ;
|
||||||
|
Third C9_10 Pl => [] ;
|
||||||
|
Third C11_10 Sg => [] ;
|
||||||
|
Third C11_10 Pl => [] ;
|
||||||
|
Third C9_6 Sg => BIND++"na" ;
|
||||||
|
Third C9_6 Pl => BIND++"na" ;
|
||||||
|
Third C14 _ => [] ;
|
||||||
|
Third C15 _ => [] ;
|
||||||
|
Third C17 _ => []
|
||||||
|
} ;
|
||||||
|
|
||||||
-----------
|
-----------
|
||||||
-- VERBS --
|
-- VERBS --
|
||||||
-----------
|
-----------
|
||||||
@@ -711,10 +738,12 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
adjPref : Agr -> VForm -> Str = \agr,vform -> case vform of {
|
adjPref : Agr -> VForm -> Str = \agr,vform -> case vform of {
|
||||||
VFIndic RelCl Pos PresTense => case agr of {
|
-- VFIndic RelCl Pos PresTense => case agr of {
|
||||||
(First Sg | Second Sg | Third C1_2 Sg | Third C1a_2a Sg | Third C3_4 Sg) => "m"++BIND ;
|
-- -- (First Sg | Second Sg | Third C1_2 Sg | Third C1a_2a Sg | Third C3_4 Sg) => "m"++BIND ;
|
||||||
(First Pl | Second Pl | Third _ _) => []
|
-- -- Third C3_4 Pl => "mi" ++BIND ;
|
||||||
} ;
|
-- -- (First Pl | Second Pl | Third _ _) => []
|
||||||
|
-- relAdjPrefLookup!agr
|
||||||
|
-- } ;
|
||||||
VFIndic _ _ _ => adjPrefLookup!agr!vform
|
VFIndic _ _ _ => adjPrefLookup!agr!vform
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -863,13 +892,18 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
<C1a_2a,Sg> => "ku"+root ;
|
<C1a_2a,Sg> => "ku"+root ;
|
||||||
<C1a_2a,Pl> => "ko"+root ;
|
<C1a_2a,Pl> => "ko"+root ;
|
||||||
<C3_4,Sg> => case root of {
|
<C3_4,Sg> => case root of {
|
||||||
("m"|"n")+_ => "e"+root ;
|
"m"+_ => "e"+root ;
|
||||||
_ => "em"+root
|
_ => "em"+root
|
||||||
} ;
|
} ;
|
||||||
<C3_4,Pl> => "emi"+root ;
|
<C3_4,Pl> => "emi"+root ;
|
||||||
<C5_6,Sg> => "e"+root ; -- ili long form (not used?)
|
<C5_6,Sg> => case root of {
|
||||||
|
"i"+_ => "e" + (last root) ;
|
||||||
|
#vowel+_ => "el" + root ;
|
||||||
|
_ => "e"+root -- ili long form (not used?)
|
||||||
|
} ;
|
||||||
<C5_6,Pl> => case root of {
|
<C5_6,Pl> => case root of {
|
||||||
"i"+_ => "eme"+root ;
|
"i"+_ => "eme"+ (last root) ;
|
||||||
|
#vowel+_ => "em"+root ;
|
||||||
_ => "ema"+root
|
_ => "ema"+root
|
||||||
} ; -- ame for roots starting with i
|
} ; -- ame for roots starting with i
|
||||||
<C7_8,Sg> => case root of {
|
<C7_8,Sg> => case root of {
|
||||||
@@ -882,8 +916,16 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
} ;
|
} ;
|
||||||
<C9_10,Sg> => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
<C9_10,Sg> => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
||||||
<C9_10,Pl> => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?)
|
<C9_10,Pl> => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?)
|
||||||
<C11_10,Sg> => "o"+root ;
|
<C11_10,Sg> => case root of {
|
||||||
<C11_10,Pl> => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
|
#vowel+_ => "olw" + root ;
|
||||||
|
"w"+_ => "ol"+root ;
|
||||||
|
_ => "o"+root
|
||||||
|
} ;
|
||||||
|
<C11_10,Pl> => case root of {
|
||||||
|
#vowel+_ => "ezilw" + root ;
|
||||||
|
"w"+_ => "ezil" + root ;
|
||||||
|
_ => "ezi"+(prefix_nasal root)
|
||||||
|
} ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
|
||||||
<C9_6,Sg> => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
<C9_6,Sg> => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
||||||
<C9_6,Pl> => case root of {
|
<C9_6,Pl> => case root of {
|
||||||
"i"+_ => "eme"+root ;
|
"i"+_ => "eme"+root ;
|
||||||
@@ -914,6 +956,8 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
_+"mu" => (tk 2 root) + "nyini" ;
|
_+"mu" => (tk 2 root) + "nyini" ;
|
||||||
_+("a"|"e") => (init root)+"eni" ;
|
_+("a"|"e") => (init root)+"eni" ;
|
||||||
_+"i" => (init root)+"ini" ;
|
_+"i" => (init root)+"ini" ;
|
||||||
|
_+"wu" => (init root)+"ini" ;
|
||||||
|
_+"wo" => (init root)+"eni" ;
|
||||||
_+"o" => (init root)+"weni" ;
|
_+"o" => (init root)+"weni" ;
|
||||||
_+"u" => (init root)+"wini" ;
|
_+"u" => (init root)+"wini" ;
|
||||||
_ => (init root)+"ini"
|
_ => (init root)+"ini"
|
||||||
@@ -938,22 +982,31 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
case <cg,n> of
|
case <cg,n> of
|
||||||
{
|
{
|
||||||
<C1_2,Sg> => case root of {
|
<C1_2,Sg> => case root of {
|
||||||
|
#vowel+_ => "um"+root ;
|
||||||
_+#cons+#vowel+#cons+_+#vowel+_ => "um"+root ;
|
_+#cons+#vowel+#cons+_+#vowel+_ => "um"+root ;
|
||||||
_ => "umu"+root
|
_ => "umu"+root
|
||||||
} ; -- umu for single syllables, um for the rest
|
} ; -- umu for single syllables, um for the rest
|
||||||
<C1_2,Pl> => "aba"+root ; -- abe for tribes or guilds
|
<C1_2,Pl> => case root of {
|
||||||
|
#vowel+_ => "ab"+root ;
|
||||||
|
_ => "aba"+root -- abe for tribes or guilds
|
||||||
|
} ;
|
||||||
<C1a_2a,Sg> => "u"+root ;
|
<C1a_2a,Sg> => "u"+root ;
|
||||||
<C1a_2a,Pl> => "o"+root ;
|
<C1a_2a,Pl> => "o"+root ;
|
||||||
<C3_4,Sg> => case root of {
|
<C3_4,Sg> => case root of {
|
||||||
("m"|"n")+_+#vowel+#cons+_+#vowel+_ => "u"+root ;
|
"m"+_+#vowel+#cons+_+#vowel+_ => "u"+root ;
|
||||||
_+(#cons|"y")+#vowel+#cons+_+#vowel+_ => "um"+root ;
|
_+(#cons|"y")+#vowel+#cons+_+#vowel+_ => "um"+root ;
|
||||||
"o"+_ => "um"+root ;
|
"o"+_ => "um"+root ;
|
||||||
_ => "umu"+root
|
_ => "umu"+root
|
||||||
} ; -- umu for single syllables, um for the rest
|
} ; -- umu for single syllables, um for the rest
|
||||||
<C3_4,Pl> => "imi"+root ;
|
<C3_4,Pl> => "imi"+root ;
|
||||||
<C5_6,Sg> => "i"+root ; -- ili long form (not used?)
|
<C5_6,Sg> => case root of {
|
||||||
|
"i"+_ => root ;
|
||||||
|
#vowel+_ => "il"+root ;
|
||||||
|
_ => "i"+root -- ili long form (not used?)
|
||||||
|
} ;
|
||||||
<C5_6,Pl> => case root of {
|
<C5_6,Pl> => case root of {
|
||||||
"i"+_ => "ame"+root ;
|
"i"+_ => "ame"+(drop 1 root) ;
|
||||||
|
#vowel+_ => "am"+root ;
|
||||||
_ => "ama"+root
|
_ => "ama"+root
|
||||||
} ; -- ame for roots starting with i
|
} ; -- ame for roots starting with i
|
||||||
<C7_8,Sg> => case root of {
|
<C7_8,Sg> => case root of {
|
||||||
@@ -966,8 +1019,16 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
} ;
|
} ;
|
||||||
<C9_10,Sg> => "i" + prefix_nasal root ;
|
<C9_10,Sg> => "i" + prefix_nasal root ;
|
||||||
<C9_10,Pl> => "izi" + prefix_nasal root ;
|
<C9_10,Pl> => "izi" + prefix_nasal root ;
|
||||||
<C11_10,Sg> => "u"+root ;
|
<C11_10,Sg> => case root of {
|
||||||
<C11_10,Pl> => "izi" + prefix_nasal root ;
|
#vowel+_ => "ulw"+root ;
|
||||||
|
"w"+_ => "ul"+root ;
|
||||||
|
_ => "u"+root
|
||||||
|
} ;
|
||||||
|
<C11_10,Pl> => case root of {
|
||||||
|
#vowel+_ => "izilw"+root ;
|
||||||
|
"w"+_ => "izil"+root ;
|
||||||
|
_ => "izi" + prefix_nasal root
|
||||||
|
} ;
|
||||||
<C9_6,Sg> => "i" + prefix_nasal root ;
|
<C9_6,Sg> => "i" + prefix_nasal root ;
|
||||||
<C9_6,Pl> => case root of {
|
<C9_6,Pl> => case root of {
|
||||||
"i"+_ => "ame"+root ;
|
"i"+_ => "ame"+root ;
|
||||||
@@ -986,20 +1047,29 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
case <cg,n> of
|
case <cg,n> of
|
||||||
{
|
{
|
||||||
<C1_2,Sg> => case root of {
|
<C1_2,Sg> => case root of {
|
||||||
|
#vowel+_ => "kum"+root ;
|
||||||
_+#cons+#vowel+#cons+_+#vowel+_ => "kum"+root ;
|
_+#cons+#vowel+#cons+_+#vowel+_ => "kum"+root ;
|
||||||
_ => "kumu"+root
|
_ => "kumu"+root
|
||||||
} ; -- umu for single syllables, um for the rest
|
} ; -- umu for single syllables, um for the rest
|
||||||
<C1_2,Pl> => "kuba"+root ; -- abe for tribes or guilds
|
<C1_2,Pl> => case root of {
|
||||||
|
#vowel+_ => "kub"+root ;
|
||||||
|
_ => "kuba"+root -- abe for tribes or guilds
|
||||||
|
} ;
|
||||||
<C1a_2a,Sg> => "ku"+root ;
|
<C1a_2a,Sg> => "ku"+root ;
|
||||||
<C1a_2a,Pl> => "ko"+root ;
|
<C1a_2a,Pl> => "ko"+root ;
|
||||||
<C3_4,Sg> => case root of {
|
<C3_4,Sg> => case root of {
|
||||||
("m"|"n")+_ => "e"+(addLocSuffix root) ;
|
"m"+_ => "e"+(addLocSuffix root) ;
|
||||||
_ => "em"+(addLocSuffix root)
|
_ => "em"+(addLocSuffix root)
|
||||||
} ;
|
} ;
|
||||||
<C3_4,Pl> => "emi"+(addLocSuffix root) ;
|
<C3_4,Pl> => "emi"+(addLocSuffix root) ;
|
||||||
<C5_6,Sg> => "e"+(addLocSuffix root) ; -- ili long form (not used?)
|
<C5_6,Sg> => case root of {
|
||||||
|
"i"+_ => "e"+(addLocSuffix (drop 1 root)) ;
|
||||||
|
#vowel+_ => "el"+(addLocSuffix root) ;
|
||||||
|
_ => "e"+(addLocSuffix root) -- ili long form (not used?)
|
||||||
|
} ;
|
||||||
<C5_6,Pl> => case root of {
|
<C5_6,Pl> => case root of {
|
||||||
"i"+_ => "eme"+(addLocSuffix root) ;
|
"i"+_ => "eme"+(addLocSuffix (drop 1 root)) ;
|
||||||
|
#vowel+_ => "em"+(addLocSuffix root) ;
|
||||||
_ => "ema"+(addLocSuffix root)
|
_ => "ema"+(addLocSuffix root)
|
||||||
} ; -- ame for roots starting with i
|
} ; -- ame for roots starting with i
|
||||||
<C7_8,Sg> => case root of {
|
<C7_8,Sg> => case root of {
|
||||||
@@ -1012,8 +1082,16 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
} ;
|
} ;
|
||||||
<C9_10,Sg> => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
<C9_10,Sg> => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
||||||
<C9_10,Pl> => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?)
|
<C9_10,Pl> => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?)
|
||||||
<C11_10,Sg> => "o"+(addLocSuffix root) ;
|
<C11_10,Sg> => case root of {
|
||||||
<C11_10,Pl> => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
|
#vowel+_ => "olw"+(addLocSuffix root) ;
|
||||||
|
"w"+_ => "ol"+(addLocSuffix root) ;
|
||||||
|
_ => "o"+(addLocSuffix root)
|
||||||
|
} ;
|
||||||
|
<C11_10,Pl> => case root of {
|
||||||
|
#vowel+_ => "ezilw"+(addLocSuffix root) ;
|
||||||
|
"w"+_ => "ezil"+(addLocSuffix root) ;
|
||||||
|
_ => "ezi"+(addLocSuffix (prefix_nasal root)) -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
|
||||||
|
} ;
|
||||||
<C9_6,Sg> => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
<C9_6,Sg> => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?)
|
||||||
<C9_6,Pl> => case root of {
|
<C9_6,Pl> => case root of {
|
||||||
"i"+_ => "eme"+(addLocSuffix root) ;
|
"i"+_ => "eme"+(addLocSuffix root) ;
|
||||||
@@ -1327,7 +1405,7 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
VFIndic _ _ PastTense => relCopConcBeLookup!a ;
|
VFIndic _ _ PastTense => relCopConcBeLookup!a ;
|
||||||
VFIndic _ _ RemPastTense => case a of {
|
VFIndic _ _ RemPastTense => case a of {
|
||||||
Third C5_6 Pl => [] ; -- relConcLookup!a!RA ; -- a + aye = aye
|
Third C5_6 Pl => [] ; -- relConcLookup!a!RA ; -- a + aye = aye
|
||||||
(First _ | Second _ | Third _ _ ) => shortRelConc!a ++BIND --++ subjConcLookup!a!SCRP
|
(First _ | Second _ | Third _ _ ) => shortRelConc!a --++ subjConcLookup!a!SCRP
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -1445,29 +1523,29 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
|
|
||||||
shortRelConc : Agr => Str =
|
shortRelConc : Agr => Str =
|
||||||
table {
|
table {
|
||||||
Third C1_2 Sg => "o" ;
|
Third C1_2 Sg => "o" ++BIND ;
|
||||||
Third C1_2 Pl => "a" ;
|
Third C1_2 Pl => "a" ++BIND ;
|
||||||
Third C1a_2a Sg => "o" ;
|
Third C1a_2a Sg => "o" ++BIND ;
|
||||||
Third C1a_2a Pl => "a" ;
|
Third C1a_2a Pl => "a" ++BIND ;
|
||||||
Third C3_4 Sg => "o" ;
|
Third C3_4 Sg => "o" ++BIND ;
|
||||||
Third C3_4 Pl => "e" ;
|
Third C3_4 Pl => "e" ++BIND ;
|
||||||
Third C5_6 Sg => "e" ;
|
Third C5_6 Sg => "e" ++BIND ;
|
||||||
Third C5_6 Pl => "a" ;
|
Third C5_6 Pl => "a" ++BIND ;
|
||||||
Third C7_8 Sg => "e" ;
|
Third C7_8 Sg => "e" ++BIND ;
|
||||||
Third C7_8 Pl => "e" ;
|
Third C7_8 Pl => "e" ++BIND ;
|
||||||
Third C9_10 Sg => "e" ;
|
Third C9_10 Sg => "e" ++BIND ;
|
||||||
Third C9_10 Pl => "e" ;
|
Third C9_10 Pl => "e" ++BIND ;
|
||||||
Third C11_10 Sg => "o" ;
|
Third C11_10 Sg => "o" ++BIND ;
|
||||||
Third C11_10 Pl => "e" ;
|
Third C11_10 Pl => "e" ++BIND ;
|
||||||
Third C9_6 Sg => "e" ;
|
Third C9_6 Sg => "e" ++BIND ;
|
||||||
Third C9_6 Pl => "a" ;
|
Third C9_6 Pl => "a" ++BIND ;
|
||||||
Third C14 _ => "o" ;
|
Third C14 _ => "o" ++BIND ;
|
||||||
Third C15 _ => "o" ;
|
Third C15 _ => "o" ++BIND ;
|
||||||
Third C17 _ => "o" ;
|
Third C17 _ => "o" ++BIND ;
|
||||||
First Sg => "e" ;
|
First Sg => "e" ++BIND ;
|
||||||
First Pl => "e" ;
|
First Pl => "e" ++BIND ;
|
||||||
Second Sg => "o" ;
|
Second Sg => "o" ++BIND ;
|
||||||
Second Pl => "e"
|
Second Pl => "e" ++BIND
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- POSSESSIVE ANTECEDENT AGREEMENT MORPHEME --
|
-- POSSESSIVE ANTECEDENT AGREEMENT MORPHEME --
|
||||||
@@ -1618,6 +1696,8 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
Second Pl => "no"
|
Second Pl => "no"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-----------------
|
-----------------
|
||||||
-- COPULATIVES --
|
-- COPULATIVES --
|
||||||
-----------------
|
-----------------
|
||||||
@@ -1841,8 +1921,17 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
-- OTHER
|
-- OTHER
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
link_conj : Str -> Str -> Str -> Bool -> Str = \conj,s_full,s_novow,fix -> case fix of {
|
link_conj : { s: RInit => Str ; fix : Bool } -> RInit -> Str = \conj,rinit -> case conj.fix of {
|
||||||
True => conj ++BIND ++ s_novow ;
|
True => conj.s!rinit ++BIND ;
|
||||||
False => conj ++ s_full
|
False => conj.s!RC
|
||||||
|
} ;
|
||||||
|
|
||||||
|
compAgr : Agr -> Agr -> Agr = \a1,a2 -> case <a1,a2> of {
|
||||||
|
<First _,(First _ | Second _ | Third _ _)> => First Pl ;
|
||||||
|
<(First _ | Second _ | Third _ _),First _> => First Pl ;
|
||||||
|
<Second _,(First _ | Second _ | Third _ _)> => Second Pl ;
|
||||||
|
<(First _ | Second _ | Third _ _),Second _> => Second Pl ;
|
||||||
|
<Third (C1_2|C1a_2a) _, Third _ _> => Third C1_2 Pl ;
|
||||||
|
<Third _ _,Third c _> => Third c Pl
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -129,8 +129,18 @@ concrete StructuralZul of Structural = CatZul **
|
|||||||
-- youPol_Pron = mkPron "you" "you" "your" "yours" singular P2 human ;
|
-- youPol_Pron = mkPron "you" "you" "your" "yours" singular P2 human ;
|
||||||
|
|
||||||
-- Quant (we use this category for demonstratives only)
|
-- Quant (we use this category for demonstratives only)
|
||||||
that_Quant = { s = [] ; dist = Dem2 } ;
|
that_Quant = {
|
||||||
this_Quant = { s = [] ; dist = Dem1 } ;
|
s = \\b,a => dem_pron!Dem2!a ;
|
||||||
|
dist = Dem2
|
||||||
|
} ;
|
||||||
|
-- this_Quant = { s = [] ; dist = Dem1 } ;
|
||||||
|
this_Quant = {
|
||||||
|
s = \\b,a => case b of {
|
||||||
|
False => dem_pron!Dem1!a ;
|
||||||
|
True => dem_pron!Dem1!a ++ dem_pron_na!a
|
||||||
|
} ;
|
||||||
|
dist = Dem1
|
||||||
|
} ;
|
||||||
-- no_Quant = mkQuant "no" "no" "none" "none" ;
|
-- no_Quant = mkQuant "no" "no" "none" "none" ;
|
||||||
|
|
||||||
-- Subj
|
-- Subj
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
pcp ++ adjpref ++ cop_base ;
|
pcp ++ adjpref ++ cop_base ;
|
||||||
RelCl => \\a,p,t,l => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rcp = (relConcCop vform a RC) ; -- o-
|
rcp = shortRelConc!a ; -- o-
|
||||||
pcp = ap_cop_pref vform a AdjType ; -- [] / -nge- / zoba / -be- / -benge- -waye- / -wayenge-
|
pcp = ap_cop_pref vform a AdjType ; -- [] / -nge- / zoba / -be- / -benge- -waye- / -wayenge-
|
||||||
adjpref = adjPref a vform ; -- m-
|
adjpref = adjPref a vform ; -- m-
|
||||||
cop_base = ap.s!(aformN a) -- khulu
|
cop_base = ap.s!(aformN a) -- khulu
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ abstract CatExt = {
|
|||||||
-- INAdv ; -- which/-phi?
|
-- INAdv ; -- which/-phi?
|
||||||
|
|
||||||
Postdet ;
|
Postdet ;
|
||||||
|
SubCl ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
abstract ExtraExt =
|
abstract ExtraExt =
|
||||||
Cat [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN],
|
Cat [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN,Conj],
|
||||||
CatExt ** {
|
CatExt ** {
|
||||||
|
|
||||||
fun
|
fun
|
||||||
@@ -126,6 +126,10 @@ abstract ExtraExt =
|
|||||||
|
|
||||||
kakhulu_Adv : Adv ;
|
kakhulu_Adv : Adv ;
|
||||||
|
|
||||||
|
ExtConjNP : NP -> Conj -> NP -> NP ;
|
||||||
|
|
||||||
|
with_Conj : Conj ;
|
||||||
|
|
||||||
-- Deverb15 : V -> N ;
|
-- Deverb15 : V -> N ;
|
||||||
|
|
||||||
-- AdvQS : IAdv -> S -> QS ; -- maybe it is a pain that burns 2020-01-15: consider that this should rather be dealt with using QuestIAdv)
|
-- AdvQS : IAdv -> S -> QS ; -- maybe it is a pain that burns 2020-01-15: consider that this should rather be dealt with using QuestIAdv)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
-- All functions are explicitly inherited, in order to allow useful probabilities
|
-- All functions are explicitly inherited, in order to allow useful probabilities
|
||||||
|
|
||||||
abstract NguniGrammar =
|
abstract NguniGrammar =
|
||||||
Noun [DetCN, UsePron, DetQuant, NumSg, NumPl, IndefArt, DefArt, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP, MassNP], -- MassNP,AdvCN, AdvNP,
|
Noun [DetCN, UsePron, DetQuant, NumSg, NumPl, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP], -- MassNP,AdvCN, AdvNP,
|
||||||
Verb [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
Verb [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
||||||
Adjective [PositA, AdAP],
|
Adjective [PositA, AdAP],
|
||||||
Adverb [PositAdvAdj, SubjS],
|
Adverb [PositAdvAdj, SubjS],
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
-- All functions are explicitly inherited, in order to allow useful probabilities
|
-- All functions are explicitly inherited, in order to allow useful probabilities
|
||||||
|
|
||||||
concrete NguniGrammarZul of NguniGrammar =
|
concrete NguniGrammarZul of NguniGrammar =
|
||||||
NounZul [DetCN, UsePron, DetQuant, NumSg, NumPl, IndefArt, DefArt, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP, MassNP], -- MassNP, AdvCN,AdvNP,
|
NounZul [DetCN, UsePron, DetQuant, NumSg, NumPl, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP], -- MassNP, AdvCN,AdvNP,
|
||||||
VerbZul [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
VerbZul [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
||||||
AdjectiveZul [PositA, AdAP],
|
AdjectiveZul [PositA, AdAP],
|
||||||
AdverbZul [PositAdvAdj, SubjS],
|
AdverbZul [PositAdvAdj, SubjS],
|
||||||
@@ -9,7 +9,7 @@ concrete NguniGrammarZul of NguniGrammar =
|
|||||||
SentenceZul [PredVP, ImpVP, UseCl, UseQCl, UseRCl],
|
SentenceZul [PredVP, ImpVP, UseCl, UseQCl, UseRCl],
|
||||||
QuestionZul [QuestCl, QuestIAdv, QuestIComp],
|
QuestionZul [QuestCl, QuestIAdv, QuestIComp],
|
||||||
RelativeZul [RelVP, IdRP],
|
RelativeZul [RelVP, IdRP],
|
||||||
-- Conjunction,
|
-- ConjunctionZul,
|
||||||
PhraseZul [PhrUtt, UttS, UttQS, UttImpSg, NoPConj, NoVoc],
|
PhraseZul [PhrUtt, UttS, UttQS, UttImpSg, NoPConj, NoVoc],
|
||||||
TextX - [Temp,Adv,IAdv],
|
TextX - [Temp,Adv,IAdv],
|
||||||
StructuralZul [and_Conj,how_IAdv,how8much_IAdv,i_Pron,youSg_Pron,he_Pron,she_Pron,we_Pron,youPl_Pron,they_Pron,this_Quant,that_Quant,all_Predet,only_Predet,very_AdA],
|
StructuralZul [and_Conj,how_IAdv,how8much_IAdv,i_Pron,youSg_Pron,he_Pron,she_Pron,we_Pron,youPl_Pron,they_Pron,this_Quant,that_Quant,all_Predet,only_Predet,very_AdA],
|
||||||
|
|||||||
@@ -454,6 +454,7 @@ abstract MultiLex = Cat ** {
|
|||||||
sock_N : N ;
|
sock_N : N ;
|
||||||
soil_N : N ;
|
soil_N : N ;
|
||||||
soldier_N : N ;
|
soldier_N : N ;
|
||||||
|
son_N : N ;
|
||||||
song_N : N ;
|
song_N : N ;
|
||||||
south_N : N ;
|
south_N : N ;
|
||||||
spade_N : N ;
|
spade_N : N ;
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
advantage_N = mkN "zuzo" C9_10 ;
|
advantage_N = mkN "zuzo" C9_10 ;
|
||||||
advertisement_N = mkN "aziso" C7_8 ;
|
advertisement_N = mkN "aziso" C7_8 ;
|
||||||
advice_N = mkN "eluleko" C7_8 ;
|
advice_N = mkN "eluleko" C7_8 ;
|
||||||
aeroplane_N = mkN "bhanoyi" C5_6 ;
|
aeroplane_N = mkN "bhanoyi" C9_6 ;
|
||||||
aim_N = mkN "hloso" C9_10 ;
|
aim_N = mkN "hloso" C9_10 ;
|
||||||
air_N = mkN "moya" C3_4 ;
|
air_N = mkN "moya" C3_4 ;
|
||||||
ambassador_N = mkN "nxusa" C5_6 ;
|
ambassador_N = mkN "nxusa" C5_6 ;
|
||||||
@@ -131,7 +131,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
chair_N = mkN "hlalo" C7_8 ;
|
chair_N = mkN "hlalo" C7_8 ;
|
||||||
chairman_N = mkN "sihlalo" C1a_2a ;
|
chairman_N = mkN "sihlalo" C1a_2a ;
|
||||||
chauffeur_N = mkN "shayeli" C1_2 ;
|
chauffeur_N = mkN "shayeli" C1_2 ;
|
||||||
cheese_N = mkN "shizi" C11_10 ;
|
cheese_N = mkN "shizi" C1a_2a ;
|
||||||
cheetah_N = mkN "gulule" C9_10 ;
|
cheetah_N = mkN "gulule" C9_10 ;
|
||||||
chest_N = mkN "fuba" C7_8 ;
|
chest_N = mkN "fuba" C7_8 ;
|
||||||
chicken_N = mkN "nkukhu" C9_10 ;
|
chicken_N = mkN "nkukhu" C9_10 ;
|
||||||
@@ -163,7 +163,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
curtain_N = mkN "khethini" C5_6 ;
|
curtain_N = mkN "khethini" C5_6 ;
|
||||||
customer_N = mkN "thengi" C1_2 ;
|
customer_N = mkN "thengi" C1_2 ;
|
||||||
danger_N = mkN "ngozi" C9_10 ;
|
danger_N = mkN "ngozi" C9_10 ;
|
||||||
daughter_N = mkN "doda" C9_6 ;
|
daughter_N = mkN "dodakazi" C9_6 ;
|
||||||
day_N = mkN "suku" C11_10 ;
|
day_N = mkN "suku" C11_10 ;
|
||||||
decision_N = mkN "nqumo" C7_8 ;
|
decision_N = mkN "nqumo" C7_8 ;
|
||||||
deed_N = mkN "enzo" C7_8 ;
|
deed_N = mkN "enzo" C7_8 ;
|
||||||
@@ -218,7 +218,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
frog_N = mkN "selesele" C5_6 ;
|
frog_N = mkN "selesele" C5_6 ;
|
||||||
frost_N = mkN "thwathwa" C7_8 ;
|
frost_N = mkN "thwathwa" C7_8 ;
|
||||||
fruit_N = mkN "thelo" C7_8 ;
|
fruit_N = mkN "thelo" C7_8 ;
|
||||||
girl_N = mkN "ntombazana" C5_6 ;
|
girl_N = mkN "ntombazana" C9_6 ;
|
||||||
glasses_N = mkN "buko" C7_8 ;
|
glasses_N = mkN "buko" C7_8 ;
|
||||||
glass_N = mkN "gilazi" C9_10 ;
|
glass_N = mkN "gilazi" C9_10 ;
|
||||||
goat_N = mkN "buzi" C9_10 ;
|
goat_N = mkN "buzi" C9_10 ;
|
||||||
@@ -456,6 +456,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
sock_N = mkN "sokisi" C5_6 ;
|
sock_N = mkN "sokisi" C5_6 ;
|
||||||
soil_N = mkN "hlabathi" C3_4 ;
|
soil_N = mkN "hlabathi" C3_4 ;
|
||||||
soldier_N = mkN "sosha" C5_6 ;
|
soldier_N = mkN "sosha" C5_6 ;
|
||||||
|
son_N = mkN "dodana" C9_6 ;
|
||||||
song_N = mkN "culo" C5_6 ;
|
song_N = mkN "culo" C5_6 ;
|
||||||
south_N = mkN "Ningizimu" C5_6 ;
|
south_N = mkN "Ningizimu" C5_6 ;
|
||||||
spade_N = mkN "fosholo" C5_6 ;
|
spade_N = mkN "fosholo" C5_6 ;
|
||||||
@@ -478,7 +479,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
supper_N = mkN "dlakusihlwa" C9_10 ;
|
supper_N = mkN "dlakusihlwa" C9_10 ;
|
||||||
surname_N = mkN "bongo" C7_8 ;
|
surname_N = mkN "bongo" C7_8 ;
|
||||||
sweater_N = mkN "jezi" C5_6 ;
|
sweater_N = mkN "jezi" C5_6 ;
|
||||||
sweet_N = mkN "Swidi" C5_6 ;
|
sweet_N = mkN "swidi" C5_6 ;
|
||||||
sympathy_N = mkN "hawu" C7_8 ;
|
sympathy_N = mkN "hawu" C7_8 ;
|
||||||
table_N = mkN "tafula" C5_6 ;
|
table_N = mkN "tafula" C5_6 ;
|
||||||
tablet_N = mkN "philisi" C5_6 ;
|
tablet_N = mkN "philisi" C5_6 ;
|
||||||
@@ -548,7 +549,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
word_N = mkN "gama" C5_6 ;
|
word_N = mkN "gama" C5_6 ;
|
||||||
work_N = mkN "sebenzi" C3_4 ;
|
work_N = mkN "sebenzi" C3_4 ;
|
||||||
world_N = mkN "hlaba" C3_4 ;
|
world_N = mkN "hlaba" C3_4 ;
|
||||||
year_N = mkN "nyaka" C11_10 ;
|
year_N = mkN "nyaka" C3_4 ;
|
||||||
youth_N = mkN "tsha" C9_10 ;
|
youth_N = mkN "tsha" C9_10 ;
|
||||||
zebra_N = mkN "dube" C5_6 ;
|
zebra_N = mkN "dube" C5_6 ;
|
||||||
|
|
||||||
@@ -781,8 +782,8 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
interrupt_V2 = mkV2 "phazamis" ;
|
interrupt_V2 = mkV2 "phazamis" ;
|
||||||
invite_V = mkV "mem" ;
|
invite_V = mkV "mem" ;
|
||||||
invite_V2 = mkV2 "mem" ;
|
invite_V2 = mkV2 "mem" ;
|
||||||
iron_V = mkV "ayin" ;
|
iron_V = mkV "-ayin" ;
|
||||||
iron_V2 = mkV2 "ayin" ;
|
iron_V2 = mkV2 "-ayin" ;
|
||||||
irritate_1_V = mkV "cunul" ;
|
irritate_1_V = mkV "cunul" ;
|
||||||
irritate_1_V2 = mkV2 "cunul" ;
|
irritate_1_V2 = mkV2 "cunul" ;
|
||||||
irritate_2_V = mkV "casul" ;
|
irritate_2_V = mkV "casul" ;
|
||||||
@@ -847,8 +848,8 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
open_V2 = mkV2 "vul" ;
|
open_V2 = mkV2 "vul" ;
|
||||||
oppress_V = mkV "cindezel" ;
|
oppress_V = mkV "cindezel" ;
|
||||||
oppress_V2 = mkV2 "cindezel" ;
|
oppress_V2 = mkV2 "cindezel" ;
|
||||||
order_V = mkV "od" ;
|
order_V = mkV "-od" ;
|
||||||
order_V2 = mkV2 "od" ;
|
order_V2 = mkV2 "-od" ;
|
||||||
pack_V = mkV "pakish" ;
|
pack_V = mkV "pakish" ;
|
||||||
pack_V2 = mkV2 "pakish" ;
|
pack_V2 = mkV2 "pakish" ;
|
||||||
paint_V = mkV "pend" ;
|
paint_V = mkV "pend" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user