mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
@@ -11,7 +11,7 @@ concrete BackwardZul of Backward = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
|
|
||||||
ComplV2 v2 np = {
|
ComplV2 v2 np = {
|
||||||
s = table {
|
s = table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = (VFIndic MainCl p t) ;
|
vform = (VFIndic MainCl p t) ;
|
||||||
tp = tensePref vform v2.r v2.syl ; -- [] / zo- / zuku-
|
tp = tensePref vform v2.r v2.syl ; -- [] / zo- / zuku-
|
||||||
oc = objConc np.agr v2.r v2.syl ; -- [] / m -
|
oc = objConc np.agr v2.r v2.syl ; -- [] / m -
|
||||||
@@ -25,7 +25,7 @@ concrete BackwardZul of Backward = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
True => tp ++ oc ++ r ++ obj ;
|
True => tp ++ oc ++ r ++ obj ;
|
||||||
False => tp ++ r ++ obj
|
False => tp ++ r ++ obj
|
||||||
} ;
|
} ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = (VFIndic RelCl p t) ;
|
vform = (VFIndic RelCl p t) ;
|
||||||
rc = relConc vform a v2.r ; -- o- / onga-
|
rc = relConc vform a v2.r ; -- o- / onga-
|
||||||
tp = tensePref vform v2.r v2.syl ; -- [] / zo- / zuku-
|
tp = tensePref vform v2.r v2.syl ; -- [] / zo- / zuku-
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ concrete CatZul of Cat = CommonX - [Temp,Tense,Adv,IAdv] **
|
|||||||
-- Verb
|
-- Verb
|
||||||
|
|
||||||
VP = {
|
VP = {
|
||||||
s : CType => Agr => Polarity => BasicTense => Str ; -- TODO: mood
|
s : CType => Agr => Polarity => BasicTense => Bool => Str ; -- TODO: mood
|
||||||
-- oc : Str ;
|
-- oc : Str ;
|
||||||
comp : Str ;
|
comp : Str ;
|
||||||
iadv : Str ;
|
iadv : Str ;
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ concrete RelativeZul of Relative = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
-- ++ (tensePref vform)
|
-- ++ (tensePref vform)
|
||||||
-- ++ vp.oc
|
-- ++ vp.oc
|
||||||
-- ++ vp.s!(rform vform_main reqLF)
|
-- ++ vp.s!(rform vform_main reqLF)
|
||||||
++ vp.s!RelCl!a!p!t
|
++ vp.s!RelCl!a!p!t!reqLF
|
||||||
-- ++ relsuf
|
-- ++ relsuf
|
||||||
++ vp.iadv
|
++ vp.iadv
|
||||||
++ vp.comp
|
++ vp.comp
|
||||||
@@ -89,7 +89,7 @@ concrete RelativeZul of Relative = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
-- naively removed subject
|
-- naively removed subject
|
||||||
rp.s ++
|
rp.s ++
|
||||||
-- pcp ++
|
-- pcp ++
|
||||||
vp.s!RelCl!a!p!t ++
|
vp.s!RelCl!a!p!t!False ++
|
||||||
vp.iadv ++
|
vp.iadv ++
|
||||||
vp.advs
|
vp.advs
|
||||||
} ;
|
} ;
|
||||||
@@ -109,7 +109,7 @@ concrete RelativeZul of Relative = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
-- naively removed subject
|
-- naively removed subject
|
||||||
rp.s ++
|
rp.s ++
|
||||||
-- pcp ++
|
-- pcp ++
|
||||||
vp.s!RelCl!a!p!t ++
|
vp.s!RelCl!a!p!t!False ++
|
||||||
vp.iadv ++
|
vp.iadv ++
|
||||||
vp.advs
|
vp.advs
|
||||||
} ;
|
} ;
|
||||||
@@ -124,7 +124,7 @@ concrete RelativeZul of Relative = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
-- naively removed subject
|
-- naively removed subject
|
||||||
rp.s ++
|
rp.s ++
|
||||||
pcp ++
|
pcp ++
|
||||||
vp.s!RelCl!a!p!t ++
|
vp.s!RelCl!a!p!t!False ++
|
||||||
vp.iadv ++
|
vp.iadv ++
|
||||||
vp.advs
|
vp.advs
|
||||||
} ;
|
} ;
|
||||||
@@ -140,7 +140,7 @@ concrete RelativeZul of Relative = CatZul ** open ResZul,Prelude,ParamX in {
|
|||||||
in
|
in
|
||||||
rp.s ++
|
rp.s ++
|
||||||
-- adjpref ++
|
-- adjpref ++
|
||||||
vp.s!RelCl!a!p!t
|
vp.s!RelCl!a!p!t!False
|
||||||
++ vp.iadv ++ vp.advs
|
++ vp.iadv ++ vp.advs
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -642,30 +642,6 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
t = RelType
|
t = RelType
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- enumAdj : Str -> { s : AForm => Str ; empty : Str ; t : AType } = \a ->
|
|
||||||
-- {
|
|
||||||
-- s = \\_ => a ;
|
|
||||||
-- -- b = case a of {
|
|
||||||
-- -- ("kh"|"th"|"sh"|"b"|"f"|"hl")+_ => True ;
|
|
||||||
-- -- ("m"|"n")+_ => True ;
|
|
||||||
-- -- _ => False
|
|
||||||
-- -- } ;
|
|
||||||
-- empty = [] ;
|
|
||||||
-- t = EnumType
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
-- relSuf : VForm -> Bool -> Str = \longform ->
|
|
||||||
-- case longform of {
|
|
||||||
-- True => pre { #vowel => [] ; #cons => [] ; "y" => [] ; _ => "yo" } ;
|
|
||||||
-- False => []
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
rel_yo : Str = pre {
|
|
||||||
#vowel => [] ;
|
|
||||||
#cons => [] ;
|
|
||||||
_ => BIND++"yo"
|
|
||||||
} ;
|
|
||||||
|
|
||||||
rel_yo_2 : Str = BIND++"yo" ;
|
rel_yo_2 : Str = BIND++"yo" ;
|
||||||
|
|
||||||
relSuf : VForm -> Str = \vform -> case vform of {
|
relSuf : VForm -> Str = \vform -> case vform of {
|
||||||
@@ -1204,6 +1180,11 @@ resource ResZul = open Prelude,Predef,ParamX in {
|
|||||||
-- FutTense => subjConcLookup ! agr ! SC ++BIND++ "zobe"
|
-- FutTense => subjConcLookup ! agr ! SC ++BIND++ "zobe"
|
||||||
-- } ;
|
-- } ;
|
||||||
|
|
||||||
|
impPref : Polarity -> Str = \pol -> case pol of {
|
||||||
|
Pos => [] ;
|
||||||
|
Neg => "u" ++BIND++ "nga" ++BIND
|
||||||
|
} ;
|
||||||
|
|
||||||
icomp_pref : VForm -> Agr -> Str = \vform,agr ->
|
icomp_pref : VForm -> Agr -> Str = \vform,agr ->
|
||||||
let
|
let
|
||||||
neg1 = icompNeg1 vform ;
|
neg1 = icompNeg1 vform ;
|
||||||
|
|||||||
@@ -12,8 +12,14 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
CopEq => cl_with_eq_cop_predicate np vp ;
|
CopEq => cl_with_eq_cop_predicate np vp ;
|
||||||
-- VACompl => cl_with_ap_comp_predicate np vp ;
|
-- VACompl => cl_with_ap_comp_predicate np vp ;
|
||||||
AdvComp => cl_with_adv_comp_predicate np vp ;
|
AdvComp => cl_with_adv_comp_predicate np vp ;
|
||||||
(NoComp | VNPCompl) => {
|
(NoComp | VNPCompl) =>
|
||||||
s = \\p,t => np.s!NFull ++ (verb_prefix vp p t np.agr) ++ vp.s!MainCl!np.agr!p!t ++ vp.comp ++ vp.iadv ++ vp.advs ;
|
let
|
||||||
|
longform_suffix = case vp.hasComp of {
|
||||||
|
True => False ;
|
||||||
|
False => True
|
||||||
|
}
|
||||||
|
in {
|
||||||
|
s = \\p,t => np.s!NFull ++ (verb_prefix vp p t np.agr) ++ vp.s!MainCl!np.agr!p!t!longform_suffix ++ vp.comp ++ vp.iadv ++ vp.advs ;
|
||||||
} ;
|
} ;
|
||||||
_ => cl_with_verb_predicate np vp
|
_ => cl_with_verb_predicate np vp
|
||||||
} ;
|
} ;
|
||||||
@@ -39,8 +45,8 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
in case vp.vptype of {
|
in case vp.vptype of {
|
||||||
VNPCompl => {
|
VNPCompl => {
|
||||||
s = table {
|
s = table {
|
||||||
Pos => vp.s!MainCl!np.agr!Pos!impTense ++ vp.comp ++ vp.iadv ++ vp.advs ;
|
Pos => vp.s!MainCl!np.agr!Pos!impTense!False ++ vp.comp ++ vp.iadv ++ vp.advs ;
|
||||||
Neg => "unga" ++ vp.s!MainCl!np.agr!Neg!impTense ++ vp.comp ++ vp.iadv ++ vp.advs
|
Neg => "unga" ++ vp.s!MainCl!np.agr!Neg!impTense!False ++ vp.comp ++ vp.iadv ++ vp.advs
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -108,7 +114,7 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
subj = np.s!NFull
|
subj = np.s!NFull
|
||||||
in
|
in
|
||||||
subj ++
|
subj ++
|
||||||
vp.s!MainCl!np.agr!p!t
|
vp.s!MainCl!np.agr!p!t!False
|
||||||
++ vp.comp ++ vp.iadv ++ vp.advs
|
++ vp.comp ++ vp.iadv ++ vp.advs
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -118,49 +124,52 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
subj = np.s!NFull ;
|
subj = np.s!NFull ;
|
||||||
vform_main = VFIndic MainCl p t ;
|
vform_main = VFIndic MainCl p t ;
|
||||||
in
|
in
|
||||||
subj
|
impPref p
|
||||||
++ (imp_verb_prefix vp p t np.agr)
|
++ vp.s!MainCl!np.agr!p!t!False
|
||||||
++ vp.s!MainCl!np.agr!p!t
|
|
||||||
++ vp.iadv
|
++ vp.iadv
|
||||||
++ vp.comp
|
++ vp.comp
|
||||||
++ vp.advs
|
++ vp.advs
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
imp_verb_prefix : VP -> Polarity -> BasicTense -> Agr -> Str = \vp,p,t,agr ->
|
-- imp_verb_prefix : VP -> Polarity -> BasicTense -> Agr -> Str = \vp,p,t,agr ->
|
||||||
let
|
-- let
|
||||||
-- vow = case <vp.hasComp,vp.r,p,t> of {
|
-- -- vow = case <vp.hasComp,vp.r,p,t> of {
|
||||||
vow = case <vp.hasComp,p,t,vp.r> of {
|
-- vow = case <vp.hasComp,p,t,vp.r> of {
|
||||||
<False,Pos,PresTense,RC> => False ; -- force the compiler to understand the table
|
-- <False,Pos,PresTense,RC> => False ; -- force the compiler to understand the table
|
||||||
<False,Pos,PresTense,_> => False ; -- long form ya
|
-- <False,Pos,PresTense,_> => False ; -- long form ya
|
||||||
|
--
|
||||||
<_,_,PresTense,RC> => False ;
|
-- <_,_,PresTense,RC> => False ;
|
||||||
<_,_,PresTense,_> => True ;
|
-- <_,_,PresTense,_> => True ;
|
||||||
-- <_,Pos,PerfTense,RC> => False ;
|
-- -- <_,Pos,PerfTense,RC> => False ;
|
||||||
-- <_,Pos,PerfTense,_> => True ;
|
-- -- <_,Pos,PerfTense,_> => True ;
|
||||||
<_,_,PastTense,RC> => False ;
|
-- <_,_,PastTense,RC> => False ;
|
||||||
<_,_,PastTense,_> => True ;
|
-- <_,_,PastTense,_> => True ;
|
||||||
<_,_,RemPastTense,RC> => False ;
|
-- <_,_,RemPastTense,RC> => False ;
|
||||||
<_,_,RemPastTense,_> => True ;
|
-- <_,_,RemPastTense,_> => True ;
|
||||||
<_,_,_,_> => False
|
-- <_,_,_,_> => False
|
||||||
} ;
|
-- } ;
|
||||||
vform = VFIndic MainCl p t
|
-- vform = VFIndic MainCl p t
|
||||||
in
|
-- in
|
||||||
(negPref vform)
|
-- (negPref vform)
|
||||||
-- ++ (exclSePref vform_main)
|
-- -- ++ (exclSePref vform_main)
|
||||||
++ (subjConc vform agr vow)
|
-- ++ (subjConc vform agr vow)
|
||||||
-- ++ (negPref2 vform_main)
|
-- -- ++ (negPref2 vform_main)
|
||||||
-- ++ (tensePref vform)
|
-- -- ++ (tensePref vform)
|
||||||
;
|
-- ;
|
||||||
|
|
||||||
cl_with_verb_predicate : NP -> VP -> { s : Polarity => BasicTense => Str } = \np,vp -> {
|
cl_with_verb_predicate : NP -> VP -> { s : Polarity => BasicTense => Str } = \np,vp -> {
|
||||||
s = \\p,t =>
|
s = \\p,t =>
|
||||||
let
|
let
|
||||||
subj = np.s!NFull ;
|
subj = np.s!NFull ;
|
||||||
vform_main = VFIndic MainCl p t ;
|
vform_main = VFIndic MainCl p t ;
|
||||||
|
longform_suffix = case vp.hasComp of {
|
||||||
|
True => False ;
|
||||||
|
False => True
|
||||||
|
}
|
||||||
in
|
in
|
||||||
subj
|
subj
|
||||||
++ (verb_prefix vp p t np.agr)
|
++ (verb_prefix vp p t np.agr)
|
||||||
++ vp.s!MainCl!np.agr!p!t
|
++ vp.s!MainCl!np.agr!p!t!longform_suffix
|
||||||
++ vp.iadv
|
++ vp.iadv
|
||||||
++ vp.comp
|
++ vp.comp
|
||||||
++ vp.advs
|
++ vp.advs
|
||||||
@@ -209,7 +218,7 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
in
|
in
|
||||||
subj ++
|
subj ++
|
||||||
-- pcp ++
|
-- pcp ++
|
||||||
vp.s!MainCl!np.agr!p!t
|
vp.s!MainCl!np.agr!p!t!False
|
||||||
++ vp.comp ++ vp.iadv ++ vp.advs
|
++ vp.comp ++ vp.iadv ++ vp.advs
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -240,7 +249,7 @@ concrete SentenceZul of Sentence = CatZul ** open Prelude,ResZul,ParamX in {
|
|||||||
-- ++ lfya
|
-- ++ lfya
|
||||||
-- -- ++ (tensePref vform_main)
|
-- -- ++ (tensePref vform_main)
|
||||||
-- ++ vp.comp
|
-- ++ vp.comp
|
||||||
vp.s!MainCl!np.agr!p!t
|
vp.s!MainCl!np.agr!p!t!False
|
||||||
++ vp.comp ++ vp.iadv ++ vp.advs
|
++ vp.comp ++ vp.iadv ++ vp.advs
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
CopAP ap = {
|
CopAP ap = {
|
||||||
s = case ap.t of {
|
s = case ap.t of {
|
||||||
AdjType => table {
|
AdjType => table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
pcp = ap_cop_pref vform a AdjType ; -- u- / uzoba / ube- / waye- / wayenge-
|
pcp = ap_cop_pref vform a AdjType ; -- u- / uzoba / ube- / 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
|
||||||
in
|
in
|
||||||
pcp ++ adjpref ++ cop_base ;
|
pcp ++ adjpref ++ cop_base ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rcp = (relConcCop vform a RC) ; -- o-
|
rcp = (relConcCop vform a RC) ; -- 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-
|
||||||
@@ -22,13 +22,13 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
rcp ++ pcp ++ adjpref ++ cop_base
|
rcp ++ pcp ++ adjpref ++ cop_base
|
||||||
} ;
|
} ;
|
||||||
RelType => table {
|
RelType => table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
pcp = ap_cop_pref vform a RelType ; -- u-
|
pcp = ap_cop_pref vform a RelType ; -- u-
|
||||||
cop_base = ap.s!AF1 -- qotho
|
cop_base = ap.s!AF1 -- qotho
|
||||||
in
|
in
|
||||||
pcp ++ cop_base ;
|
pcp ++ cop_base ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rcp = (relConcCop vform a RC) ; -- o-
|
rcp = (relConcCop vform a RC) ; -- o-
|
||||||
pcp = ap_cop_pref vform a RelType ; -- [] / -nge- / zoba / -benge-
|
pcp = ap_cop_pref vform a RelType ; -- [] / -nge- / zoba / -benge-
|
||||||
@@ -46,14 +46,14 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
|
|
||||||
CopNP np = {
|
CopNP np = {
|
||||||
s = table {
|
s = table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
pcp = (id_pre_cop_pref vform a) ; -- u- / uzoba / akazukuba
|
pcp = (id_pre_cop_pref vform a) ; -- u- / uzoba / akazukuba
|
||||||
cp = (id_cop_pref np.agr) ; -- ng-
|
cp = (id_cop_pref np.agr) ; -- ng-
|
||||||
cop_base = np.s!NFull -- umfundi
|
cop_base = np.s!NFull -- umfundi
|
||||||
in
|
in
|
||||||
pcp ++ cp ++ cop_base ;
|
pcp ++ cp ++ cop_base ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rcp = (relConcCop vform a RC) ; -- o-
|
rcp = (relConcCop vform a RC) ; -- o-
|
||||||
pcp = (id_pre_cop_pref vform a) ; -- [] / zoba / zukuba
|
pcp = (id_pre_cop_pref vform a) ; -- [] / zoba / zukuba
|
||||||
@@ -71,14 +71,14 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
|
|
||||||
CopNPAssoc np = {
|
CopNPAssoc np = {
|
||||||
s = table {
|
s = table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
pcp = (assoc_pre_cop_pref vform a) ; -- u- / uzoba
|
pcp = (assoc_pre_cop_pref vform a) ; -- u- / uzoba
|
||||||
cp = (assoc_cop_pref p np.agr) ; -- ne-
|
cp = (assoc_cop_pref p np.agr) ; -- ne-
|
||||||
cop_base = np.s!NReduced -- moto
|
cop_base = np.s!NReduced -- moto
|
||||||
in
|
in
|
||||||
pcp ++ cp ++ cop_base ;
|
pcp ++ cp ++ cop_base ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rcp = (relConcCop vform a RC) ; -- o-
|
rcp = (relConcCop vform a RC) ; -- o-
|
||||||
pcp = (assoc_pre_cop_pref vform a) ; -- [] / zoba
|
pcp = (assoc_pre_cop_pref vform a) ; -- [] / zoba
|
||||||
@@ -96,7 +96,7 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
|
|
||||||
ComplV2Nonspec v2 np = {
|
ComplV2Nonspec v2 np = {
|
||||||
s = table {
|
s = table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
tp = tensePref vform v2.r v2.syl ;
|
tp = tensePref vform v2.r v2.syl ;
|
||||||
oc = objConc np.agr v2.r v2.syl ;
|
oc = objConc np.agr v2.r v2.syl ;
|
||||||
@@ -113,7 +113,7 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
True => tp ++ oc ++ r ++ obj ;
|
True => tp ++ oc ++ r ++ obj ;
|
||||||
False => tp ++ r ++ obj
|
False => tp ++ r ++ obj
|
||||||
} ;
|
} ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = (VFIndic RelCl p t) ;
|
vform = (VFIndic RelCl p t) ;
|
||||||
rc = relConc vform a v2.r ;
|
rc = relConc vform a v2.r ;
|
||||||
tp = tensePref vform v2.r v2.syl ;
|
tp = tensePref vform v2.r v2.syl ;
|
||||||
@@ -141,7 +141,7 @@ concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, Param
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
CopLoc loc = {
|
CopLoc loc = {
|
||||||
s = loc.s ;
|
s = \\c,a,p,t,l => loc.s!c!a!p!t ;
|
||||||
comp,advs,iadv = [] ;
|
comp,advs,iadv = [] ;
|
||||||
hasComp = True ;
|
hasComp = True ;
|
||||||
r = RC ;
|
r = RC ;
|
||||||
|
|||||||
@@ -5,18 +5,21 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
|
|||||||
lin
|
lin
|
||||||
UseV v = {
|
UseV v = {
|
||||||
s = table {
|
s = table {
|
||||||
MainCl => \\a,p,t => let
|
MainCl => \\a,p,t,l => let
|
||||||
vform = VFIndic MainCl p t ;
|
vform = VFIndic MainCl p t ;
|
||||||
tp = tensePref vform v.r v.syl ; -- [] / zo- / zuku-
|
tp = tensePref vform v.r v.syl ; -- [] / zo- / zuku-
|
||||||
r = v.s!(rform (VFIndic MainCl p t) True) -- hamba
|
r = v.s!(rform (VFIndic MainCl p t) l) -- hamba
|
||||||
-- rest of verb prefix built later (eg no "ya" with certain question words)
|
-- rest of verb prefix built later (eg no "ya" with certain question words)
|
||||||
in tp ++ r ;
|
in tp ++ r ;
|
||||||
RelCl => \\a,p,t => let
|
RelCl => \\a,p,t,l => let
|
||||||
vform = VFIndic RelCl p t ;
|
vform = VFIndic RelCl p t ;
|
||||||
rc = relConc vform a v.r ; -- o-
|
rc = relConc vform a v.r ; -- o-
|
||||||
tp = tensePref vform v.r v.syl ; -- [] / zo- / zuku-
|
tp = tensePref vform v.r v.syl ; -- [] / zo- / zuku-
|
||||||
r = v.s!(rform vform True) ; -- hamba
|
r = v.s!(rform vform l) ; -- hamba
|
||||||
suf = relSuf vform -- [] / -yo
|
suf = case l of {
|
||||||
|
True => relSuf vform ;
|
||||||
|
False => []
|
||||||
|
} ;
|
||||||
in rc ++ tp ++ r ++ suf
|
in rc ++ tp ++ r ++ suf
|
||||||
} ;
|
} ;
|
||||||
iadv, advs, comp = [] ;
|
iadv, advs, comp = [] ;
|
||||||
@@ -192,7 +195,7 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
|
|||||||
-- }
|
-- }
|
||||||
-- } ;
|
-- } ;
|
||||||
|
|
||||||
AdvVP vp adv = vp ** { advs = vp.advs ++ adv.s } ;
|
AdvVP vp adv = vp ** { advs = vp.advs ++ adv.s ; hasComp = True } ;
|
||||||
-- {
|
-- {
|
||||||
-- s = vp.s ;
|
-- s = vp.s ;
|
||||||
-- oc = vp.oc ;
|
-- oc = vp.oc ;
|
||||||
|
|||||||
@@ -78,4 +78,6 @@ abstract DevLex = Cat ** {
|
|||||||
ngaphezu_Adv : Adv ;
|
ngaphezu_Adv : Adv ;
|
||||||
-- kakhulu_AdA : AdA ;
|
-- kakhulu_AdA : AdA ;
|
||||||
|
|
||||||
|
lapho_Adv : Adv ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,4 +76,6 @@ concrete DevLexZul of DevLex = CatZul ** open ResZul,ParadigmsZul in {
|
|||||||
|
|
||||||
ngaphezu_Adv = mkAdv "ngaphezu" ;
|
ngaphezu_Adv = mkAdv "ngaphezu" ;
|
||||||
-- kakhulu_AdA = { s = "kakhulu" } ;
|
-- kakhulu_AdA = { s = "kakhulu" } ;
|
||||||
|
|
||||||
|
lapho_Adv = mkAdv "lapho" ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,64 @@
|
|||||||
abstract MultiLex = Cat ** {
|
abstract MultiLex = Cat ** {
|
||||||
|
|
||||||
fun
|
fun
|
||||||
|
big_A : A ;
|
||||||
|
bad_A : A ;
|
||||||
|
beautiful_A : A ;
|
||||||
|
better_A : A ;
|
||||||
|
bitter_A : A ;
|
||||||
|
black_A : A ;
|
||||||
|
blue_A : A ;
|
||||||
|
blunt_A : A ;
|
||||||
|
brown_A : A ;
|
||||||
|
busy_A : A ;
|
||||||
|
certain_A : A ;
|
||||||
|
cold_A : A ;
|
||||||
|
colourful_A : A ;
|
||||||
|
difficult_A : A ;
|
||||||
|
easy_A : A ;
|
||||||
|
few_A : A ;
|
||||||
|
five_A : A ;
|
||||||
|
four_A : A ;
|
||||||
|
green_A : A ;
|
||||||
|
grey_A : A ;
|
||||||
|
hard_A : A ;
|
||||||
|
holy_A : A ;
|
||||||
|
honest_A : A ;
|
||||||
|
hwvy_A : A ;
|
||||||
|
innocent_A : A ;
|
||||||
|
kind_A : A ;
|
||||||
|
light_A : A ;
|
||||||
|
long_A : A ;
|
||||||
|
many_A : A ;
|
||||||
|
most_important_A : A ;
|
||||||
|
new_A : A ;
|
||||||
|
old_A : A ;
|
||||||
|
one_A : A ;
|
||||||
|
orange_A : A ;
|
||||||
|
overcast_A : A ;
|
||||||
|
painful_A : A ;
|
||||||
|
peaceful_A : A ;
|
||||||
|
pink_A : A ;
|
||||||
|
pleasant_A : A ;
|
||||||
|
poor_A : A ;
|
||||||
|
purple_A : A ;
|
||||||
|
red_A : A ;
|
||||||
|
sharp_A : A ;
|
||||||
|
short_A : A ;
|
||||||
|
small_A : A ;
|
||||||
|
soft_A : A ;
|
||||||
|
sour_A : A ;
|
||||||
|
spotted_A : A ;
|
||||||
|
strong_A : A ;
|
||||||
|
sweet_A : A ;
|
||||||
|
tasteless_A : A ;
|
||||||
|
three_A : A ;
|
||||||
|
two_A : A ;
|
||||||
|
wet_A : A ;
|
||||||
|
white_A : A ;
|
||||||
|
wide_A : A ;
|
||||||
|
yellow_A : A ;
|
||||||
|
|
||||||
-- nouns
|
-- nouns
|
||||||
ability_N : N ;
|
ability_N : N ;
|
||||||
accident_N : N ;
|
accident_N : N ;
|
||||||
|
|||||||
@@ -1,6 +1,65 @@
|
|||||||
concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in {
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
-- adjectives
|
||||||
|
big_A = mkA "khulu" ;
|
||||||
|
bad_A = mkA "bi" ;
|
||||||
|
beautiful_A = mkA "hle" ;
|
||||||
|
better_A = mkA "ngcono" ;
|
||||||
|
bitter_A = mkA "munyu" ;
|
||||||
|
black_A = mkA "mnyama" ;
|
||||||
|
blue_A = mkA "luhlaza" ;
|
||||||
|
blunt_A = mkA "buthuntu" ;
|
||||||
|
brown_A = mkA "nsundu" ;
|
||||||
|
busy_A = mkA "matasatosa" ;
|
||||||
|
certain_A = mkA "thile" ;
|
||||||
|
cold_A = mkA "makhaza" ;
|
||||||
|
colourful_A = mkA "makhwezikhwezi" ;
|
||||||
|
difficult_A = mkA "nzima" ;
|
||||||
|
easy_A = mkA "lula" ;
|
||||||
|
few_A = mkA "mbalwa" ;
|
||||||
|
five_A = mkA "hlonu" ;
|
||||||
|
four_A = mkA "ne" ;
|
||||||
|
green_A = mkA "luhlaza" ;
|
||||||
|
grey_A = mkA "mpunga" ;
|
||||||
|
hard_A = mkA "lukhuni" ;
|
||||||
|
holy_A = mkA "ngcwele" ;
|
||||||
|
honest_A = mkA "qotho" ;
|
||||||
|
hwvy_A = mkA "nzima" ;
|
||||||
|
innocent_A = mkA "msulwa" ;
|
||||||
|
kind_A = mkA "mnene" ;
|
||||||
|
light_A = mkA "lula" ;
|
||||||
|
long_A = mkA "de" ;
|
||||||
|
many_A = mkA "ningi" ;
|
||||||
|
most_important_A = mkA "mqoka" ;
|
||||||
|
new_A = mkA "sha" ;
|
||||||
|
old_A = mkA "dolo" ;
|
||||||
|
one_A = mkA "nye" ;
|
||||||
|
orange_A = mkA "sawolintshi" ;
|
||||||
|
overcast_A = mkA "mathumbenkala" ;
|
||||||
|
painful_A = mkA "buhlungu" ;
|
||||||
|
peaceful_A = mkA "thule" ;
|
||||||
|
pink_A = mkA "bomvana" ;
|
||||||
|
pleasant_A = mkA "mnandi" ;
|
||||||
|
poor_A = mkA "mpofu" ;
|
||||||
|
purple_A = mkA "bunsomi" ;
|
||||||
|
red_A = mkA "bomvu" ;
|
||||||
|
sharp_A = mkA "bukhali" ;
|
||||||
|
short_A = mkA "fushane" ;
|
||||||
|
small_A = mkA "ncane" ;
|
||||||
|
soft_A = mkA "ntofontofo" ;
|
||||||
|
sour_A = mkA "munyu" ;
|
||||||
|
spotted_A = mkA "mabalabala" ;
|
||||||
|
strong_A = mkA "qatha" ;
|
||||||
|
sweet_A = mkA "mtoti" ;
|
||||||
|
tasteless_A = mkA "duma" ;
|
||||||
|
three_A = mkA "thathu" ;
|
||||||
|
two_A = mkA "bili" ;
|
||||||
|
wet_A = mkA "manzi" ;
|
||||||
|
white_A = mkA "mhlophe" ;
|
||||||
|
wide_A = mkA "banzi" ;
|
||||||
|
yellow_A = mkA "phuzi" ;
|
||||||
|
|
||||||
-- nouns
|
-- nouns
|
||||||
ability_N = mkN "khono" C5_6 ;
|
ability_N = mkN "khono" C5_6 ;
|
||||||
accident_N = mkN "ngozi" C9_10 ;
|
accident_N = mkN "ngozi" C9_10 ;
|
||||||
|
|||||||
Reference in New Issue
Block a user