forked from GitHub/gf-rgl
@@ -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 } ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -11,5 +11,6 @@ abstract CatExt = {
|
||||
-- INAdv ; -- which/-phi?
|
||||
|
||||
Postdet ;
|
||||
SubCl ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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" ;
|
||||
|
||||
Reference in New Issue
Block a user