refined the types Adv and Prep in Chi to control the presence of the zai auxiliary

This commit is contained in:
aarne
2013-09-28 03:06:55 +00:00
parent 573654e125
commit e5fe5d55c9
7 changed files with 59 additions and 40 deletions

View File

@@ -43,7 +43,8 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
(insertObj (mkNP (infVP vp)) (predV v v.part)) ** {c2 = vp.c2 ; isPre = vp.isPre} ;
AdvVP vp adv = case adv.advType of {
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps well
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps well
ATPlace True => insertAdv adv vp ; -- he sleeps on the table (zai - shang)
_ => insertAdv (ss (zai_V.s ++ adv.s)) vp -- he sleeps in the house / today
} ;
@@ -59,12 +60,16 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
CompCN cn = insertObj cn (predV copula []) ; ----
CompAdv adv = insertObj adv (predV zai_V []) ;
CompAdv adv = case adv.advType of {
ATPlace True => insertObj adv (predV noVerb []) ;
_ => insertObj adv (predV zai_V [])
} ;
VPSlashPrep vp prep = vp ** {c2 = prep ; isPre = True} ;
AdvVPSlash vp adv = case adv.advType of {
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps well
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps well
ATPlace True => insertAdv adv vp ; -- he sleeps on the table
_ => insertAdv (ss (zai_V.s ++ adv.s)) vp -- he sleeps in the house / today
} ** {c2 = vp.c2 ; isPre = vp.isPre} ;