mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-07-02 03:58:34 -06:00
zulu inclusion
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
concrete VerbExtZul of VerbExt = CatZul,CatExtZul ** open ResZul, Prelude, ParamX in {
|
||||
|
||||
lin
|
||||
|
||||
CopAP ap = {
|
||||
s = case ap.t of {
|
||||
AdjType => table {
|
||||
MainCl => \\a,p,t => let
|
||||
vform = VFIndic MainCl p t ;
|
||||
pcp = ap_cop_pref vform a AdjType ; -- u- / uzoba / ube- / waye- / wayenge-
|
||||
adjpref = adjPref a vform ; -- m-
|
||||
cop_base = ap.s!(aformN a) -- khulu
|
||||
in
|
||||
pcp ++ adjpref ++ cop_base ;
|
||||
RelCl => \\a,p,t => let
|
||||
vform = VFIndic RelCl p t ;
|
||||
rcp = (relConcCop vform a RC) ; -- 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
|
||||
in
|
||||
rcp ++ pcp ++ adjpref ++ cop_base
|
||||
} ;
|
||||
RelType => table {
|
||||
MainCl => \\a,p,t => let
|
||||
vform = VFIndic MainCl p t ;
|
||||
pcp = ap_cop_pref vform a RelType ; -- u-
|
||||
cop_base = ap.s!AF1 -- qotho
|
||||
in
|
||||
pcp ++ cop_base ;
|
||||
RelCl => \\a,p,t => let
|
||||
vform = VFIndic RelCl p t ;
|
||||
rcp = (relConcCop vform a RC) ; -- o-
|
||||
pcp = ap_cop_pref vform a RelType ; -- [] / -nge- / zoba / -benge-
|
||||
cop_base = ap.s!AF1 -- qotho
|
||||
in
|
||||
rcp ++ pcp ++ cop_base
|
||||
}
|
||||
} ;
|
||||
comp, iadv, advs = [] ;
|
||||
hasComp = True ;
|
||||
r = RC ; -- should not be used
|
||||
syl = SylMult ;
|
||||
vptype = CopDescr
|
||||
} ;
|
||||
|
||||
CopNP np = {
|
||||
s = table {
|
||||
MainCl => \\a,p,t => let
|
||||
vform = VFIndic MainCl p t ;
|
||||
pcp = (id_pre_cop_pref vform a) ; -- u- / uzoba / akazukuba
|
||||
cp = (id_cop_pref np.agr) ; -- ng-
|
||||
cop_base = np.s!NFull -- umfundi
|
||||
in
|
||||
pcp ++ cp ++ cop_base ;
|
||||
RelCl => \\a,p,t => let
|
||||
vform = VFIndic RelCl p t ;
|
||||
rcp = (relConcCop vform a RC) ; -- o-
|
||||
pcp = (id_pre_cop_pref vform a) ; -- [] / zoba / zukuba
|
||||
cp = (id_cop_pref np.agr) ; -- ng-
|
||||
cop_base = np.s!NFull -- umfundi
|
||||
in
|
||||
rcp ++ pcp ++ cp ++ cop_base
|
||||
} ;
|
||||
comp, iadv, advs = [] ;
|
||||
hasComp = np.heavy ;
|
||||
r = RC ; -- should not be used
|
||||
syl = SylMult ;
|
||||
vptype = CopIdent
|
||||
} ;
|
||||
|
||||
CopNPAssoc np = {
|
||||
s = table {
|
||||
MainCl => \\a,p,t => let
|
||||
vform = VFIndic MainCl p t ;
|
||||
pcp = (assoc_pre_cop_pref vform a) ; -- u- / uzoba
|
||||
cp = (assoc_cop_pref p np.agr) ; -- ne-
|
||||
cop_base = np.s!NReduced -- moto
|
||||
in
|
||||
pcp ++ cp ++ cop_base ;
|
||||
RelCl => \\a,p,t => let
|
||||
vform = VFIndic RelCl p t ;
|
||||
rcp = (relConcCop vform a RC) ; -- o-
|
||||
pcp = (assoc_pre_cop_pref vform a) ; -- [] / zoba
|
||||
cp = (assoc_cop_pref p np.agr) ; -- ne
|
||||
cop_base = np.s!NReduced -- moto
|
||||
in
|
||||
rcp ++ pcp ++ cp ++ cop_base
|
||||
} ;
|
||||
comp, iadv, advs = [] ;
|
||||
hasComp = np.heavy ;
|
||||
r = RC ; -- should not be used
|
||||
syl = SylMult ;
|
||||
vptype = CopAssoc
|
||||
} ;
|
||||
|
||||
ComplV2Nonspec v2 np = {
|
||||
s = table {
|
||||
MainCl => \\a,p,t => let
|
||||
vform = VFIndic MainCl p t ;
|
||||
tp = tensePref vform v2.r v2.syl ;
|
||||
oc = objConc np.agr v2.r v2.syl ;
|
||||
longform = case np.heavy of {
|
||||
True => False ;
|
||||
False => True
|
||||
} ;
|
||||
r = v2.s!(rform (VFIndic MainCl p t) longform) ;
|
||||
obj = case p of {
|
||||
Pos => np.s!NFull ;
|
||||
Neg => np.s!NReduced
|
||||
} ;
|
||||
in case np.proDrop of {
|
||||
True => tp ++ oc ++ r ++ obj ;
|
||||
False => tp ++ r ++ obj
|
||||
} ;
|
||||
RelCl => \\a,p,t => let
|
||||
vform = (VFIndic RelCl p t) ;
|
||||
rc = relConc vform a v2.r ;
|
||||
tp = tensePref vform v2.r v2.syl ;
|
||||
oc = objConc np.agr v2.r v2.syl ;
|
||||
longform = case np.heavy of {
|
||||
True => False ;
|
||||
False => True
|
||||
} ;
|
||||
r = v2.s!(rform vform longform) ;
|
||||
obj = case p of {
|
||||
Pos => np.s!NFull ;
|
||||
Neg => np.s!NReduced
|
||||
} ;
|
||||
in case np.proDrop of {
|
||||
True => rc ++ tp ++ oc ++ r ++ obj ;
|
||||
False => rc ++ tp ++ r ++ obj
|
||||
}
|
||||
} ;
|
||||
iadv, advs, comp = [] ;
|
||||
ap_comp = \\_ => [] ;
|
||||
hasComp = np.heavy ;
|
||||
r = v2.r ;
|
||||
syl = v2.syl ;
|
||||
vptype = VNPCompl
|
||||
} ;
|
||||
|
||||
CopLoc loc = {
|
||||
s = loc.s ;
|
||||
comp,advs,iadv = [] ;
|
||||
hasComp = True ;
|
||||
r = RC ;
|
||||
syl = SylMult ;
|
||||
vptype = CopLoc
|
||||
} ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user