1
0
forked from GitHub/gf-rgl

Merge pull request #406 from LauretteM/master

More Zulu fixes
This commit is contained in:
Inari Listenmaa
2022-06-14 15:13:42 +02:00
committed by GitHub
13 changed files with 198 additions and 73 deletions

View File

@@ -11,5 +11,6 @@ concrete CatExtZul of CatExt = open ResZul,Prelude,ParamX in {
-- INAdv = { s : Str ; postIAdv : Bool } ;
Postdet = { s : Agr => Str } ;
SubCl = { s : Polarity => BasicTense => Str } ;
}

View File

@@ -121,7 +121,7 @@ concrete CatZul of Cat = CommonX - [Temp,Tense,Adv,IAdv] **
Num = { s: Str ; n : Number } ;
-- Card = {s,sp : Bool => Case => Str ; n : Number} ;
-- ACard = {s : Case => Str ; n : Number} ;
Quant = { s : Str ; dist : Distance } ;
Quant = { s : Bool => Agr => Str ; dist : Distance } ;
-- Numeral

View File

@@ -1,5 +1,5 @@
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
** open ResZul,Prelude,ParamX in {
@@ -506,7 +506,10 @@ concrete ExtraExtZul of ExtraExt =
it15_Pron = mkPron (Third C15 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 = {
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 = [] } ;
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 =
-- let
-- agr = Third C15 Sg ;

View File

@@ -19,15 +19,15 @@ concrete NounExtZul of NounExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
} ;
DemPostdet q = {
s = \\a => dem_pron!q.dist!a ++ q.s
s = \\a => q.s!True!a
} ;
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 = {
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 } ;
@@ -93,12 +93,12 @@ concrete NounExtZul of NounExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
} ;
DemPredet q = {
s = \\a => dem_pron!q.dist!a ++ q.s ;
s = \\a => q.s!False!a ;
hasDem = True
} ;
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
} ;

View File

