forked from GitHub/gf-core
refined the types Adv and Prep in Chi to control the presence of the zai auxiliary
This commit is contained in:
@@ -4,7 +4,7 @@ concrete AdverbChi of Adverb = CatChi **
|
|||||||
lin
|
lin
|
||||||
PositAdvAdj a = {s = a.s ; advType = ATManner} ;
|
PositAdvAdj a = {s = a.s ; advType = ATManner} ;
|
||||||
|
|
||||||
PrepNP prep np = ss (appPrep prep np.s) ** {advType = ATPlace} ; --- should depend on prep, np ? or treat in ExtraChi ?
|
PrepNP prep np = ss (appPrep prep np.s) ** {advType = prep.advType} ; --- should depend on np too ?
|
||||||
|
|
||||||
ComparAdvAdj cadv a np = ss (a.s ++ cadv.s ++ cadv.p ++ np.s) ** {advType = ATManner} ;
|
ComparAdvAdj cadv a np = ss (a.s ++ cadv.s ++ cadv.p ++ np.s) ** {advType = ATManner} ;
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin
|
|||||||
lin
|
lin
|
||||||
|
|
||||||
ConjS c = conjunctDistrSS (c.s ! CSent) ;
|
ConjS c = conjunctDistrSS (c.s ! CSent) ;
|
||||||
ConjAdv c as = conjunctDistrSS (c.s ! CSent) as ** {advType = ATPlace} ; ---- ??
|
ConjAdv c as = conjunctDistrSS (c.s ! CSent) as ** {advType = as.advType} ; ---- ??
|
||||||
ConjNP c = conjunctDistrSS (c.s ! CPhr CNPhrase) ;
|
ConjNP c = conjunctDistrSS (c.s ! CPhr CNPhrase) ;
|
||||||
ConjAP c as = conjunctDistrSS (c.s ! CPhr CAPhrase) as ** {monoSyl = False} ;
|
ConjAP c as = conjunctDistrSS (c.s ! CPhr CAPhrase) as ** {monoSyl = False} ;
|
||||||
ConjRS c = conjunctDistrSS (c.s ! CSent) ;
|
ConjRS c = conjunctDistrSS (c.s ! CSent) ;
|
||||||
@@ -12,8 +12,8 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin
|
|||||||
|
|
||||||
BaseS = twoSS ;
|
BaseS = twoSS ;
|
||||||
ConsS = consrSS duncomma ;
|
ConsS = consrSS duncomma ;
|
||||||
BaseAdv = twoSS ;
|
BaseAdv x y = twoSS x y ** {advType = x.advType} ; ---- ??
|
||||||
ConsAdv = consrSS duncomma ;
|
ConsAdv x xs = consrSS duncomma x xs ** {advType = x.advType} ; ---- ??
|
||||||
BaseNP = twoSS ;
|
BaseNP = twoSS ;
|
||||||
ConsNP = consrSS duncomma ;
|
ConsNP = consrSS duncomma ;
|
||||||
BaseAP = twoSS ;
|
BaseAP = twoSS ;
|
||||||
@@ -23,7 +23,7 @@ concrete ConjunctionChi of Conjunction = CatChi ** open ResChi, Prelude, Coordin
|
|||||||
|
|
||||||
lincat
|
lincat
|
||||||
[S] = {s1,s2 : Str} ;
|
[S] = {s1,s2 : Str} ;
|
||||||
[Adv] = {s1,s2 : Str} ;
|
[Adv] = {s1,s2 : Str ; advType : AdvType} ;
|
||||||
[NP] = {s1,s2 : Str} ;
|
[NP] = {s1,s2 : Str} ;
|
||||||
[AP] = {s1,s2 : Str} ;
|
[AP] = {s1,s2 : Str} ;
|
||||||
[RS] = {s1,s2 : Str} ;
|
[RS] = {s1,s2 : Str} ;
|
||||||
|
|||||||
@@ -491,7 +491,7 @@ rate_N = mkN "率" ;
|
|||||||
bond_N = mkN "券" ;
|
bond_N = mkN "券" ;
|
||||||
zoological_A = mkA "关于动物" ;
|
zoological_A = mkA "关于动物" ;
|
||||||
time_N = mkN "时间" ;
|
time_N = mkN "时间" ;
|
||||||
presidentMasc_N = mkN "" ; --?? Don't understand
|
--* presidentMasc_N = mkN "" ; --?? Don't understand
|
||||||
week_N = mkN "星期" ;
|
week_N = mkN "星期" ;
|
||||||
investor_N = mkN "投资者" ;
|
investor_N = mkN "投资者" ;
|
||||||
into_Prep = mkPrep "成" ;
|
into_Prep = mkPrep "成" ;
|
||||||
@@ -502,7 +502,7 @@ analyst_N = mkN "分析人士" ;
|
|||||||
make_V2 = mkV2 "使" ;
|
make_V2 = mkV2 "使" ;
|
||||||
cent_N = mkN "一分钱" ;
|
cent_N = mkN "一分钱" ;
|
||||||
only_Adv = mkAdv "只有" ;
|
only_Adv = mkAdv "只有" ;
|
||||||
anyPl_Det = mkpDet "" ; --?? Don't understand
|
--* anyPl_Det = mkpDet "" ; --?? Don't understand
|
||||||
not_Adv = mkAdv "不" ;
|
not_Adv = mkAdv "不" ;
|
||||||
interest_N = mkN "利息" ;
|
interest_N = mkN "利息" ;
|
||||||
group_N = mkN "团" ;
|
group_N = mkN "团" ;
|
||||||
@@ -512,7 +512,7 @@ do_V = mkV "做" ;
|
|||||||
program_N = mkN "节目" ;
|
program_N = mkN "节目" ;
|
||||||
recent_A = mkA "最近" ;
|
recent_A = mkA "最近" ;
|
||||||
firm_N = mkN "公司" ;
|
firm_N = mkN "公司" ;
|
||||||
officialMasc_N = mkN "" ; --?? Don't understand
|
--* officialMasc_N = mkN "" ; --?? Don't understand
|
||||||
fund_N = mkN "基金" ;
|
fund_N = mkN "基金" ;
|
||||||
unit_3_N = mkN "单元" ;
|
unit_3_N = mkN "单元" ;
|
||||||
yesterday_N = mkN "昨天" ;
|
yesterday_N = mkN "昨天" ;
|
||||||
@@ -696,7 +696,7 @@ employee_N = mkN "职员" ;
|
|||||||
credit_N = mkN "信用" ;
|
credit_N = mkN "信用" ;
|
||||||
continue_VV = mkVV "继续" ;
|
continue_VV = mkVV "继续" ;
|
||||||
note_N = mkN "笔记" ;
|
note_N = mkN "笔记" ;
|
||||||
customerMasc_N = mkN "" ; --?? Don't understand
|
--* customerMasc_N = mkN "" ; --?? Don't understand
|
||||||
spend_V = mkV "花费" ;
|
spend_V = mkV "花费" ;
|
||||||
transaction_N = mkN "交易" ;
|
transaction_N = mkN "交易" ;
|
||||||
about_AdN = mkAdN "关于" ;
|
about_AdN = mkAdN "关于" ;
|
||||||
@@ -724,7 +724,7 @@ believe_VS = mkVS "相信" ;
|
|||||||
proposal_N = mkN "建议" ;
|
proposal_N = mkN "建议" ;
|
||||||
political_A = mkA "政治性" ;
|
political_A = mkA "政治性" ;
|
||||||
base_V2 = mkV2 "垒" ;
|
base_V2 = mkV2 "垒" ;
|
||||||
amp_Conj = mkConj "" ;
|
amp_Conj = mkConj "&" ;
|
||||||
pay_V = mkV "交纳" ;
|
pay_V = mkV "交纳" ;
|
||||||
nation_N = mkN "国家" ;
|
nation_N = mkN "国家" ;
|
||||||
out_of_Prep = mkPrep "在什么以外" ;
|
out_of_Prep = mkPrep "在什么以外" ;
|
||||||
@@ -1285,7 +1285,7 @@ improvement_N = mkN "改善" ;
|
|||||||
himself_NP = mkNPword "他自己" ;
|
himself_NP = mkNPword "他自己" ;
|
||||||
commodity_N = mkN "商品" ;
|
commodity_N = mkN "商品" ;
|
||||||
attract_V2 = mkV2 "吸引" ;
|
attract_V2 = mkV2 "吸引" ;
|
||||||
unchanged_A = mkA "" ;
|
--* unchanged_A = mkA "" ;
|
||||||
traditional_A = mkA "传统" ;
|
traditional_A = mkA "传统" ;
|
||||||
texas_PN = mkPN "德州" ;
|
texas_PN = mkPN "德州" ;
|
||||||
sense_N = mkN "感应" ;
|
sense_N = mkN "感应" ;
|
||||||
@@ -1302,7 +1302,7 @@ negotiation_N = mkN "谈判" ;
|
|||||||
key_A = mkA "关键" ;
|
key_A = mkA "关键" ;
|
||||||
indeed_Adv = mkAdv "的确" ;
|
indeed_Adv = mkAdv "的确" ;
|
||||||
appeal_N = mkN "上诉" ;
|
appeal_N = mkN "上诉" ;
|
||||||
researcherMasc_N = mkN "" ;
|
--* researcherMasc_N = mkN "" ;
|
||||||
phone_N = mkN "电话" ;
|
phone_N = mkN "电话" ;
|
||||||
need_N = mkN "需要" ;
|
need_N = mkN "需要" ;
|
||||||
institutional_A = mkA "机构" ;
|
institutional_A = mkA "机构" ;
|
||||||
@@ -1838,7 +1838,7 @@ outlook_N = mkN "展望" ;
|
|||||||
once_AdV = mkAdV "一次" ;
|
once_AdV = mkAdV "一次" ;
|
||||||
match_V2 = mkV2 "比拟" ;
|
match_V2 = mkV2 "比拟" ;
|
||||||
leadership_N = mkN "领导" ;
|
leadership_N = mkN "领导" ;
|
||||||
in_toto_Adv = mkAdv "" ; -- ?? Don't undertstand
|
--* in_toto_Adv = mkAdv "" ; -- ?? Don't undertstand
|
||||||
highway_N = mkN "公路" ;
|
highway_N = mkN "公路" ;
|
||||||
head_V = mkV "率领" ;
|
head_V = mkV "率领" ;
|
||||||
exact_A = mkA "确切" ;
|
exact_A = mkA "确切" ;
|
||||||
@@ -1881,7 +1881,7 @@ chapter_N = mkN "章" ;
|
|||||||
cause_N = mkN "原因" ;
|
cause_N = mkN "原因" ;
|
||||||
ban_V2 = mkV2 "禁止" ;
|
ban_V2 = mkV2 "禁止" ;
|
||||||
arrangement_N = mkN "安排" ;
|
arrangement_N = mkN "安排" ;
|
||||||
americanMasc_N = mkN "" ; -- ?? Don't understand
|
--* americanMasc_N = mkN "" ; -- ?? Don't understand
|
||||||
try_V = mkV "试图" ;
|
try_V = mkV "试图" ;
|
||||||
taxpayer_N = mkN "纳税人" ;
|
taxpayer_N = mkN "纳税人" ;
|
||||||
stop_V2 = mkV2 "停" ;
|
stop_V2 = mkV2 "停" ;
|
||||||
@@ -2258,7 +2258,7 @@ resistance_N = mkN "阻力" ;
|
|||||||
reputation_N = mkN "声誉" ;
|
reputation_N = mkN "声誉" ;
|
||||||
putt_V2 = mkV2 "推杆" ;
|
putt_V2 = mkV2 "推杆" ;
|
||||||
pharmaceutical_A = mkA "药方" ;
|
pharmaceutical_A = mkA "药方" ;
|
||||||
perform_V = mkV "" ;
|
--* perform_V = mkV "" ;
|
||||||
numerous_A = mkA "众多" ;
|
numerous_A = mkA "众多" ;
|
||||||
modern_A = mkA "现代" ;
|
modern_A = mkA "现代" ;
|
||||||
impossible_A = mkA "不可能" ;
|
impossible_A = mkA "不可能" ;
|
||||||
@@ -3633,7 +3633,7 @@ virus_N = mkN "病毒" ;
|
|||||||
uphold_V2 = mkV2 "坚持" ;
|
uphold_V2 = mkV2 "坚持" ;
|
||||||
unspecified_A = mkA "不明" ;
|
unspecified_A = mkA "不明" ;
|
||||||
unrelated_A = mkA "无关" ;
|
unrelated_A = mkA "无关" ;
|
||||||
understand_V = mkV "" ;
|
understand_V = mkV "了解" ;
|
||||||
tremor_N = mkN "震" ;
|
tremor_N = mkN "震" ;
|
||||||
transition_N = mkN "过渡" ;
|
transition_N = mkN "过渡" ;
|
||||||
touch_N = mkN "触摸" ;
|
touch_N = mkN "触摸" ;
|
||||||
@@ -4866,7 +4866,7 @@ watch_V2V = mkV2V "看" ;
|
|||||||
wane_V = mkV "没落" ;
|
wane_V = mkV "没落" ;
|
||||||
walk_V2 = mkV2 "走" ;
|
walk_V2 = mkV2 "走" ;
|
||||||
visual_A = mkA "看" ;
|
visual_A = mkA "看" ;
|
||||||
v_and_a_N = mkN "" ; -- ?? Don't understand
|
--* v_and_a_N = mkN "" ; -- ?? Don't understand
|
||||||
upward_A = mkA "向上" ;
|
upward_A = mkA "向上" ;
|
||||||
until_Subj = mkSubj "直到" ;
|
until_Subj = mkSubj "直到" ;
|
||||||
unsolicited_A = mkA "不请自来" ;
|
unsolicited_A = mkA "不请自来" ;
|
||||||
@@ -4909,7 +4909,7 @@ shore_V2 = mkV2 "支撑" ;
|
|||||||
shell_N = mkN "外壳" ;
|
shell_N = mkN "外壳" ;
|
||||||
shape_V2 = mkV2 "塑造" ;
|
shape_V2 = mkV2 "塑造" ;
|
||||||
shape_V = mkV "塑" ;
|
shape_V = mkV "塑" ;
|
||||||
shah_N = mkN "" ; -- ?? Don't understand
|
--* shah_N = mkN "" ; -- ?? Don't understand
|
||||||
seniority_N = mkN "排行" ;
|
seniority_N = mkN "排行" ;
|
||||||
select_V = mkV "选择" ;
|
select_V = mkV "选择" ;
|
||||||
scope_N = mkN "范围" ;
|
scope_N = mkN "范围" ;
|
||||||
@@ -4984,7 +4984,7 @@ invade_V2 = mkV2 "入侵" ;
|
|||||||
intensive_A = mkA "紧张" ;
|
intensive_A = mkA "紧张" ;
|
||||||
intensity_N = mkN "强度" ;
|
intensity_N = mkN "强度" ;
|
||||||
intensify_V = mkV "强化" ;
|
intensify_V = mkV "强化" ;
|
||||||
instruct_V2 = mkV2 "" ;
|
--* instruct_V2 = mkV2 "" ;
|
||||||
install_V = mkV "安装" ;
|
install_V = mkV "安装" ;
|
||||||
inspection_N = mkN "检查" ;
|
inspection_N = mkN "检查" ;
|
||||||
inspect_V2 = mkV2 "检查" ;
|
inspect_V2 = mkV2 "检查" ;
|
||||||
|
|||||||
@@ -50,7 +50,8 @@ oper
|
|||||||
mkV2 : Str -> V2
|
mkV2 : Str -> V2
|
||||||
= \s -> case s of {
|
= \s -> case s of {
|
||||||
v + "+" + p => lin V2 (regVerb v ** {c2 = emptyPrep ; hasPrep = False ; part = word p}) ;
|
v + "+" + p => lin V2 (regVerb v ** {c2 = emptyPrep ; hasPrep = False ; part = word p}) ;
|
||||||
v + "*" + p => lin V2 (regVerb v ** {c2 = ResChi.mkPreposition p [] ; hasPrep = True ; part = []}) ;
|
v + "*" + p => lin V2 (regVerb v **
|
||||||
|
{c2 = ResChi.mkPreposition p [] (getAdvType p) ; hasPrep = True ; part = []}) ;
|
||||||
_ => lin V2 (regVerb s ** {c2 = emptyPrep ; hasPrep = False ; part = []})
|
_ => lin V2 (regVerb s ** {c2 = emptyPrep ; hasPrep = False ; part = []})
|
||||||
} ;
|
} ;
|
||||||
mkV2 : V -> V2
|
mkV2 : V -> V2
|
||||||
@@ -123,15 +124,17 @@ oper
|
|||||||
|
|
||||||
mkAdv = overload {
|
mkAdv = overload {
|
||||||
mkAdv : Str -> Adv
|
mkAdv : Str -> Adv
|
||||||
= \s -> lin Adv {s = word s ; advType = ATPlace} ;
|
= \s -> lin Adv {s = word s ; advType = getAdvType s} ;
|
||||||
mkAdv : Str -> AdvType -> Adv
|
mkAdv : Str -> AdvType -> Adv
|
||||||
= \s,at -> lin Adv {s = word s ; advType = at} ;
|
= \s,at -> lin Adv {s = word s ; advType = at} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvType : Type
|
AdvType : Type
|
||||||
= ResChi.AdvType ;
|
= ResChi.AdvType ;
|
||||||
placeAdvType : AdvType
|
placeAdvType : AdvType -- without "在" included
|
||||||
= ATPlace ;
|
= ATPlace False ;
|
||||||
|
zai_placeAdvType : AdvType -- with "在" included
|
||||||
|
= ATPlace True ;
|
||||||
timeAdvType : AdvType
|
timeAdvType : AdvType
|
||||||
= ATTime ;
|
= ATTime ;
|
||||||
mannerAdvType : AdvType
|
mannerAdvType : AdvType
|
||||||
@@ -139,9 +142,11 @@ oper
|
|||||||
|
|
||||||
mkPrep = overload { -- first pre part, then optional post part
|
mkPrep = overload { -- first pre part, then optional post part
|
||||||
mkPrep : Str -> Prep
|
mkPrep : Str -> Prep
|
||||||
= \s -> lin Prep (ResChi.mkPreposition s []) ;
|
= \s -> lin Prep (ResChi.mkPreposition s [] (getAdvType s)) ;
|
||||||
mkPrep : Str -> Str -> Prep
|
mkPrep : Str -> Str -> Prep
|
||||||
= \s,t -> lin Prep (ResChi.mkPreposition s t) ;
|
= \s,t -> lin Prep (ResChi.mkPreposition s t (getAdvType s)) ;
|
||||||
|
mkPrep : Str -> Str -> AdvType -> Prep
|
||||||
|
= \s,t,a -> lin Prep (ResChi.mkPreposition s t a) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkInterj : Str -> Interj
|
mkInterj : Str -> Interj
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ resource ResChi = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
-- Write the characters that constitute a word separately. This enables straightforward tokenization.
|
-- Write the characters that constitute a word separately. This enables straightforward tokenization.
|
||||||
|
|
||||||
bword : Str -> Str -> Str = \x,y -> x ++ y ; -- change to x + y to treat words as single tokens
|
bword : Str -> Str -> Str = \x,y -> x + y ; -- change to x + y to treat words as single tokens
|
||||||
|
|
||||||
word : Str -> Str = \s -> case s of {
|
word : Str -> Str = \s -> case s of {
|
||||||
x@? + y@? + z@? + u@? + v@? + w@? + a@? + b@? => bword x (bword y (bword z (bword u (bword v (bword w (bword a b)))))) ;
|
x@? + y@? + z@? + u@? + v@? + w@? + a@? + b@? => bword x (bword y (bword z (bword u (bword v (bword w (bword a b)))))) ;
|
||||||
@@ -87,7 +87,7 @@ param
|
|||||||
CPosType = CAPhrase | CNPhrase | CVPhrase ;
|
CPosType = CAPhrase | CNPhrase | CVPhrase ;
|
||||||
DeForm = DeNoun | NdNoun ; -- parameter created for noun with/out partical "de"
|
DeForm = DeNoun | NdNoun ; -- parameter created for noun with/out partical "de"
|
||||||
|
|
||||||
AdvType = ATPlace | ATTime | ATManner ;
|
AdvType = ATPlace Bool | ATTime | ATManner ; -- ATPlace True = has zai_s already
|
||||||
|
|
||||||
-- parts of speech
|
-- parts of speech
|
||||||
|
|
||||||
@@ -118,6 +118,8 @@ oper
|
|||||||
regVerb : (walk : Str) -> Verb = \v ->
|
regVerb : (walk : Str) -> Verb = \v ->
|
||||||
mkVerb v "了" "着" "在" "过" "没" ;
|
mkVerb v "了" "着" "在" "过" "没" ;
|
||||||
|
|
||||||
|
noVerb : Verb = regVerb [] ; ---?? -- used as copula for verbal adverbs
|
||||||
|
|
||||||
mkVerb : (v : Str) -> (pp,ds,dp,ep,neg : Str) -> Verb = \v,pp,ds,dp,ep,neg ->
|
mkVerb : (v : Str) -> (pp,ds,dp,ep,neg : Str) -> Verb = \v,pp,ds,dp,ep,neg ->
|
||||||
{s = word v ; pp = pp ; ds = ds ; dp = dp ; ep = ep ; neg = neg} ;
|
{s = word v ; pp = pp ; ds = ds ; dp = dp ; ep = ep ; neg = neg} ;
|
||||||
|
|
||||||
@@ -225,9 +227,17 @@ oper
|
|||||||
s = word s
|
s = word s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkPreposition : Str -> Str -> Preposition = \s1,s2 -> {
|
Preposition = {prepPre : Str ; prepPost : Str ; advType : AdvType} ;
|
||||||
|
|
||||||
|
mkPreposition : Str -> Str -> AdvType -> Preposition = \s1,s2,at -> {
|
||||||
prepPre = word s1 ;
|
prepPre = word s1 ;
|
||||||
prepPost = word s2
|
prepPost = word s2 ;
|
||||||
|
advType = at
|
||||||
|
} ;
|
||||||
|
|
||||||
|
getAdvType : Str -> AdvType = \s -> case s of {
|
||||||
|
"在" + _ => ATPlace True ; -- certain that True
|
||||||
|
_ => ATPlace False -- uncertain whether ATPlace
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkSubj : Str -> Str -> {prePart : Str ; sufPart : Str} = \p,s -> {
|
mkSubj : Str -> Str -> {prePart : Str ; sufPart : Str} = \p,s -> {
|
||||||
@@ -235,7 +245,6 @@ oper
|
|||||||
sufPart = word s
|
sufPart = word s
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
Preposition = {prepPre : Str ; prepPost : Str} ;
|
|
||||||
|
|
||||||
-- added by AR
|
-- added by AR
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ lin
|
|||||||
|
|
||||||
very_AdA = ssword "非常" ;
|
very_AdA = ssword "非常" ;
|
||||||
|
|
||||||
by8means_Prep = mkPrep [] "旁边" ;
|
by8means_Prep = mkPrep [] "旁边" mannerAdvType ;
|
||||||
-- in_Prep = mkPrep "里" []; --- in Paris
|
-- in_Prep = mkPrep "里" []; --- in Paris
|
||||||
in_Prep = mkPrep "在" "中" ; --- in the house, the car, etc
|
in_Prep = mkPrep "在" "中" ; --- in the house, the car, etc
|
||||||
possess_Prep = mkPrep [] "的" ;
|
possess_Prep = mkPrep [] "的" ;
|
||||||
@@ -66,12 +66,12 @@ lin
|
|||||||
|
|
||||||
|
|
||||||
above_Prep = mkPrep [] "上边" ;
|
above_Prep = mkPrep [] "上边" ;
|
||||||
after_Prep = mkPrep [] "以后" ;
|
after_Prep = mkPrep [] "以后" timeAdvType ;
|
||||||
under_Prep = mkPrep [] "下" ;
|
under_Prep = mkPrep [] "下" ;
|
||||||
why_IAdv = mkIAdvL "为什么" ;
|
why_IAdv = mkIAdvL "为什么" ;
|
||||||
too_AdA = mkAdA "太" ;
|
too_AdA = mkAdA "太" ;
|
||||||
|
|
||||||
before_Prep = mkPrep [] "之前" ;
|
before_Prep = mkPrep [] "之前" timeAdvType ;
|
||||||
between_Prep = mkPrep [] "之间" ;
|
between_Prep = mkPrep [] "之间" ;
|
||||||
but_PConj = mkPConjL "但是" ;
|
but_PConj = mkPConjL "但是" ;
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ but_PConj = mkPConjL "但是" ;
|
|||||||
can8know_VV = mkV "会" [] [] [] [] "不" ; ----
|
can8know_VV = mkV "会" [] [] [] [] "不" ; ----
|
||||||
|
|
||||||
|
|
||||||
except_Prep = mkPrep "以外" "除了" ;
|
except_Prep = mkPrep "以外" "除了" mannerAdvType ;
|
||||||
for_Prep = mkPrep "为了" ;
|
for_Prep = mkPrep "为了" ;
|
||||||
from_Prep = mkPrep "从" ;
|
from_Prep = mkPrep "从" ;
|
||||||
in8front_Prep = mkPrep zai_s "前边" ;
|
in8front_Prep = mkPrep zai_s "前边" ;
|
||||||
@@ -125,9 +125,9 @@ both7and_DConj = {s = table { -- modified by chenpeng 11.19
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
by8agent_Prep = mkPrep "被" ; -- by for agent in passive
|
by8agent_Prep = mkPrep "被" [] mannerAdvType; -- by for agent in passive
|
||||||
-- [mark] 被
|
-- [mark] 被
|
||||||
during_Prep = mkPrep "在" "期间" ; -- [mark] often equivalent to nothing
|
during_Prep = mkPrep "在" "期间" timeAdvType ; -- [mark] often equivalent to nothing
|
||||||
-- translation for "he swam during this summer. " and "he swam this summer." are often the same
|
-- translation for "he swam during this summer. " and "he swam this summer." are often the same
|
||||||
|
|
||||||
either7or_DConj = {s = table { -- modified by chenpeng 11.19
|
either7or_DConj = {s = table { -- modified by chenpeng 11.19
|
||||||
@@ -173,7 +173,7 @@ therefore_PConj = ssword "因此" ;
|
|||||||
through_Prep = mkPrep "通过" ;
|
through_Prep = mkPrep "通过" ;
|
||||||
which_IQuant = mkIQuant "哪" ;
|
which_IQuant = mkIQuant "哪" ;
|
||||||
--which_IQuant = ssword [] ; -- [mark] in sent, it depends on the context
|
--which_IQuant = ssword [] ; -- [mark] in sent, it depends on the context
|
||||||
without_Prep = mkPrep "没有" ;
|
without_Prep = mkPrep "没有" [] mannerAdvType ;
|
||||||
youPol_Pron = ssword "您" ; -- polite you
|
youPol_Pron = ssword "您" ; -- polite you
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
|
|||||||
|
|
||||||
AdvVP vp adv = case adv.advType of {
|
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
|
_ => 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 []) ; ----
|
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} ;
|
VPSlashPrep vp prep = vp ** {c2 = prep ; isPre = True} ;
|
||||||
|
|
||||||
AdvVPSlash vp adv = case adv.advType of {
|
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
|
_ => insertAdv (ss (zai_V.s ++ adv.s)) vp -- he sleeps in the house / today
|
||||||
} ** {c2 = vp.c2 ; isPre = vp.isPre} ;
|
} ** {c2 = vp.c2 ; isPre = vp.isPre} ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user