1
0
forked from GitHub/gf-rgl

(zul) mostly changes to VP

This commit is contained in:
Laurette Marais
2022-12-16 23:16:25 +02:00
parent fe2c221e7b
commit 21e84c764c
21 changed files with 731 additions and 204 deletions
+42 -10
View File
@@ -7,10 +7,11 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
s = table {
MainCl => \\a,p,t,l => let
vform = VFIndic MainCl p t ;
vpref = verb_prefix_no_oc vform l v.r a ;
tp = tensePref vform v.r v.syl ; -- [] / zo- / zuku-
r = v.s!(rform (VFIndic MainCl p t) l) -- hamba
r = v.s!(rform vform l) -- hamba
-- rest of verb prefix built later (eg no "ya" with certain question words)
in tp ++ r ;
in vpref ++ tp ++ r ;
RelCl => \\a,p,t,l => let
vform = VFIndic RelCl p t ;
rc = relConc vform a v.r ; -- o-
@@ -35,7 +36,21 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
SylMono => "yi"++BIND++v.s!R_a ++BIND++"ni" ;
SylMult => v.s!R_a ++BIND++"ni"
} ;
Neg => "ninga" ++BIND++ v.s!R_i
Neg => "ninga" ++BIND++ v.s!R_i
}
} ;
inf_s = table {
NFull => table {
Pos => "uku" ++BIND++ v.s!R_a ;
Neg => "uku" ++BIND++ "nga" ++BIND++ v.s!R_i
} ;
NReduced | NPoss => table {
Pos => "ku" ++BIND++ v.s!R_a ;
Neg => "ku" ++BIND++ "nga" ++BIND++ v.s!R_i
} ;
NLoc => table {
Pos => "e" ++BIND++ "ku"++BIND++v.s!R_e ++BIND++ "ni" ;
Neg => "e" ++BIND++ "ku"++BIND++"nga"++BIND++v.s!R_e ++BIND++ "ni"
}
} ;
iadv, advs, comp = [] ;
@@ -63,22 +78,36 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
True => relSuf vform ;
False => []
} ;
in rc ++ tp ++ r ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False
in rc ++ tp ++ r ++ vp.inf_s!NFull!Pos
} ;
imp_s = table {
Sg => table {
Pos => case v.syl of {
SylMono => "yi"++BIND++v.s!R_a ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False ;
SylMono => "yi"++BIND++v.s!R_a ++ vp.inf_s!NFull!Pos ;
SylMult => v.s!R_a
} ;
Neg => "unga" ++BIND++ v.s!R_i ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False
Neg => "unga" ++BIND++ v.s!R_i ++ vp.inf_s!NFull!Pos
} ;
Pl => table {
Pos => case v.syl of {
SylMono => "yi"++BIND++v.s!R_a ++BIND++"ni" ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False ;
SylMult => v.s!R_a ++BIND++"ni" ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False
SylMono => "yi"++BIND++v.s!R_a ++BIND++"ni" ++ vp.inf_s!NFull!Pos ;
SylMult => v.s!R_a ++BIND++"ni" ++ vp.inf_s!NFull!Pos
} ;
Neg => "ninga" ++BIND++ v.s!R_i ++ "uku" ++ BIND ++ vp.s!MainCl!(First Sg)!Pos!PresTense!False
Neg => "ninga" ++BIND++ v.s!R_i ++ vp.inf_s!NFull!Pos
}
} ;
inf_s = table {
NFull => table {
Pos => "uku" ++BIND++ v.s!R_a ++ vp.inf_s!NFull!Pos ;
Neg => "uku" ++BIND++ "nga" ++BIND++ v.s!R_i ++ vp.inf_s!NFull!Pos
} ;
NReduced | NPoss => table {
Pos => "ku" ++BIND++ v.s!R_a ++ vp.inf_s!NFull!Pos ;
Neg => "ku" ++BIND++ "nga" ++BIND++ v.s!R_i ++ vp.inf_s!NFull!Pos
} ;
NLoc => table {
Pos => "ku"++BIND++poss_pron_stem!(Third C15 Sg) ++ "uku"++BIND++v.s!R_a ++ vp.inf_s!NFull!Pos ;
Neg => "ku"++BIND++poss_pron_stem!(Third C15 Sg) ++ "uku"++BIND++"nga"++BIND++v.s!R_i ++ vp.inf_s!NFull!Pos
}
} ;
iadv, advs, comp = [] ;
@@ -252,7 +281,10 @@ concrete VerbZul of Verb = CatZul ** open ResZul, Prelude, ParamX in {
-- }
-- } ;
AdvVP vp adv = vp ** { advs = vp.advs ++ adv.s ; hasComp = True } ;
AdvVP vp adv = vp ** {
advs = vp.advs ++ adv.s ;
hasComp = True
} ;
-- {
-- s = vp.s ;
-- oc = vp.oc ;