@@ -57,6 +57,7 @@ resource ResZul = open Prelude,Predef,ParamX in {
#nasal_m+x => "m"+r ;
#nasal_ng+x => "ng"+r ;
#nasal+x => r ;
"p"+x => "mp" + x ;
_ => "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 --
-----------
@@ -711,10 +738,12 @@ resource ResZul = open Prelude,Predef,ParamX in {
} ;
adjPref : Agr -> VForm -> Str = \agr,vform -> case vform 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 Pl | Second Pl | Third _ _) => []
} ;
-- 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 ;
-- -- Third C3_4 Pl => "mi" ++BIND ;
-- -- (First Pl | Second Pl | Third _ _) => []
-- relAdjPrefLookup!agr
-- } ;
VFIndic _ _ _ => adjPrefLookup!agr!vform
} ;
@@ -863,13 +892,18 @@ resource ResZul = open Prelude,Predef,ParamX in {
<C1a_2a,Sg> => "ku"+root ;
<C1a_2a,Pl> => "ko"+root ;
<C3_4,Sg> => case root of {
("m"|"n")+_ => "e"+root ;
"m"+_ => "e"+root ;
_ => "em"+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 {
"i"+_ => "eme"+root ;
"i"+_ => "eme"+ (last root) ;
#vowel+_ => "em"+root ;
_ => "ema"+root
} ; -- ame for roots starting with i
<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,Pl> => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?)
<C11_10,Sg> => "o"+root ;
<C11_10,Pl> => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
<C11_10,Sg> => case root of {
#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,Pl> => case root of {
"i"+_ => "eme"+root ;
@@ -914,6 +956,8 @@ resource ResZul = open Prelude,Predef,ParamX in {
_+"mu" => (tk 2 root) + "nyini" ;
_+("a"|"e") => (init root)+"eni" ;
_+"i" => (init root)+"ini" ;
_+"wu" => (init root)+"ini" ;
_+"wo" => (init root)+"eni" ;
_+"o" => (init root)+"weni" ;
_+"u" => (init root)+"wini" ;
_ => (init root)+"ini"
@@ -938,22 +982,31 @@ resource ResZul = open Prelude,Predef,ParamX in {
case <cg,n> of
{
<C1_2,Sg> => case root of {
#vowel+_ => "um"+root ;
_+#cons+#vowel+#cons+_+#vowel+_ => "um"+root ;
_ => "umu"+root
} ; -- 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,Pl> => "o"+root ;
<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 ;
"o"+_ => "um"+root ;
_ => "umu"+root
} ; -- umu for single syllables, um for the rest
<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 {
"i"+_ => "ame"+root ;
"i"+_ => "ame"+(drop 1 root) ;
#vowel+_ => "am"+root ;
_ => "ama"+root
} ; -- ame for roots starting with i
<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,Pl> => "izi" + prefix_nasal root ;
<C11_10,Sg> => "u"+root ;
<C11_10,Pl> => "izi" + prefix_nasal root ;
<C11_10,Sg> => case root of {
#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,Pl> => case root of {
"i"+_ => "ame"+root ;
@@ -986,20 +1047,29 @@ resource ResZul = open Prelude,Predef,ParamX in {
case <cg,n> of
{
<C1_2,Sg> => case root of {
#vowel+_ => "kum"+root ;
_+#cons+#vowel+#cons+_+#vowel+_ => "kum"+root ;
_ => "kumu"+root
} ; -- 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,Pl> => "ko"+root ;
<C3_4,Sg> => case root of {
("m"|"n")+_ => "e"+(addLocSuffix root) ;
"m"+_ => "e"+(addLocSuffix root) ;
_ => "em"+(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 {
"i"+_ => "eme"+(addLocSuffix root) ;
"i"+_ => "eme"+(addLocSuffix (drop 1 root)) ;
#vowel+_ => "em"+(addLocSuffix root) ;
_ => "ema"+(addLocSuffix root)
} ; -- ame for roots starting with i
<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,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,Pl> => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh
<C11_10,Sg> => case root of {
#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,Pl> => case root of {
"i"+_ => "eme"+(addLocSuffix root) ;
@@ -1327,7 +1405,7 @@ resource ResZul = open Prelude,Predef,ParamX in {
VFIndic _ _ PastTense => relCopConcBeLookup!a ;
VFIndic _ _ RemPastTense => case a of {
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 =
table {
Third C1_2 Sg => "o" ;
Third C1_2 Pl => "a" ;
Third C1a_2a Sg => "o" ;
Third C1a_2a Pl => "a" ;
Third C3_4 Sg => "o" ;
Third C3_4 Pl => "e" ;
Third C5_6 Sg => "e" ;
Third C5_6 Pl => "a" ;
Third C7_8 Sg => "e" ;
Third C7_8 Pl => "e" ;
Third C9_10 Sg => "e" ;
Third C9_10 Pl => "e" ;
Third C11_10 Sg => "o" ;
Third C11_10 Pl => "e" ;
Third C9_6 Sg => "e" ;
Third C9_6 Pl => "a" ;
Third C14 _ => "o" ;
Third C15 _ => "o" ;
Third C17 _ => "o" ;
First Sg => "e" ;
First Pl => "e" ;
Second Sg => "o" ;
Second Pl => "e"
Third C1_2 Sg => "o" ++BIND ;
Third C1_2 Pl => "a" ++BIND ;
Third C1a_2a Sg => "o" ++BIND ;
Third C1a_2a Pl => "a" ++BIND ;
Third C3_4 Sg => "o" ++BIND ;
Third C3_4 Pl => "e" ++BIND ;
Third C5_6 Sg => "e" ++BIND ;
Third C5_6 Pl => "a" ++BIND ;
Third C7_8 Sg => "e" ++BIND ;
Third C7_8 Pl => "e" ++BIND ;
Third C9_10 Sg => "e" ++BIND ;
Third C9_10 Pl => "e" ++BIND ;
Third C11_10 Sg => "o" ++BIND ;
Third C11_10 Pl => "e" ++BIND ;
Third C9_6 Sg => "e" ++BIND ;
Third C9_6 Pl => "a" ++BIND ;
Third C14 _ => "o" ++BIND ;
Third C15 _ => "o" ++BIND ;
Third C17 _ => "o" ++BIND ;
First Sg => "e" ++BIND ;
First Pl => "e" ++BIND ;
Second Sg => "o" ++BIND ;
Second Pl => "e" ++BIND
} ;
-- POSSESSIVE ANTECEDENT AGREEMENT MORPHEME --
@@ -1618,6 +1696,8 @@ resource ResZul = open Prelude,Predef,ParamX in {
Second Pl => "no"
} ;
-----------------
-- COPULATIVES --
-----------------
@@ -1841,8 +1921,17 @@ resource ResZul = open Prelude,Predef,ParamX in {
-- OTHER
----------------------------------------
link_conj : Str -> Str -> Str -> Bool -> Str = \conj,s_full,s_novow,fix -> case fix of {
True => conj ++BIND ++ s_novow ;
False => conj ++ s_full
link_conj : { s: RInit => Str ; fix : Bool } -> RInit -> Str = \conj,rinit -> case conj.fix of {
True => conj.s!rinit ++BIND ;
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
} ;
}

View File

@@ -129,8 +129,18 @@ concrete StructuralZul of Structural = CatZul **
-- youPol_Pron = mkPron "you" "you" "your" "yours" singular P2 human ;
-- Quant (we use this category for demonstratives only)
that_Quant = { s = [] ; dist = Dem2 } ;
this_Quant = { s = [] ; dist = Dem1 } ;
that_Quant = {
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" ;
-- Subj

View File

@@ -14,7 +14,7 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
pcp ++ adjpref ++ cop_base ;
RelCl => \\a,p,t,l => let
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-
adjpref = adjPref a vform ; -- m-
cop_base = ap.s!(aformN a) -- khulu

View File

@@ -11,5 +11,6 @@ abstract CatExt = {
-- INAdv ; -- which/-phi?
Postdet ;
SubCl ;
}

View File

@@ -1,5 +1,5 @@
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 ** {
fun
@@ -126,6 +126,10 @@ abstract ExtraExt =
kakhulu_Adv : Adv ;
ExtConjNP : NP -> Conj -> NP -> NP ;
with_Conj : Conj ;
-- 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)

View File

@@ -1,7 +1,7 @@
-- All functions are explicitly inherited, in order to allow useful probabilities
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],
Adjective [PositA, AdAP],
Adverb [PositAdvAdj, SubjS],

View File

@@ -1,7 +1,7 @@
-- All functions are explicitly inherited, in order to allow useful probabilities
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],
AdjectiveZul [PositA, AdAP],
AdverbZul [PositAdvAdj, SubjS],
@@ -9,7 +9,7 @@ concrete NguniGrammarZul of NguniGrammar =
SentenceZul [PredVP, ImpVP, UseCl, UseQCl, UseRCl],
QuestionZul [QuestCl, QuestIAdv, QuestIComp],
RelativeZul [RelVP, IdRP],
-- Conjunction,
-- ConjunctionZul,
PhraseZul [PhrUtt, UttS, UttQS, UttImpSg, NoPConj, NoVoc],
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],

View File

@@ -454,6 +454,7 @@ abstract MultiLex = Cat ** {
sock_N : N ;
soil_N : N ;
soldier_N : N ;
son_N : N ;
song_N : N ;
south_N : N ;
spade_N : N ;

View File

@@ -66,7 +66,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
advantage_N = mkN "zuzo" C9_10 ;
advertisement_N = mkN "aziso" 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 ;
air_N = mkN "moya" C3_4 ;
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 ;
chairman_N = mkN "sihlalo" C1a_2a ;
chauffeur_N = mkN "shayeli" C1_2 ;
cheese_N = mkN "shizi" C11_10 ;
cheese_N = mkN "shizi" C1a_2a ;
cheetah_N = mkN "gulule" C9_10 ;
chest_N = mkN "fuba" C7_8 ;
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 ;
customer_N = mkN "thengi" C1_2 ;
danger_N = mkN "ngozi" C9_10 ;
daughter_N = mkN "doda" C9_6 ;
daughter_N = mkN "dodakazi" C9_6 ;
day_N = mkN "suku" C11_10 ;
decision_N = mkN "nqumo" 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 ;
frost_N = mkN "thwathwa" 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 ;
glass_N = mkN "gilazi" 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 ;
soil_N = mkN "hlabathi" C3_4 ;
soldier_N = mkN "sosha" C5_6 ;
son_N = mkN "dodana" C9_6 ;
song_N = mkN "culo" C5_6 ;
south_N = mkN "Ningizimu" 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 ;
surname_N = mkN "bongo" C7_8 ;
sweater_N = mkN "jezi" C5_6 ;
sweet_N = mkN "Swidi" C5_6 ;
sweet_N = mkN "swidi" C5_6 ;
sympathy_N = mkN "hawu" C7_8 ;
table_N = mkN "tafula" 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 ;
work_N = mkN "sebenzi" 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 ;
zebra_N = mkN "dube" C5_6 ;
@@ -781,8 +782,8 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
interrupt_V2 = mkV2 "phazamis" ;
invite_V = mkV "mem" ;
invite_V2 = mkV2 "mem" ;
iron_V = mkV "ayin" ;
iron_V2 = mkV2 "ayin" ;
iron_V = mkV "-ayin" ;
iron_V2 = mkV2 "-ayin" ;
irritate_1_V = mkV "cunul" ;
irritate_1_V2 = mkV2 "cunul" ;
irritate_2_V = mkV "casul" ;
@@ -847,8 +848,8 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
open_V2 = mkV2 "vul" ;
oppress_V = mkV "cindezel" ;
oppress_V2 = mkV2 "cindezel" ;
order_V = mkV "od" ;
order_V2 = mkV2 "od" ;
order_V = mkV "-od" ;
order_V2 = mkV2 "-od" ;
pack_V = mkV "pakish" ;
pack_V2 = mkV2 "pakish" ;
paint_V = mkV "pend" ;