forked from GitHub/gf-core
Pinyin files using diacritics instead of numbers
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
concrete ExtraChi of ExtraChiAbs = CatChi **
|
||||
open ResChi, Coordination, Prelude in {
|
||||
open ResChi, Coordination, (S = StructuralChi), Prelude in {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
@@ -11,6 +11,7 @@ concrete ExtraChi of ExtraChiAbs = CatChi **
|
||||
|
||||
lin
|
||||
PassVPSlash vps = insertAdv (mkNP passive_s) vps ;
|
||||
PassAgentVPSlash vps np = insertAdv (ss (appPrep S.by8agent_Prep np.s)) (insertAdv (mkNP passive_s) vps) ;
|
||||
|
||||
MkVPS t p vp = {s = t.s ++ p.s ++ (mkClause [] vp).s ! p.p ! t.t} ;
|
||||
ConjVPS c = conjunctDistrSS (c.s ! CSent) ;
|
||||
@@ -35,18 +36,18 @@ concrete ExtraChi of ExtraChiAbs = CatChi **
|
||||
lincat
|
||||
Aspect = {s : Str ; a : ResChi.Aspect} ;
|
||||
lin
|
||||
PredBareAP np ap = case ap.hasAdA of {
|
||||
True => mkClause np.s (insertObj (mkNP ap.s) (predV nocopula [])) ;
|
||||
False => mkClause np.s (insertObj (mkNP ap.s) (predV hen_copula []))
|
||||
CompBareAP ap = case ap.hasAdA of {
|
||||
True => insertObj (mkNP ap.s) (predV nocopula []) ;
|
||||
False => insertObj (mkNP ap.s) (predV hen_copula [])
|
||||
} ;
|
||||
QuestRepV cl = {
|
||||
s = \\p,a =>
|
||||
s = \\_,p,a => ---- also for indirect questions?
|
||||
let
|
||||
v = cl.vp.verb ;
|
||||
verb = case a of {
|
||||
APlain => v.s ++ v.neg ++ v.sn ;
|
||||
APerf => v.s ++ "bu4" ++ v.sn ++ v.pp ;
|
||||
ADurStat => v.s ++ "bu4" ++ v.sn ;
|
||||
APerf => v.s ++ "bù" ++ v.sn ++ v.pp ;
|
||||
ADurStat => v.s ++ "bù" ++ v.sn ;
|
||||
ADurProg => v.dp ++ v.neg ++ v.dp ++ v.sn ; -- mei or bu
|
||||
AExper => v.s ++ v.neg ++ v.sn ++ v.ep
|
||||
}
|
||||
@@ -54,6 +55,6 @@ concrete ExtraChi of ExtraChiAbs = CatChi **
|
||||
cl.np ++ cl.vp.prePart ++ verb ++ cl.vp.compl
|
||||
} ;
|
||||
|
||||
TopicAdvCl adv cl = mkClause (adv.s ++ cl.np) cl.vp ;
|
||||
TopicAdvVP vp adv = insertTopic adv vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -8,373 +8,373 @@ lin
|
||||
|
||||
-- LexiconCmn
|
||||
|
||||
man_N = mkN "nan2ren2" "ge4"; -- "nanren" "ge" first being noun, second is classifier(counter)
|
||||
woman_N = mkN "nu:3ren2" "ge4"; -- "nvren" "ge" classifier behaves like the "cup" in "cup of tea"
|
||||
house_N = mkN "fang2zi3" "jian1"; -- "fangzi" "jian"
|
||||
tree_N = mkN "shu4" "ke1"; -- "shu" "ke"
|
||||
big_A = mkA "da4" ; -- "da"
|
||||
small_A = mkA "xiao3" ; -- "xiao"
|
||||
green_A = mkA "lu:4" ; -- "lv"
|
||||
walk_V = mkV "zou3" ; -- "zou"
|
||||
sleep_V = mkV "shui4" ; -- "shui"
|
||||
love_V2 = mkV2 "ai4" ; -- "ai"
|
||||
watch_V2 = mkV2 "kan1" ; -- "kan"
|
||||
know_VS = mkV "zhi1dao4" ; -- "zhidao"
|
||||
wonder_VQ = mkV "hao3ji1" ; -- "haoqi"
|
||||
john_PN = mkPN "yao1han4" ; -- "yuehan"
|
||||
man_N = mkN "nánrén" "gè"; -- "nanren" "ge" first being noun, second is classifier(counter)
|
||||
woman_N = mkN "nǚrén" "gè"; -- "nvren" "ge" classifier behaves like the "cup" in "cup of tea"
|
||||
house_N = mkN "fángzǐ" "jiān"; -- "fangzi" "jian"
|
||||
tree_N = mkN "shù" "kē"; -- "shu" "ke"
|
||||
big_A = mkA "dà" ; -- "da"
|
||||
small_A = mkA "xiaǒ" ; -- "xiao"
|
||||
green_A = mkA "lǜ" ; -- "lv"
|
||||
walk_V = mkV "zoǔ" ; -- "zou"
|
||||
sleep_V = mkV "shuìjiaò" ; -- "shui"
|
||||
love_V2 = mkV2 "aì" ; -- "ai"
|
||||
watch_V2 = mkV2 "kān" ; -- "kan"
|
||||
know_VS = mkV "zhīdaò" ; -- "zhidao"
|
||||
wonder_VQ = mkV "haǒjī" ; -- "haoqi"
|
||||
john_PN = mkPN "yaōhàn" ; -- "yuehan"
|
||||
|
||||
|
||||
-- Swadesh
|
||||
|
||||
long_A = mkA "chang2" ;
|
||||
wide_A = mkA "kuan1" ;
|
||||
thick_A = mkA "hou4" ;
|
||||
heavy_A = mkA "chong2" ;
|
||||
short_A = mkA "duan3" ;
|
||||
narrow_A = mkA "zhai3" ;
|
||||
thin_A = mkA "bo2" ; -- [mark] for person mkA "shou4"
|
||||
child_N = mkN "hai2zi3" ;
|
||||
wife_N = mkN "qi1zi3" ;
|
||||
husband_N = mkN "zhang4fu1" ;
|
||||
animal_N = mkN "dong4wu4" "qi2"; -- [mark] added classifier for nouns
|
||||
fish_N = mkN "yu2" "tiao2";
|
||||
bird_N = mkN "niao3" "qi2";
|
||||
dog_N = mkN "gou3" "qi2";
|
||||
louse_N = mkN "shi1" "qi2";
|
||||
snake_N = mkN "she2" "tiao2";
|
||||
worm_N = mkN "chong2" "qi2";
|
||||
forest_N = mkN "sen1lin2" "pian1";
|
||||
stick_N = mkN "shu4zhi1" ;
|
||||
fruit_N = mkN "shui3guo3" ;
|
||||
seed_N = mkN "zhong3zi3" "li4";
|
||||
leaf_N = mkN "ye4zi3" "pian1"; -- [mark] "ye4" -> "ye4zi3" , "ye4" is often treated as morpheme
|
||||
root_N = mkN "shu4gen1" ; -- [mark] "gen1" --> "shu4gen1"(tree root)
|
||||
bark_N = mkN "shu4pi2" "kuai1";
|
||||
flower_N = mkN "hua1" "duo3";
|
||||
grass_N = mkN "cao3" "ke1";
|
||||
rope_N = mkN "sheng2" "gen1";
|
||||
skin_N = mkN "pi2" "kuai1";
|
||||
meat_N = mkN "rou4" "kuai1";
|
||||
blood_N = mkN "xie3" "di1"; -- [mark] several classifiers, "di1"(drop), "tan1"(puddle)
|
||||
bone_N = mkN "gu3tou2" "kuai1"; -- [mark] "gu3" -> "gu3tou2" , "gu3" is often treated as morpheme
|
||||
fat_N = mkN "zhi1fang2" "dui1"; -- [mark] often without classifier
|
||||
egg_N = mkN "dan4" "ke1";
|
||||
horn_N = mkN "jiao3" "gen1";
|
||||
tail_N = mkN "wei3ba1" "tiao2"; -- [mark] "wei3" -> "wei3ba1" , "wei3" is often treated as morpheme, or if stands alone, it is a classifier itself
|
||||
feather_N = mkN "yu3mao2" "gen1";
|
||||
hair_N = mkN "tou2fa1" "gen1"; -- [mark] several classifiers , "gen1"(single hair), "ba3"(several hairs)
|
||||
head_N = mkN "tou2" "ke1";
|
||||
ear_N = mkN "er3duo3" "qi2";
|
||||
eye_N = mkN "yan3jing1" "qi2";
|
||||
nose_N = mkN "bi2zi3" ;
|
||||
mouth_N = mkN "zui3" "zhang1";
|
||||
tooth_N = mkN "ya2chi3" "ke1";
|
||||
tongue_N = mkN "she2" "gen1";
|
||||
fingernail_N = mkN "zhi3jia3" "pian1";
|
||||
foot_N = mkN "jiao3" "qi2";
|
||||
leg_N = mkN "tui3" "tiao2";
|
||||
knee_N = mkN "xi1gai4" ; -- [mark] "xi1" -> "xi1gai4"
|
||||
hand_N = mkN "shou3" "qi2";
|
||||
wing_N = mkN "chi4bang3" "qi2"; -- [mark] "yi4" -> "chi4bang3", "chi4bang3" is the common form for wing.
|
||||
belly_N = mkN "du3zi3" ;
|
||||
guts_N = mkN "chang2zi3" "gen1";
|
||||
neck_N = mkN "bo2zi3" ;
|
||||
back_N = mkN "bei1" ;
|
||||
breast_N = mkN "xiong1" ;
|
||||
heart_N = mkN "xin1zang1" "ke1";
|
||||
liver_N = mkN "gan1" ;
|
||||
drink_V2 = mkV2 "he1" ;
|
||||
eat_V2 = mkV2 "chi1" ;
|
||||
bite_V2 = mkV2 "yao3" ;
|
||||
suck_V2 = mkV2 "xi1" ;
|
||||
spit_V = mkV "tu3" ;
|
||||
vomit_V = mkV "ou3" ;
|
||||
blow_V = mkV "chui1" ;
|
||||
breathe_V = mkV "hu1xi1" ;
|
||||
laugh_V = mkV "xiao4" ;
|
||||
see_V2 = mkV2 "kan1" ;
|
||||
hear_V2 = mkV2 "ting1" ;
|
||||
think_V = mkV "xiang3" ;
|
||||
smell_V = mkV "wen2" ; -- [mark] "xiu4" -> "wen2", "wen2" is the common form for smell.
|
||||
fear_V2 = mkV2 "pa4" ;
|
||||
live_V = mkV "huo2" ;
|
||||
die_V = mkV "si3" ;
|
||||
kill_V2 = mkV2 "sha1" ;
|
||||
fight_V2 = mkV2 "da2jia4" ; -- [mark] "chao3jia4" -> "da2jia4", "chao3jia4" = quarrel, argue
|
||||
hunt_V2 = mkV2 "da2lie4" ; -- [mark] "da2lie4" is iv, can't think of proper translation in v2 form for hunt
|
||||
hit_V2 = mkV2 "da2" ;
|
||||
cut_V2 = mkV2 "ge1" ;
|
||||
split_V2 = mkV2 "pi1kai1" ;
|
||||
stab_V2 = mkV2 "ci4" ;
|
||||
scratch_V2 = mkV2 "sao1" ;
|
||||
dig_V = mkV "wa1" ;
|
||||
swim_V = mkV "you2yong3" ;
|
||||
fly_V = mkV "fei1" ;
|
||||
come_V = mkV "lai2" ;
|
||||
lie_V = mkV "tang3" ;
|
||||
sit_V = mkV "zuo4" ;
|
||||
stand_V = mkV "zhan4" ;
|
||||
turn_V = mkV "zhuan3" ;
|
||||
fall_V = mkV "la4xia4" ;
|
||||
hold_V2 = mkV2 "wo4" ;
|
||||
squeeze_V2 = mkV2 "ji3" ;
|
||||
rub_V2 = mkV2 "rou2" ;
|
||||
wash_V2 = mkV2 "xi3" ;
|
||||
wipe_V2 = mkV2 "ca1" ;
|
||||
pull_V2 = mkV2 "la1" ;
|
||||
push_V2 = mkV2 "tui1" ;
|
||||
throw_V2 = mkV2 "reng1" ;
|
||||
tie_V2 = mkV2 "bang3" ;
|
||||
sew_V = mkV "feng2" ;
|
||||
count_V2 = mkV2 "shu3" ;
|
||||
say_VS = mkVS (mkV "shui4") ;
|
||||
sing_V = mkV "chang4" ;
|
||||
play_V = mkV "wan2" ;
|
||||
float_V = mkV "fu2" ;
|
||||
flow_V = mkV "liu2" ;
|
||||
freeze_V = mkV "jie1bing1" ;
|
||||
swell_V = mkV "peng2zhang4" ;
|
||||
sun_N = mkN "tai4yang2" ;
|
||||
moon_N = mkN "yue4liang4" ;
|
||||
star_N = mkN "xing1xing1" "ke1";
|
||||
water_N = mkN "shui3" "di1";
|
||||
rain_N = mkN "yu3" "chang3";
|
||||
river_N = mkN "he2" "tiao2";
|
||||
lake_N = mkN "hu2" ;
|
||||
sea_N = mkN "hai3" "pian1";
|
||||
salt_N = mkN "yan2" "ping2";
|
||||
stone_N = mkN "dan4tou2" "kuai1";
|
||||
sand_N = mkN "sha1" "li4";
|
||||
dust_N = mkN "chen2tu3" [];
|
||||
earth_N = mkN "deqiu2" ;
|
||||
cloud_N = mkN "yun2" "duo3";
|
||||
fog_N = mkN "wu4" "chang3";
|
||||
sky_N = mkN "tian1kong1" "pian1";
|
||||
wind_N = mkN "feng1" "zhen4";
|
||||
snow_N = mkN "xue3" "chang3";
|
||||
ice_N = mkN "bing1" "kuai1";
|
||||
smoke_N = mkN "yan1" "zhen4";
|
||||
fire_N = mkN "huo3" "chang3";
|
||||
ashes_N = mkN "hui1" [];
|
||||
burn_V = mkV "shao1" ;
|
||||
road_N = mkN "lu4" "tiao2";
|
||||
mountain_N = mkN "shan1" "zuo4";
|
||||
red_A = mkA "hong2" ;
|
||||
yellow_A = mkA "huang2" ;
|
||||
white_A = mkA "bai2" ;
|
||||
black_A = mkA "hei1" ;
|
||||
night_N = mkN "ye4wan3" ; -- [mark] "ye4wan3" 's classifier is "ge4"
|
||||
day_N = mkN "bai2tian1" []; -- [mark] "bai2tian1" -> "tian1", "tian1" itself is classifier
|
||||
year_N = mkN "nian2" [] ; -- [mark] "nian2" itself is classifier
|
||||
warm_A = mkA "wen1nuan3" ;
|
||||
cold_A = mkA "leng3" ;
|
||||
full_A = mkA "man3" ;
|
||||
new_A = mkA "xin1" ;
|
||||
old_A = mkA "lao3" ; -- [mark] "lao3" for person, "jiu4" for things
|
||||
good_A = mkA "hao3" ;
|
||||
bad_A = mkA "huai4" ;
|
||||
rotten_A = mkA "lan4" ;
|
||||
dirty_A = mkA "zang1" ;
|
||||
straight_A = mkA "zhi2" ;
|
||||
round_A = mkA "yuan2" ;
|
||||
sharp_A = mkA "jian1" ;
|
||||
dull_A = mkA "dun4" ;
|
||||
smooth_A = mkA "guang1gu3" ;
|
||||
wet_A = mkA "shi1" ;
|
||||
dry_A = mkA "gan1" ;
|
||||
correct_A = mkA "dui4" ;
|
||||
near_A = mkA "jin4" ;
|
||||
--far_A = mkA "yuan3" ;
|
||||
left_Ord = ss "zuo3" ;
|
||||
right_Ord = ss "you4" ;
|
||||
name_N = mkN "ming2zi4" ; -- [mark] "ming2" --> "ming2zi4"
|
||||
long_A = mkA "cháng" ;
|
||||
wide_A = mkA "kuān" ;
|
||||
thick_A = mkA "hoù" ;
|
||||
heavy_A = mkA "chóng" ;
|
||||
short_A = mkA "duǎn" ;
|
||||
narrow_A = mkA "zhaǐ" ;
|
||||
thin_A = mkA "bó" ; -- [mark] for person mkA "shoù"
|
||||
child_N = mkN "haízǐ" ;
|
||||
wife_N = mkN "qīzǐ" | mkN "aìrén" ;
|
||||
husband_N = mkN "zhàngfū" ;
|
||||
animal_N = mkN "dòngwù" "qí"; -- [mark] added classifier for nouns
|
||||
fish_N = mkN "yú" "tiaó";
|
||||
bird_N = mkN "niaǒ" "qí";
|
||||
dog_N = mkN "goǔ" "qí";
|
||||
louse_N = mkN "shī" "qí";
|
||||
snake_N = mkN "shé" "tiaó";
|
||||
worm_N = mkN "chóng" "qí";
|
||||
forest_N = mkN "sēnlín" "piān";
|
||||
stick_N = mkN "shùzhī" ;
|
||||
fruit_N = mkN "shuǐguǒ" ;
|
||||
seed_N = mkN "zhǒngzǐ" "lì";
|
||||
leaf_N = mkN "yèzǐ" "piān"; -- [mark] "yè" -> "yèzǐ" , "yè" is often treated as morpheme
|
||||
root_N = mkN "shùgēn" ; -- [mark] "gēn" --> "shùgēn"(tree root)
|
||||
bark_N = mkN "shùpí" "kuaī";
|
||||
flower_N = mkN "huā" "duǒ";
|
||||
grass_N = mkN "caǒ" "kē";
|
||||
rope_N = mkN "shéng" "gēn";
|
||||
skin_N = mkN "pí" "kuaī";
|
||||
meat_N = mkN "roù" "kuaī";
|
||||
blood_N = mkN "xiě" "dī"; -- [mark] several classifiers, "dī"(drop), "tān"(puddle)
|
||||
bone_N = mkN "gǔtoú" "kuaī"; -- [mark] "gǔ" -> "gǔtoú" , "gǔ" is often treated as morpheme
|
||||
fat_N = mkN "zhīfáng" "duī"; -- [mark] often without classifier
|
||||
egg_N = mkN "dàn" "kē";
|
||||
horn_N = mkN "jiaǒ" "gēn";
|
||||
tail_N = mkN "weǐbā" "tiaó"; -- [mark] "weǐ" -> "weǐbā" , "weǐ" is often treated as morpheme, or if stands alone, it is a classifier itself
|
||||
feather_N = mkN "yǔmaó" "gēn";
|
||||
hair_N = mkN "toúfā" "gēn"; -- [mark] several classifiers , "gēn"(single hair), "bǎ"(several hairs)
|
||||
head_N = mkN "toú" "kē";
|
||||
ear_N = mkN "ěrduǒ" "qí";
|
||||
eye_N = mkN "yǎnjīng" "qí";
|
||||
nose_N = mkN "bízǐ" ;
|
||||
mouth_N = mkN "zuǐ" "zhāng";
|
||||
tooth_N = mkN "yáchǐ" "kē";
|
||||
tongue_N = mkN "shé" "gēn";
|
||||
fingernail_N = mkN "zhǐjiǎ" "piān";
|
||||
foot_N = mkN "jiaǒ" "qí";
|
||||
leg_N = mkN "tuǐ" "tiaó";
|
||||
knee_N = mkN "xīgaì" ; -- [mark] "xī" -> "xīgaì"
|
||||
hand_N = mkN "shoǔ" "qí";
|
||||
wing_N = mkN "chìbǎng" "qí"; -- [mark] "yì" -> "chìbǎng", "chìbǎng" is the common form for wing.
|
||||
belly_N = mkN "dǔzǐ" ;
|
||||
guts_N = mkN "chángzǐ" "gēn";
|
||||
neck_N = mkN "bózǐ" ;
|
||||
back_N = mkN "beī" ;
|
||||
breast_N = mkN "xiōng" ;
|
||||
heart_N = mkN "xīnzāng" "kē";
|
||||
liver_N = mkN "gān" ;
|
||||
drink_V2 = mkV2 "hē" ;
|
||||
eat_V2 = mkV2 "chī" ;
|
||||
bite_V2 = mkV2 "yaǒ" ;
|
||||
suck_V2 = mkV2 "xī" ;
|
||||
spit_V = mkV "tǔ" ;
|
||||
vomit_V = mkV "oǔ" ;
|
||||
blow_V = mkV "chuī" ;
|
||||
breathe_V = mkV "hūxī" ;
|
||||
laugh_V = mkV "xiaò" ;
|
||||
see_V2 = mkV2 "kān" ;
|
||||
hear_V2 = mkV2 "tīng" ;
|
||||
think_V = mkV "xiǎng" ;
|
||||
smell_V = mkV "wén" ; -- [mark] "xiù" -> "wén", "wén" is the common form for smell.
|
||||
fear_V2 = mkV2 "pà" ;
|
||||
live_V = mkV "huó" ;
|
||||
die_V = mkV "sǐ" ;
|
||||
kill_V2 = mkV2 "shā" ;
|
||||
fight_V2 = mkV2 "dájià" ; -- [mark] "chaǒjià" -> "dájià", "chaǒjià" = quarrel, argue
|
||||
hunt_V2 = mkV2 "dáliè" ; -- [mark] "dáliè" is iv, can't think of proper translation in v2 form for hunt
|
||||
hit_V2 = mkV2 "dá" ;
|
||||
cut_V2 = mkV2 "gē" ;
|
||||
split_V2 = mkV2 "pīkaī" ;
|
||||
stab_V2 = mkV2 "cì" ;
|
||||
scratch_V2 = mkV2 "saō" ;
|
||||
dig_V = mkV "wā" ;
|
||||
swim_V = mkV "yoúyǒng" ;
|
||||
fly_V = mkV "feī" ;
|
||||
come_V = mkV "laí" ;
|
||||
lie_V = mkV "tǎng" ;
|
||||
sit_V = mkV "zuò" ;
|
||||
stand_V = mkV "zhàn" ;
|
||||
turn_V = mkV "zhuǎn" ;
|
||||
fall_V = mkV "làxià" ;
|
||||
hold_V2 = mkV2 "wò" ;
|
||||
squeeze_V2 = mkV2 "jǐ" ;
|
||||
rub_V2 = mkV2 "roú" ;
|
||||
wash_V2 = mkV2 "xǐ" ;
|
||||
wipe_V2 = mkV2 "cā" ;
|
||||
pull_V2 = mkV2 "lā" ;
|
||||
push_V2 = mkV2 "tuī" ;
|
||||
throw_V2 = mkV2 "rēng" ;
|
||||
tie_V2 = mkV2 "bǎng" ;
|
||||
sew_V = mkV "féng" ;
|
||||
count_V2 = mkV2 "shǔ" ;
|
||||
say_VS = mkVS (mkV "shuì") ;
|
||||
sing_V = mkV "chànggē" ;
|
||||
play_V = mkV "wán" ;
|
||||
float_V = mkV "fú" ;
|
||||
flow_V = mkV "liú" ;
|
||||
freeze_V = mkV "jiēbīng" ;
|
||||
swell_V = mkV "péngzhàng" ;
|
||||
sun_N = mkN "taìyáng" ;
|
||||
moon_N = mkN "yuèliàng" ;
|
||||
star_N = mkN "xīngxīng" "kē";
|
||||
water_N = mkN "shuǐ" "dī";
|
||||
rain_N = mkN "yǔ" "chǎng";
|
||||
river_N = mkN "hé" "tiaó";
|
||||
lake_N = mkN "hú" ;
|
||||
sea_N = mkN "haǐ" "piān";
|
||||
salt_N = mkN "yán" "píng";
|
||||
stone_N = mkN "dàntoú" "kuaī";
|
||||
sand_N = mkN "shā" "lì";
|
||||
dust_N = mkN "chéntǔ" [];
|
||||
earth_N = mkN "deqiú" ;
|
||||
cloud_N = mkN "yún" "duǒ";
|
||||
fog_N = mkN "wù" "chǎng";
|
||||
sky_N = mkN "tiānkōng" "piān";
|
||||
wind_N = mkN "fēng" "zhèn";
|
||||
snow_N = mkN "xuě" "chǎng";
|
||||
ice_N = mkN "bīng" "kuaī";
|
||||
smoke_N = mkN "yān" "zhèn";
|
||||
fire_N = mkN "huǒ" "chǎng";
|
||||
ashes_N = mkN "huī" [];
|
||||
burn_V = mkV "shaō" ;
|
||||
road_N = mkN "lù" "tiaó";
|
||||
mountain_N = mkN "shān" "zuò";
|
||||
red_A = mkA "hóng" ;
|
||||
yellow_A = mkA "huáng" ;
|
||||
white_A = mkA "baí" ;
|
||||
black_A = mkA "heī" ;
|
||||
night_N = mkN "yèwǎn" ; -- [mark] "yèwǎn" 's classifier is "gè"
|
||||
day_N = mkN "baítiān" []; -- [mark] "baítiān" -> "tiān", "tiān" itself is classifier
|
||||
year_N = mkN "nián" [] ; -- [mark] "nián" itself is classifier
|
||||
warm_A = mkA "wēnnuǎn" ;
|
||||
cold_A = mkA "lěng" ;
|
||||
full_A = mkA "mǎn" ;
|
||||
new_A = mkA "xīn" ;
|
||||
old_A = mkA "laǒ" ; -- [mark] "laǒ" for person, "jiù" for things
|
||||
good_A = mkA "haǒ" ;
|
||||
bad_A = mkA "huaì" ;
|
||||
rotten_A = mkA "làn" ;
|
||||
dirty_A = mkA "zāng" ;
|
||||
straight_A = mkA "zhí" ;
|
||||
round_A = mkA "yuán" ;
|
||||
sharp_A = mkA "jiān" ;
|
||||
dull_A = mkA "dùn" ;
|
||||
smooth_A = mkA "guānggǔ" ;
|
||||
wet_A = mkA "shī" ;
|
||||
dry_A = mkA "gān" ;
|
||||
correct_A = mkA "duì" ;
|
||||
near_A = mkA "jìn" ;
|
||||
--far_A = mkA "yuǎn" ;
|
||||
left_Ord = ss "zuǒ" ;
|
||||
right_Ord = ss "yoù" ;
|
||||
name_N = mkN "míngzì" ; -- [mark] "míng" --> "míngzì"
|
||||
|
||||
-- HSK
|
||||
|
||||
add_V3 = mkV3 "jia1" ;
|
||||
airplane_N = mkN "fei1ji1" "jia4";
|
||||
already_Adv = mkAdv "yi3jing1" ;
|
||||
answer_V2S = mkV2S (mkV "hui2da1") ;
|
||||
apple_N = mkN "pin2guo3" ;
|
||||
art_N = mkN "yi4shu4" []; -- [mark] usually without classifier
|
||||
ask_V2Q = mkV2Q (mkV "wen4") ;
|
||||
bank_N = mkN "yin2hang2" "jian1";
|
||||
beautiful_A = mkA "piao1liang4" ;
|
||||
become_VA = mkV "bian4" ;
|
||||
beer_N = mkN "pi2jiu3" "bei1";
|
||||
bike_N = mkN "zi4hang2che1" "tai2";
|
||||
add_V3 = mkV3 "jiā" ;
|
||||
airplane_N = mkN "feījī" "jià";
|
||||
already_Adv = mkAdv "yǐjīng" ;
|
||||
answer_V2S = mkV2S (mkV "huídā") ;
|
||||
apple_N = mkN "pínguǒ" ;
|
||||
art_N = mkN "yìshù" []; -- [mark] usually without classifier
|
||||
ask_V2Q = mkV2Q (mkV "wèn") ;
|
||||
bank_N = mkN "yínháng" "jiān";
|
||||
beautiful_A = mkA "piaōliàng" ;
|
||||
become_VA = mkV "biàn" ;
|
||||
beer_N = mkN "píjiǔ" "beī";
|
||||
bike_N = mkN "zìhángchē" "taí";
|
||||
blue_A = mkA "la" ;
|
||||
boat_N = mkN "chuan2" "sao1";
|
||||
book_N = mkN "shu1" "ben3";
|
||||
bread_N = mkN "mian4bao1" ;
|
||||
buy_V2 = mkV2 "mai3" ;
|
||||
cap_N = mkN "mao4zi3" "ding3";
|
||||
car_N = mkN "qi4che1" "tai2";
|
||||
chair_N = mkN "yi3zi3" "ba3";
|
||||
city_N = mkN "cheng2shi4" ; -- [mark] "shi4" --> "cheng2shi4"
|
||||
clean_A = mkA "gan1jing4" ;
|
||||
coat_N = mkN "yi1fu2" "jian4";
|
||||
country_N = mkN "guo2jia1" ; -- [mark] "guo2" --> "guo2jia1"
|
||||
cow_N = mkN "niu2" "tou2";
|
||||
do_V2 = mkV2 "zuo4" ;
|
||||
doctor_N = mkN "yi1sheng1" "ming2";
|
||||
door_N = mkN "men2" "shan1";
|
||||
factory_N = mkN "gong1chang3" "jian1";
|
||||
far_Adv = mkAdv "yuan3" ;
|
||||
fear_VS = mkVS (mkV "pa4") ;
|
||||
find_V2 = mkV2 "fa1xian4" ;
|
||||
forget_V2 = mkV2 "wang4" ;
|
||||
friend_N = mkN "peng2you3" ;
|
||||
girl_N = mkN "gu1niang2" ;
|
||||
give_V3 = mkV3 "gei3" ;
|
||||
go_V = mkV "qu4" ;
|
||||
grammar_N = mkN "yu3fa3" ;
|
||||
hat_N = mkN "mao4zi3" "ding3";
|
||||
hill_N = mkN "shan1" "zuo4";
|
||||
hope_VS = mkV "xi1wang4" ;
|
||||
horse_N = mkN "ma3" "pi1";
|
||||
hot_A = mkA "re4" ;
|
||||
important_A = mkA "chong2yao1" ;
|
||||
industry_N = mkN "gong1ye4" [];
|
||||
jump_V = mkV "tiao4" ;
|
||||
know_V2 = mkV2 "zhi1dao4" ;
|
||||
know_VQ = mkV "zhi1dao4" ;
|
||||
lamp_N = mkN "deng1" "zhan3";
|
||||
language_N = mkN "yu3yan2" "zhong3";
|
||||
learn_V2 = mkV2 "xue2" ;
|
||||
leave_V2 = mkV2 "li2kai1" ; --[mark] "li2" --> "li2kai1", "li2" itself is either a morpheme, or a marker indicating distance
|
||||
like_V2 = mkV2 "xi3huan1" ;
|
||||
listen_V2 = mkV2 "ting1" ;
|
||||
lose_V2 = mkV2 "diu1" ;
|
||||
love_V2 = mkV2 "ai4" ;
|
||||
music_N = mkN "yin1le4" [] ; -- [mark] usually without classifier
|
||||
newspaper_N = mkN "bao4zhi3" "zhang1"; --[mark] "bao4" --> "bao4zhi3"
|
||||
now_Adv = mkAdv "xian4zai4" ;
|
||||
number_N = mkN "hao2ma3" ; -- [mark] "hao2" --> "hao2ma3"
|
||||
open_V2 = mkV2 "kai1" ;
|
||||
paint_V2A = mkV2A (mkV "hua4") ;
|
||||
paper_N = mkN "zhi3" "zhang1";
|
||||
pen_N = mkN "bi3" "qi2";
|
||||
person_N = mkN "ren2" ;
|
||||
play_V2 = mkV2 "wan2" ; --[mark] "wan2er2" --> "wan2"
|
||||
put_V2 = mkV2 "bai3" ;
|
||||
question_N = mkN "wen4ti2" ;
|
||||
boat_N = mkN "chuán" "saō";
|
||||
book_N = mkN "shū" "běn";
|
||||
bread_N = mkN "miànbaō" ;
|
||||
buy_V2 = mkV2 "maǐ" ;
|
||||
cap_N = mkN "maòzǐ" "dǐng";
|
||||
car_N = mkN "qìchē" "taí";
|
||||
chair_N = mkN "yǐzǐ" "bǎ";
|
||||
city_N = mkN "chéngshì" ; -- [mark] "shì" --> "chéngshì"
|
||||
clean_A = mkA "gānjìng" ;
|
||||
coat_N = mkN "yīfú" "jiàn";
|
||||
country_N = mkN "guójiā" ; -- [mark] "guó" --> "guójiā"
|
||||
cow_N = mkN "niú" "toú";
|
||||
do_V2 = mkV2 "zuò" ;
|
||||
doctor_N = mkN "yīshēng" "míng";
|
||||
door_N = mkN "mén" "shān";
|
||||
factory_N = mkN "gōngchǎng" "jiān";
|
||||
far_Adv = mkAdv "yuǎn" ;
|
||||
fear_VS = mkVS (mkV "pà") ;
|
||||
find_V2 = mkV2 "fāxiàn" ;
|
||||
forget_V2 = mkV2 "wàng" ;
|
||||
friend_N = mkN "péngyoǔ" ;
|
||||
girl_N = mkN "gūniáng" ;
|
||||
give_V3 = mkV3 "geǐ" ;
|
||||
go_V = mkV "qù" ;
|
||||
grammar_N = mkN "yǔfǎ" ;
|
||||
hat_N = mkN "maòzǐ" "dǐng";
|
||||
hill_N = mkN "shān" "zuò";
|
||||
hope_VS = mkV "xīwàng" ;
|
||||
horse_N = mkN "mǎ" "pī";
|
||||
hot_A = mkA "rè" ;
|
||||
important_A = mkA "chóngyaō" ;
|
||||
industry_N = mkN "gōngyè" [];
|
||||
jump_V = mkV "tiaò" ;
|
||||
know_V2 = mkV2 "zhīdaò" ;
|
||||
know_VQ = mkV "zhīdaò" ;
|
||||
lamp_N = mkN "dēng" "zhǎn";
|
||||
language_N = mkN "yǔyán" "zhǒng";
|
||||
learn_V2 = mkV2 "xué" ;
|
||||
leave_V2 = mkV2 "líkaī" ; --[mark] "lí" --> "líkaī", "lí" itself is either a morpheme, or a marker indicating distance
|
||||
like_V2 = mkV2 "xǐhuān" ;
|
||||
listen_V2 = mkV2 "tīng" ;
|
||||
lose_V2 = mkV2 "diū" ;
|
||||
love_V2 = mkV2 "aì" ;
|
||||
music_N = mkN "yīnlè" [] ; -- [mark] usually without classifier
|
||||
newspaper_N = mkN "baòzhǐ" "zhāng"; --[mark] "baò" --> "baòzhǐ"
|
||||
now_Adv = mkAdv "xiànzaì" timeAdvType ;
|
||||
number_N = mkN "haómǎ" ; -- [mark] "haó" --> "haómǎ"
|
||||
open_V2 = mkV2 "kaī" ;
|
||||
paint_V2A = mkV2A (mkV "huà") ;
|
||||
paper_N = mkN "zhǐ" "zhāng";
|
||||
pen_N = mkN "bǐ" "qí";
|
||||
person_N = mkN "rén" ;
|
||||
play_V2 = mkV2 "wán" ; --[mark] "wánér" --> "wán"
|
||||
put_V2 = mkV2 "baǐ" ;
|
||||
question_N = mkN "wèntí" ;
|
||||
|
||||
rain_V0 = mkV "xia4yu3";
|
||||
read_V2 = mkV2 "dou4" ;
|
||||
reason_N = mkN "dao4li3" ;
|
||||
restaurant_N = mkN "fan4dian4" "jian1";
|
||||
run_V = mkV "pao3" ;
|
||||
school_N = mkN "xue2jiao4" "suo3";
|
||||
science_N = mkN "ke1xue2" []; -- [mark] usually without classifier
|
||||
sell_V3 = mkV3 "mai4" ;
|
||||
send_V3 = mkV3 "ji4" ;
|
||||
sheep_N = mkN "yang2" "qi2";
|
||||
ship_N = mkN "chuan2" "sao1";
|
||||
shoe_N = mkN "xie2" "qi2";
|
||||
shop_N = mkN "shang1dian4" "jian1";
|
||||
song_N = mkN "ge1" "shou3";
|
||||
speak_V2 = mkV2 "shui4" ;
|
||||
student_N = mkN "xue2sheng1" "ming2" ;
|
||||
table_N = mkN "zhuo1zi3" "zhang1";
|
||||
talk_V3 = mkV3 "shui4" ;
|
||||
teach_V2 = mkV2 "jiao1" ;
|
||||
teacher_N = mkN "lao3shi1" "ming2";
|
||||
television_N = mkN "dian4shi4" "tai2";
|
||||
today_Adv = mkAdv "jin1tian1" ;
|
||||
train_N = mkN "huo3che1" "liang4";
|
||||
travel_V = mkV "lu:3hang2" ;
|
||||
understand_V2 = mkV2 "dong3" ;
|
||||
university_N = mkN "da4xue2" "suo3";
|
||||
wait_V2 = mkV2 "deng3" ;
|
||||
watch_V2 = mkV2 "kan1" ;
|
||||
win_V2 = mkV2 "ying2" ;
|
||||
window_N = mkN "chuang1" "shan1";
|
||||
wine_N = mkN "jiu3" "ping2";
|
||||
write_V2 = mkV2 "xie3" ;
|
||||
young_A = mkA "nian2qing1" ;
|
||||
rain_V0 = mkV "xiàyǔ";
|
||||
read_V2 = mkV2 "doù" ;
|
||||
reason_N = mkN "daòlǐ" ;
|
||||
restaurant_N = mkN "fàndiàn" "jiān";
|
||||
run_V = mkV "paǒ" ;
|
||||
school_N = mkN "xuéjiaò" "suǒ";
|
||||
science_N = mkN "kēxué" []; -- [mark] usually without classifier
|
||||
sell_V3 = mkV3 "maì" ;
|
||||
send_V3 = mkV3 "jì" ;
|
||||
sheep_N = mkN "yáng" "qí";
|
||||
ship_N = mkN "chuán" "saō";
|
||||
shoe_N = mkN "xié" "qí";
|
||||
shop_N = mkN "shāngdiàn" "jiān";
|
||||
song_N = mkN "gē" "shoǔ";
|
||||
speak_V2 = mkV2 "shuì" ;
|
||||
student_N = mkN "xuéshēng" "míng" ;
|
||||
table_N = mkN "zhuōzǐ" "zhāng";
|
||||
talk_V3 = mkV3 "shuì" ;
|
||||
teach_V2 = mkV2 "jiaō" ;
|
||||
teacher_N = mkN "laǒshī" "míng";
|
||||
television_N = mkN "diànshì" "taí";
|
||||
today_Adv = mkAdv "jīntiān" timeAdvType ;
|
||||
train_N = mkN "huǒchē" "liàng";
|
||||
travel_V = mkV "lǚháng" ;
|
||||
understand_V2 = mkV2 "dǒng" ;
|
||||
university_N = mkN "dàxué" "suǒ";
|
||||
wait_V2 = mkV2 "děng" ;
|
||||
watch_V2 = mkV2 "kān" ;
|
||||
win_V2 = mkV2 "yíng" ;
|
||||
window_N = mkN "chuāng" "shān";
|
||||
wine_N = mkN "jiǔ" "píng";
|
||||
write_V2 = mkV2 "xiě" ;
|
||||
young_A = mkA "niánqīng" ;
|
||||
|
||||
-- from Google
|
||||
|
||||
apartment_N = mkN "gong1yu4" "jian1" ;
|
||||
baby_N = mkN "ying1er2" ;
|
||||
boot_N = mkN "xue1zi3" "qi2" ; -- [mark] "ji1" --> "xue1zi3"
|
||||
boss_N = mkN "lao3ban3" ;
|
||||
boy_N = mkN "nan2hai2" ;
|
||||
brother_N2 = mkN2 "di4di4" ;
|
||||
butter_N = mkN "huang2you2" "he2";
|
||||
camera_N = mkN "she4xiang4tou2" ;
|
||||
carpet_N = mkN "detan3" "zhang1";
|
||||
cat_N = mkN "mao1" "qi2" ;
|
||||
ceiling_N = mkN "tian1hua1ban3" ; --[mark] "tian1hua1ban3shang4" --> "tian1hua1ban3"
|
||||
cheese_N = mkN "nai3lao4" "kuai1";
|
||||
church_N = mkN "jiao1tang2" "suo3" ;
|
||||
computer_N = mkN "ji4suan4ji1" "tai2" ;
|
||||
cousin_N = mkN "biao3di4" ;
|
||||
distance_N3 = mkN3 (mkN "deju4li2") emptyPrep emptyPrep ; ----
|
||||
enemy_N = mkN "di2ren2" ;
|
||||
father_N2 = mkN2 "fu4qin1" ;
|
||||
floor_N = mkN "deban3" ; -- [mark] floor "deban3"(have you cleaned the floor) "lou2ceng2"(which floor do you live?)
|
||||
fridge_N = mkN "bing1xiang1" "tai2" ;
|
||||
garden_N = mkN "hua1yuan2" "zuo4";
|
||||
glove_N = mkN "shou3tao4" "fu4";
|
||||
gold_N = mkN "jin1zi3" "kuai1"; -- [mark] also without classifier
|
||||
harbour_N = mkN "hai3gang3" ;
|
||||
iron_N = mkN "tie3" "kuai1"; -- [mark] also without classifier
|
||||
king_N = mkN "guo2wang2" ;
|
||||
leather_N = mkN "pi2ge2" "kuai1";
|
||||
love_N = mkN "ai4" [] ; -- [mark] "kuai1" --> [], often without classifier
|
||||
milk_N = mkN "niu2nai3" "bei1" ; -- [mark] "nai3" --> "niu2nai3", which literaly means cow milk
|
||||
mother_N2 = mkN2 "mu3qin1";
|
||||
oil_N = mkN "you2" "tong3" ; -- [mark] rewritten
|
||||
peace_N = mkN "he2ping2" []; -- [mark] often without classifier
|
||||
planet_N = mkN "xing1qiu2" ;
|
||||
plastic_N = mkN "su4liao4" "kuai1"; -- [mark] "su4liao4zhi4cheng2" --> "su4liao4" often without classifier
|
||||
policeman_N = mkN "jing3cha2" "ming2" ;
|
||||
priest_N = mkN "mu4shi1" "wei4";
|
||||
queen_N = mkN "nu:3wang2" ;
|
||||
radio_N = mkN "shou1yin1ji1" "tai2" ;
|
||||
religion_N = mkN "zong1jiao1" []; -- [mark] also without classifier
|
||||
rock_N = mkN "dan4tou2" "kuai1" ;
|
||||
roof_N = mkN "wu1ding3" ;
|
||||
rubber_N = mkN "xiang4jiao1" "kuai1";
|
||||
rule_N = mkN "gui1ze2" "xiang4"; -- [mark] "yuan2ze2" --> "gui1ze2"
|
||||
shirt_N = mkN "chen4shan1" "jian4" ;
|
||||
silver_N = mkN "yin2zi3" "kuai1"; -- [mark] "yin2" --> "yin2zi3"
|
||||
sister_N = mkN "mei4mei4" ;
|
||||
sock_N = mkN "wa4zi3" "qi2";
|
||||
steel_N = mkN "gang1" "kuai1";
|
||||
stove_N = mkN "lu2zi3" ;
|
||||
village_N = mkN "cun1zhuang1" "zuo4";
|
||||
war_N = mkN "zhan4zheng1" "chang3" ; -- [mark] rewritten
|
||||
wood_N = mkN "mu4tou2" "kuai1" ; -- [mark] "mu4" --> "mu4tou2"
|
||||
apartment_N = mkN "gōngyù" "jiān" ;
|
||||
baby_N = mkN "yīngér" ;
|
||||
boot_N = mkN "xuēzǐ" "qí" ; -- [mark] "jī" --> "xuēzǐ"
|
||||
boss_N = mkN "laǒbǎn" ;
|
||||
boy_N = mkN "nánhaí" ;
|
||||
brother_N2 = mkN2 "dìdì" ;
|
||||
butter_N = mkN "huángyoú" "hé";
|
||||
camera_N = mkN "shèxiàngtoú" ;
|
||||
carpet_N = mkN "detǎn" "zhāng";
|
||||
cat_N = mkN "maō" "qí" ;
|
||||
ceiling_N = mkN "tiānhuābǎn" ; --[mark] "tiānhuābǎnshàng" --> "tiānhuābǎn"
|
||||
cheese_N = mkN "naǐlaò" "kuaī";
|
||||
church_N = mkN "jiaōtáng" "suǒ" ;
|
||||
computer_N = mkN "jìsuànjī" "taí" ;
|
||||
cousin_N = mkN "biaǒdì" ;
|
||||
distance_N3 = mkN3 (mkN "dejùlí") emptyPrep emptyPrep ; ----
|
||||
enemy_N = mkN "dírén" ;
|
||||
father_N2 = mkN2 "fùqīn" ;
|
||||
floor_N = mkN "debǎn" ; -- [mark] floor "debǎn"(have you cleaned the floor) "loúcéng"(which floor do you live?)
|
||||
fridge_N = mkN "bīngxiāng" "taí" ;
|
||||
garden_N = mkN "huāyuán" "zuò";
|
||||
glove_N = mkN "shoǔtaò" "fù";
|
||||
gold_N = mkN "jīnzǐ" "kuaī"; -- [mark] also without classifier
|
||||
harbour_N = mkN "haǐgǎng" ;
|
||||
iron_N = mkN "tiě" "kuaī"; -- [mark] also without classifier
|
||||
king_N = mkN "guówáng" ;
|
||||
leather_N = mkN "pígé" "kuaī";
|
||||
love_N = mkN "aì" [] ; -- [mark] "kuaī" --> [], often without classifier
|
||||
milk_N = mkN "niúnaǐ" "beī" ; -- [mark] "naǐ" --> "niúnaǐ", which literaly means cow milk
|
||||
mother_N2 = mkN2 "mǔqīn";
|
||||
oil_N = mkN "yoú" "tǒng" ; -- [mark] rewritten
|
||||
peace_N = mkN "hépíng" []; -- [mark] often without classifier
|
||||
planet_N = mkN "xīngqiú" ;
|
||||
plastic_N = mkN "sùliaò" "kuaī"; -- [mark] "sùliaòzhìchéng" --> "sùliaò" often without classifier
|
||||
policeman_N = mkN "jǐngchá" "míng" ;
|
||||
priest_N = mkN "mùshī" "weì";
|
||||
queen_N = mkN "nǚwáng" ;
|
||||
radio_N = mkN "shoūyīnjī" "taí" ;
|
||||
religion_N = mkN "zōngjiaō" []; -- [mark] also without classifier
|
||||
rock_N = mkN "dàntoú" "kuaī" ;
|
||||
roof_N = mkN "wūdǐng" ;
|
||||
rubber_N = mkN "xiàngjiaō" "kuaī";
|
||||
rule_N = mkN "guīzé" "xiàng"; -- [mark] "yuánzé" --> "guīzé"
|
||||
shirt_N = mkN "chènshān" "jiàn" ;
|
||||
silver_N = mkN "yínzǐ" "kuaī"; -- [mark] "yín" --> "yínzǐ"
|
||||
sister_N = mkN "meìmeì" ;
|
||||
sock_N = mkN "wàzǐ" "qí";
|
||||
steel_N = mkN "gāng" "kuaī";
|
||||
stove_N = mkN "lúzǐ" ;
|
||||
village_N = mkN "cūnzhuāng" "zuò";
|
||||
war_N = mkN "zhànzhēng" "chǎng" ; -- [mark] rewritten
|
||||
wood_N = mkN "mùtoú" "kuaī" ; -- [mark] "mù" --> "mùtoú"
|
||||
|
||||
|
||||
-- from scratch, by Jolene
|
||||
|
||||
lin
|
||||
alas_Interj = ssword "ai1" ;
|
||||
beg_V2V = mkV2V (mkV "qi3qiu2") ; -- beg him to do something
|
||||
break_V2 = mkV2 "da2po4" ;
|
||||
broad_A = mkA "kuan1" ;
|
||||
brown_A = mkA "zong1" ;
|
||||
clever_A = mkA "cong1ming2" ;
|
||||
close_V2 = mkV2 "guan1bi4" ;
|
||||
easy_A2V = mkA2 "jian3chan2" ;
|
||||
empty_A = mkA "kong1" ;
|
||||
fun_AV = mkA "you3qu4" ;
|
||||
hate_V2 = mkV2 "tao3yan4" ;
|
||||
married_A2 = mkA2 "jie1hun1" ;
|
||||
paris_PN = mkPN "ba1li2" ;
|
||||
probable_AS = mkA "ke3neng2" ;
|
||||
ready_A = mkA "zhun3bei4hao3" ; -- [mark] "zhun3bei4hao3": 准备(v) + 好(adj,complement)
|
||||
seek_V2 = mkV2 "xun2qiu2" ;
|
||||
stop_V = mkV "ting2zhi3" ;
|
||||
stupid_A = mkA "ben4" ;
|
||||
switch8off_V2 = mkV2 "guan1" ;
|
||||
switch8on_V2 = mkV2 "kai1" ;
|
||||
ugly_A = mkA "chou3" ;
|
||||
uncertain_A = mkA "bu4que4ding4" ; -- [mark] "bu4que4ding4": 不("un-") + 确定("certain")
|
||||
alas_Interj = ssword "aī" ;
|
||||
beg_V2V = mkV2V (mkV "qǐqiú") ; -- beg him to do something
|
||||
break_V2 = mkV2 "dápò" ;
|
||||
broad_A = mkA "kuān" ;
|
||||
brown_A = mkA "zōng" ;
|
||||
clever_A = mkA "cōngmíng" ;
|
||||
close_V2 = mkV2 "guānbì" ;
|
||||
easy_A2V = mkA2 "jiǎnchán" ;
|
||||
empty_A = mkA "kōng" ;
|
||||
fun_AV = mkA "yoǔqù" ;
|
||||
hate_V2 = mkV2 "taǒyàn" ;
|
||||
married_A2 = mkA2 "jiēhūn" ;
|
||||
paris_PN = mkPN "bālí" ;
|
||||
probable_AS = mkA "kěnéng" ;
|
||||
ready_A = mkA "zhǔnbeìhaǒ" ; -- [mark] "zhǔnbeìhaǒ": 准备(v) + 好(adj,complement)
|
||||
seek_V2 = mkV2 "xúnqiú" ;
|
||||
stop_V = mkV "tíngzhǐ" ;
|
||||
stupid_A = mkA "bèn" ;
|
||||
switch8off_V2 = mkV2 "guān" ;
|
||||
switch8on_V2 = mkV2 "kaī" ;
|
||||
ugly_A = mkA "choǔ" ;
|
||||
uncertain_A = mkA "bùquèdìng" ; -- [mark] "bùquèdìng": 不("un-") + 确定("certain")
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,12 +12,12 @@ main = do
|
||||
pinyinFile = "pinyin.txt"
|
||||
|
||||
resModules = [mo | mo <-
|
||||
["DictEng","Extra","Lexicon", "Numeral", "Paradigms","Res", "Structural","Symbol"]
|
||||
["Extra","Lexicon", "Numeral", "Paradigms","Res", "Structural","Symbol"]
|
||||
]
|
||||
|
||||
mkPinyin ma mo = do
|
||||
s <- readFile mo
|
||||
writeFile (mo ++ "-cmn") (useMapGF ma s)
|
||||
s <- readFile ("../" ++ mo ++ "Chi.gf")
|
||||
writeFile ("tmp/" ++ mo ++ "Chi.gf") (useMapGF ma s)
|
||||
|
||||
|
||||
--import Pinyin (c2pMap, useMapGF, mkList)
|
||||
@@ -46,7 +46,38 @@ useMapGF m s = case s of
|
||||
where
|
||||
convert cs = case cs of
|
||||
'"':s -> '"' : useMapGF m s
|
||||
c :s -> maybe [c] (head . words) (Map.lookup [c] m) ++ convert s
|
||||
c :s -> maybe [c] (tone2tone . head . words) (Map.lookup [c] m) ++ convert s
|
||||
_ -> cs
|
||||
|
||||
c2pMap ws = Map.fromList [(c,unwords ps) | (_,(c,ps)) <- ws]
|
||||
|
||||
-- from numeric tones to diacritics
|
||||
tone2tone :: String -> String
|
||||
tone2tone = combine . change . analyse where
|
||||
analyse :: String -> [String] -- four parts: ch,a,ng,1
|
||||
analyse s = case reverse s of
|
||||
i:'r': v:x | elem i "1234" -> [reverse x,[v],"r", [i]]
|
||||
i:'n': v:x | elem i "1234" -> [reverse x,[v],"n", [i]]
|
||||
i:'g':'n':v:x | elem i "1234" -> [reverse x,[v],"ng",[i]]
|
||||
i: v:x | elem i "1234" -> [reverse x,[v],"", [i]]
|
||||
'r': v:x -> [reverse x,[v],"r", []]
|
||||
'n': v:x -> [reverse x,[v],"n", []]
|
||||
'g':'n': v:x -> [reverse x,[v],"ng",[]]
|
||||
v :x -> [reverse x,[v],"", []]
|
||||
_ -> error $ "illegal pinyin: " ++ s
|
||||
|
||||
change ss@[x,[v],ng,i] = case i of
|
||||
[] -> ss
|
||||
_ -> [x,[accent v !! (read i - 1)],ng]
|
||||
|
||||
combine = concat
|
||||
|
||||
accent v = case v of
|
||||
'a' -> "āáǎà"
|
||||
'e' -> "ēéěè"
|
||||
'i' -> "īíǐì"
|
||||
'o' -> "ōóǒò"
|
||||
'u' -> "ūúǔù"
|
||||
'ü' -> "ǖǘǚǜ"
|
||||
'v' -> "ǖǘǚǜ"
|
||||
_ -> error $ "no accents for " ++ [v]
|
||||
|
||||
@@ -7,19 +7,19 @@ param Qform = bai | bai0 | shiwan | shiwan0 ;
|
||||
param Bform = shi | shi0 | wan | wan0 ;
|
||||
param Zero = zero | nozero ;
|
||||
oper ling : Zero * Zero => Str =
|
||||
table {<zero,z> => "ling2" ;
|
||||
<z,zero> => "ling2" ;
|
||||
table {<zero,z> => "líng" ;
|
||||
<z,zero> => "líng" ;
|
||||
<nozero,nozero> => []} ;
|
||||
oper Wan : Zero => Str =
|
||||
table {zero => "wan4" ;
|
||||
table {zero => "wàn" ;
|
||||
nozero => []} ;
|
||||
|
||||
oper mkD : Str -> Str -> Str = \x,_ -> word x ; -- hiding the "formal" version
|
||||
|
||||
lincat Digit = {s,p : Str} ;
|
||||
lincat Sub10 = {s,p : Str} ;
|
||||
lincat Sub100 = {inh : Zero ; s,p : Bform => Str} ;
|
||||
lincat Sub1000 = {inh : Zero ; s,p : Qform => Str} ;
|
||||
lincat Digit = {s,p : Str} ; -- s/p: without/with classifier (er/liang)
|
||||
lincat Sub10 = {s,p,t : Str} ; -- t: with "shi wan"
|
||||
lincat Sub100 = {end0,beg0 : Zero ; s,p : Bform => Str} ; -- end0: ends with zeros, e.g. 20 ; beg0: begins with zeros, e.g. 02
|
||||
lincat Sub1000 = {end0,beg0 : Zero ; s,p : Qform => Str} ; -- end0: ends with zeros, e.g. 210 ; beg0: begins with zeros, e.g. 021
|
||||
lincat Sub1000000 = {s,p : Str} ;
|
||||
lin num x0 = x0 ;
|
||||
|
||||
@@ -27,105 +27,116 @@ lin num x0 = x0 ;
|
||||
--
|
||||
|
||||
lin n2 =
|
||||
{s = mkD "er4" "er4" ; p = "liang3"} ;
|
||||
{s = mkD "èr" "èr" ; p = "liǎng"} ;
|
||||
lin n3 =
|
||||
{s,p = mkD "san1" "san1"} ;
|
||||
{s,p = mkD "sān" "sān"} ;
|
||||
lin n4 =
|
||||
{s,p = mkD "si4" "si4"} ;
|
||||
{s,p = mkD "sì" "sì"} ;
|
||||
lin n5 =
|
||||
{s,p = mkD "wu3" "wu3"} ;
|
||||
{s,p = mkD "wǔ" "wǔ"} ;
|
||||
lin n6 =
|
||||
{s,p = mkD "liu4" "liu4"} ;
|
||||
{s,p = mkD "liù" "liù"} ;
|
||||
lin n7 =
|
||||
{s,p = mkD "qi1" "qi1"} ;
|
||||
{s,p = mkD "qī" "qī"} ;
|
||||
lin n8 =
|
||||
{s,p = mkD "ba1" "ba1"} ;
|
||||
{s,p = mkD "bā" "bā"} ;
|
||||
lin n9 =
|
||||
{s,p = mkD "jiu3" "jiu3"} ;
|
||||
{s,p = mkD "jiǔ" "jiǔ"} ;
|
||||
lin pot01 =
|
||||
{s,p = mkD "yi1" "yi1"} ;
|
||||
{s,p = mkD "yī" "yī" ; t = []} ; -- t used in "(*yi) shi wan"
|
||||
lin pot0 d =
|
||||
{s = d.s ; p = d.p} ;
|
||||
{s,t = d.s ; p = d.p} ;
|
||||
lin pot110 =
|
||||
{inh = nozero ;
|
||||
{beg0 = nozero ; end0 = zero ;
|
||||
s,p = table {
|
||||
shi => mkD "yi1shi2" "yi1shi2" ;
|
||||
shi0 => mkD "yi1shi2" "yi1shi2" ;
|
||||
wan => mkD "yi1wan4" "yi1wan4" ;
|
||||
wan0 => mkD "yi1wan4" "yi1wan4"}} ;
|
||||
shi => mkD "shí" "shí" ;
|
||||
shi0 => mkD "yīshí" "yīshí" ;
|
||||
wan => mkD "yīwàn" "yīwàn" ;
|
||||
wan0 => mkD "yīwàn" "yīwàn"
|
||||
}} ;
|
||||
lin pot111 =
|
||||
{inh = nozero ;
|
||||
{beg0 = nozero ; end0 = nozero ;
|
||||
s,p = table {
|
||||
shi => mkD "shi2yi1" "shi2yi1" ;
|
||||
shi0 => mkD "yi1shi2yi1" "yi1shi2yi1" ;
|
||||
wan => mkD "yi1wan4yi1qian1" "yi1wan4yi1qian1" ; -- 11.16 by chenpeng wan => mkD "shi2yi1wan4" "shi2yi1wan4" ;
|
||||
wan0 => mkD "yi1wan4yi1qian1" "yi1wan4yi1qian1"}} ; -- 11.16 by chenpeng wan0 => mkD "shi2yi1wan4" "shi2yi1wan4"}} ;
|
||||
shi => mkD "shíyī" "shíyī" ;
|
||||
shi0 => mkD "yīshíyī" "yīshíyī" ;
|
||||
wan => mkD "yīwànyīqiān" "yīwànyīqiān" ; -- 11.16 by chenpeng wan => mkD "shíyīwàn" "shíyīwàn" ;
|
||||
wan0 => mkD "yīwànyīqiān" "yīwànyīqiān"
|
||||
}} ; -- 11.16 by chenpeng wan0 => mkD "shíyīwàn" "shíyīwàn"}} ;
|
||||
lin pot1to19 d =
|
||||
{inh = nozero ;
|
||||
{beg0 = nozero ; end0 = nozero ;
|
||||
s,p = table {
|
||||
shi => mkD "yi1shi2" "yi1shi2" ++ d.s ;
|
||||
shi0 => mkD "yi1shi2" "yi1shi2" ;
|
||||
wan => mkD "yi1wan4" "yi1wan4" ++ d.s ++ mkD "qian1" "qian1" ;
|
||||
wan0 => mkD "yi1wan4" "yi1wan4" ++ d.s ++ mkD "qian1" "qian1"}} ;
|
||||
shi => mkD "shí" "yīshí" ++ d.s ;
|
||||
shi0 => mkD "yīshí" "yīshí" ++ d.s ;
|
||||
wan => mkD "yīwàn" "yīwàn" ++ d.s ++ mkD "qiān" "qiān" ;
|
||||
wan0 => mkD "yīwàn" "yīwàn" ++ d.s ++ mkD "qiān" "qiān"
|
||||
}} ;
|
||||
lin pot0as1 n =
|
||||
{inh = zero ;
|
||||
{beg0 = zero ; end0 = nozero ;
|
||||
s = table {
|
||||
shi => n.s ;
|
||||
shi0 => n.s ;
|
||||
wan => n.s ++ mkD "qian1" "qian1" ;
|
||||
wan0 => n.s ++ mkD "qian1" "qian1"} ;
|
||||
wan => n.p ++ mkD "qiān" "qiān" ;
|
||||
wan0 => n.p ++ mkD "qiān" "qiān"
|
||||
} ;
|
||||
p = table {
|
||||
shi => n.p ;
|
||||
shi0 => n.s ;
|
||||
wan => n.s ++ mkD "qian1" "qian1" ;
|
||||
wan0 => n.s ++ mkD "qian1" "qian1"}
|
||||
wan => n.p ++ mkD "qiān" "qiān" ;
|
||||
wan0 => n.p ++ mkD "qiān" "qiān"
|
||||
}
|
||||
} ;
|
||||
lin pot1 d =
|
||||
{inh = nozero ; -- inh = zero
|
||||
{beg0 = nozero ; end0 = zero ; -- inh = nozero ;
|
||||
s,p = table {
|
||||
shi => d.s ++ mkD "shi2" "shi2" ;
|
||||
shi0 => d.s ++ mkD "shi2" "shi2" ;
|
||||
wan0 => d.s ++ "wan4" ;
|
||||
wan => d.s ++ "wan4"}} ;
|
||||
shi => d.s ++ mkD "shí" "shí" ;
|
||||
shi0 => d.s ++ mkD "shí" "shí" ;
|
||||
wan0 => (d.p | d.s) ++ "wàn" ;
|
||||
wan => (d.p | d.s) ++ "wàn"
|
||||
}} ;
|
||||
lin pot1plus d e =
|
||||
{inh = nozero ;
|
||||
{beg0 = nozero ; end0 = nozero ; -- inh = nozero ;
|
||||
s,p = table {
|
||||
shi => d.s ++ mkD "shi2" "shi2" ++ e.s ;
|
||||
shi0 => d.s ++ mkD "shi2" "shi2" ++ e.s ;
|
||||
wan => d.s ++ "wan4" ++ e.s ++ mkD "qian1" "qian1" ;
|
||||
wan0 => d.s ++ "wan4" ++ e.s ++ mkD "qian1" "qian1"}} ;
|
||||
shi => d.s ++ mkD "shí" "shí" ++ e.s ;
|
||||
shi0 => d.s ++ mkD "shí" "shí" ++ e.s ;
|
||||
wan => (d.p | d.s) ++ "wàn" ++ e.s ++ mkD "qiān" "qiān" ;
|
||||
wan0 => (d.p | d.s) ++ "wàn" ++ e.s ++ mkD "qiān" "qiān"
|
||||
}} ;
|
||||
lin pot1as2 n =
|
||||
{inh = zero ;
|
||||
{beg0 = zero ; end0 = n.end0 ; -- inh = zero ;
|
||||
s = table {
|
||||
bai => n.s ! shi ;
|
||||
bai0 => n.s ! shi ;
|
||||
shiwan => n.s ! wan ;
|
||||
shiwan0 => n.s ! wan0} ;
|
||||
bai => n.s ! shi ;
|
||||
bai0 => n.s ! shi0 ;
|
||||
shiwan => n.s ! wan ;
|
||||
shiwan0 => n.s ! wan0
|
||||
} ;
|
||||
p = table {
|
||||
bai => n.p ! shi ;
|
||||
bai0 => n.s ! shi ;
|
||||
shiwan => n.s ! wan ;
|
||||
shiwan0 => n.s ! wan0}} ;
|
||||
bai => n.p ! shi ;
|
||||
bai0 => n.s ! shi0 ;
|
||||
shiwan => n.s ! wan ;
|
||||
shiwan0 => n.s ! wan0
|
||||
}} ;
|
||||
lin pot2 d =
|
||||
{inh = zero ;
|
||||
{beg0 = nozero ; end0 = zero ; -- inh = zero ;
|
||||
s,p = table {
|
||||
bai => d.s ++ mkD "bai3" "bai3" ;
|
||||
bai0 => d.s ++ mkD "bai3" "bai3" ;
|
||||
shiwan0 => d.s ++ mkD "shi2wan4" "shi2wan4" ;
|
||||
shiwan => d.s ++ mkD "shi2wan4" "shi2wan4"}} ;
|
||||
bai => (d.p | d.s) ++ mkD "baǐ" "baǐ" ;
|
||||
bai0 => (d.p | d.s) ++ mkD "baǐ" "baǐ" ;
|
||||
shiwan0 => d.t ++ mkD "shíwàn" "shíwàn" ;
|
||||
shiwan => d.t ++ mkD "shíwàn" "shíwàn"
|
||||
}} ;
|
||||
lin pot2plus d e =
|
||||
{inh = nozero ;
|
||||
{beg0 = nozero ; end0 = e.end0 ; -- inh = nozero ;
|
||||
s,p = table {
|
||||
bai => d.s ++ mkD "bai3" "bai3" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ; --why omit "bai3"? i add it /chenpeng
|
||||
bai0 => d.s ++ mkD "bai3" "bai3" ++ (ling ! <e.inh,e.inh>) ++ e.s ! shi0 ; --why omit "bai3"? i add it /chenpeng
|
||||
shiwan => d.s ++ mkD "shi2" "shi2" ++ (Wan ! (e.inh)) ++ e.s ! wan ; --why omit "shi2"? i add it /chenpeng
|
||||
shiwan0 => d.s ++ mkD "shi2" "shi2" ++ (Wan ! (e.inh)) ++ e.s ! wan0}} ;--why omit "shi2"? i add it /chenpeng
|
||||
bai => (d.p | d.s) ++ mkD "baǐ" "baǐ" ++ (ling ! <nozero,e.beg0>) ++ e.s ! shi0 ; --why omit "baǐ"? i add it /chenpeng
|
||||
bai0 => (d.p | d.s) ++ mkD "baǐ" "baǐ" ++ (ling ! <nozero,e.beg0>) ++ e.s ! shi0 ; --why omit "baǐ"? i add it /chenpeng
|
||||
shiwan => d.t ++ mkD "shí" "shí" ++ (Wan ! (e.end0)) ++ e.s ! wan ; --why omit "shí"? i add it /chenpeng
|
||||
shiwan0 => d.t ++ mkD "shí" "shí" ++ (Wan ! (e.end0)) ++ e.s ! wan0
|
||||
}} ;--why omit "shí"? i add it /chenpeng
|
||||
lin pot2as3 n =
|
||||
{s = n.s ! bai ; p = n.p ! bai} ;
|
||||
lin pot3 n =
|
||||
{s,p = n.s ! shiwan} ;
|
||||
lin pot3plus n m =
|
||||
{s,p = (n.s ! shiwan0) ++ (ling ! <n.inh,m.inh>) ++ m.s ! bai0} ;
|
||||
{s,p = (n.s ! shiwan0) ++ (ling ! <n.end0,m.beg0>) ++ m.s ! bai0} ;
|
||||
|
||||
|
||||
-- numerals as sequences of digits
|
||||
|
||||
@@ -23,7 +23,10 @@ oper
|
||||
|
||||
|
||||
mkPN : (john : Str) -> PN
|
||||
= \s -> lin PN {s = word s} ;
|
||||
= \s -> lin PN {s = word s} ; -- normal name, in Chinese characters
|
||||
|
||||
foreignPN : (john : Str) -> PN
|
||||
= \s -> lin PN {s = s} ; -- foreign name, in Latin or other non-Chinese characters
|
||||
|
||||
mkA = overload {
|
||||
mkA : (small : Str) -> A
|
||||
@@ -40,6 +43,8 @@ oper
|
||||
v + "+" + p => lin V (regVerb (v + p)) ;
|
||||
_ => lin V (regVerb walk)
|
||||
} ;
|
||||
mkV : (walk,out : Str) -> V
|
||||
= \v,p -> lin V (regVerb (v + p)) ; ----
|
||||
mkV : (arrive : Str) -> Str -> Str -> Str -> Str -> V
|
||||
= \arrive,pp,ds,dp,ep -> lin V (mkVerb arrive pp ds dp ep neg_s) ;
|
||||
mkV : (arrive : Str) -> Str -> Str -> Str -> Str -> Str -> V
|
||||
@@ -80,10 +85,13 @@ oper
|
||||
} ;
|
||||
|
||||
mkVS = overload {
|
||||
mkVS : V -> VS =
|
||||
\v -> lin VS v ;
|
||||
mkVS : Str -> VS =
|
||||
\v -> lin VS (regVerb v) ;
|
||||
mkVS : Str -> Str -> VS =
|
||||
\s,t -> lin VS (regVerb (s + t)) ; ----
|
||||
|
||||
mkVS : V -> VS =
|
||||
\v -> lin VS v ;
|
||||
} ;
|
||||
|
||||
mkVA = overload {
|
||||
@@ -131,15 +139,17 @@ oper
|
||||
mkAdv = overload {
|
||||
mkAdv : Str -> Adv
|
||||
= \s -> lin Adv {s = word s ; advType = getAdvType s} ;
|
||||
mkAdv : Str -> Str -> Adv
|
||||
= \s,t -> lin Adv {s = word (s + t) ; advType = getAdvType s} ; ----
|
||||
mkAdv : Str -> AdvType -> Adv
|
||||
= \s,at -> lin Adv {s = word s ; advType = at} ;
|
||||
} ;
|
||||
|
||||
AdvType : Type
|
||||
= ResChi.AdvType ;
|
||||
placeAdvType : AdvType -- without "zai4" included
|
||||
placeAdvType : AdvType -- without "zaì" included
|
||||
= ATPlace False ;
|
||||
zai_placeAdvType : AdvType -- with "zai4" included
|
||||
zai_placeAdvType : AdvType -- with "zaì" included
|
||||
= ATPlace True ;
|
||||
timeAdvType : AdvType
|
||||
= ATTime ;
|
||||
@@ -168,12 +178,16 @@ oper
|
||||
= \s -> lin AdN {s = word s} ;
|
||||
mkSubj : Str -> Subj
|
||||
= \s -> lin Subj (ResChi.mkSubj s []) ;
|
||||
mkConj : Str -> Conj
|
||||
= \s -> lin Conj {s = \\_ => mkConjForm s} ;
|
||||
mkConj = overload {
|
||||
mkConj : Str -> Conj
|
||||
= \s -> lin Conj {s = \\_ => mkConjForm s} ;
|
||||
mkConj : (both,and : Str) -> Conj
|
||||
= \s,t -> lin Conj {s = \\_ => mkConjForm2 s t} ;
|
||||
} ;
|
||||
mkpDet : Str -> Det
|
||||
= \s -> lin Det {s = word s ; detType = DTFull Sg} ;
|
||||
mkQuant : Str -> Quant
|
||||
= \s -> lin Quant {s,pl = s ; detType = DTFull Sg} ;
|
||||
= \s -> lin Quant {s,pl = word s ; detType = DTFull Sg} ;
|
||||
mkAdA : Str -> AdA
|
||||
= \s -> lin AdA {s = word s} ;
|
||||
mkNum : Str -> Num
|
||||
|
||||
@@ -17,44 +17,44 @@ resource ResChi = ParamX ** open Prelude in {
|
||||
|
||||
defaultStr = "" ;
|
||||
|
||||
than_s = "bi3" ;
|
||||
than_s = "bǐ" ;
|
||||
progressive_s = defaultStr ;
|
||||
de_s, possessive_s = "de" ; -- also used for AP + NP
|
||||
deAdvV_s = "de" ; -- between Adv and V
|
||||
deVAdv_s = "de2" ; -- between V and Adv
|
||||
deVAdv_s = "dé" ; -- between V and Adv
|
||||
imperneg_s = neg_s ;
|
||||
conjThat = emptyStr ; ----
|
||||
reflPron = word "zi4ji3" ; -- pron + refl
|
||||
passive_s = "bei4" ;
|
||||
reflPron = word "zìjǐ" ; -- pron + refl
|
||||
passive_s = "beì" ;
|
||||
relative_s = possessive_s ; -- relative
|
||||
superlative_s = "zui4" ; -- superlative, sup + adj + de
|
||||
zai_s = "zai4" ; -- copula for place
|
||||
you_s = "you3" ; -- to have
|
||||
superlative_s = "zuì" ; -- superlative, sup + adj + de
|
||||
zai_s = "zaì" ; -- copula for place
|
||||
you_s = "yoǔ" ; -- to have
|
||||
|
||||
copula_s = "shi4" ;
|
||||
exist_s = word "cun2zai4" ;
|
||||
neg_s = "bu4" ;
|
||||
question_s = "ma3" ;
|
||||
yi_s = "yi1" ;
|
||||
ordinal_s = "di4" ;
|
||||
xie_s = "xie1" ;
|
||||
the_s = "na3" ;
|
||||
geng_s = "geng1" ; -- more, in comparison
|
||||
hen_s = "hen3" ; -- very, or predicating a monosyllabic adjective
|
||||
taN_s = "ta1" ;
|
||||
copula_s = "shì" ;
|
||||
exist_s = word "cúnzaì" ;
|
||||
neg_s = "bù" ;
|
||||
question_s = "mǎ" ;
|
||||
yi_s = "yī" ;
|
||||
ordinal_s = "dì" ;
|
||||
xie_s = "xiē" ;
|
||||
the_s = "nǎ" ;
|
||||
geng_s = "gēng" ; -- more, in comparison
|
||||
hen_s = "hěn" ; -- very, or predicating a monosyllabic adjective
|
||||
taN_s = "tā" ;
|
||||
|
||||
zai_V = mkVerb "zai4" [] [] [] [] "bu4" ;
|
||||
zai_V = mkVerb "zaì" [] [] [] [] "bù" ;
|
||||
fullstop_s = "。" ;
|
||||
questmark_s = "?" ;
|
||||
exclmark_s = "!" ;
|
||||
ge_s = "ge4" ;
|
||||
di_s = "shi4" ; -- used in QuestSlash
|
||||
ba_s = "ba3" ; -- ba4, object marker
|
||||
ba0_s = "ba1" ; -- ba, used in imperatives
|
||||
ge_s = "gè" ;
|
||||
di_s = "shì" ; -- used in QuestSlash
|
||||
ba_s = "bǎ" ; -- ba4, object marker
|
||||
ba0_s = "bā" ; -- ba, used in imperatives
|
||||
men_s = "men" ;
|
||||
zan_s = "za2" ;
|
||||
zan_s = "zá" ;
|
||||
|
||||
say_s = "shui4" ; -- used in embedded sentences: she answers him that we sleep
|
||||
say_s = "shuì" ; -- used in embedded sentences: she answers him that we sleep
|
||||
|
||||
duncomma = "、" ;
|
||||
chcomma = "," ;
|
||||
@@ -67,6 +67,11 @@ resource ResChi = ParamX ** open Prelude in {
|
||||
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 {
|
||||
x@? + y@? + z@? + u@? + v@? + w@? + a@? + b@? + c@? + d@? + e@? =>
|
||||
bword x (bword y (bword z (bword u (bword v (bword w (bword a (bword b (bword c (bword d e))))))))) ;
|
||||
x@? + y@? + z@? + u@? + v@? + w@? + a@? + b@? + c@? + d@? =>
|
||||
bword x (bword y (bword z (bword u (bword v (bword w (bword a (bword b (bword c d)))))))) ;
|
||||
x@? + y@? + z@? + u@? + v@? + w@? + a@? + b@? + c@? => bword x (bword y (bword z (bword u (bword v (bword w (bword a (bword b c))))))) ;
|
||||
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@? => bword x (bword y (bword z (bword u (bword v (bword w a))))) ;
|
||||
x@? + y@? + z@? + u@? + v@? + w@? => bword x (bword y (bword z (bword u (bword v w)))) ;
|
||||
@@ -89,13 +94,19 @@ param
|
||||
CPosType = CAPhrase | CNPhrase | CVPhrase ;
|
||||
DeForm = DeNoun | NdNoun ; -- parameter created for noun with/out partical "de"
|
||||
|
||||
AdvType = ATPlace Bool | ATTime | ATManner ; -- ATPlace True = has zai_s already
|
||||
AdvType = ATPlace Bool | ATTime | ATManner | ATPoss ; -- ATPlace True = has zai_s already
|
||||
|
||||
-- parts of speech
|
||||
|
||||
oper
|
||||
|
||||
VP = {verb : Verb ; compl : Str ; prePart : Str} ;
|
||||
VP = {
|
||||
topic : Str ; -- topicalized item, before subject
|
||||
prePart : Str ; -- between subject and verb
|
||||
verb : Verb ;
|
||||
compl : Str -- after verb
|
||||
} ;
|
||||
|
||||
NP = {s : Str} ;
|
||||
|
||||
-- for morphology
|
||||
@@ -116,16 +127,16 @@ oper
|
||||
_ => mkAdj s False
|
||||
} ;
|
||||
|
||||
copula : Verb = mkVerb "shi4" [] [] [] [] "bu4" ;
|
||||
copula : Verb = mkVerb "shì" [] [] [] [] "bù" ;
|
||||
hen_copula : Verb =
|
||||
{s = hen_s ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bu4"} ; ---
|
||||
{s = hen_s ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bù"} ; ---
|
||||
nocopula : Verb =
|
||||
{s = [] ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bu4"} ; ---
|
||||
{s = [] ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bù"} ; ---
|
||||
adjcopula : Verb =
|
||||
{s = "shi4" ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bu4"} ; ---
|
||||
{s = "shì" ; sn = [] ; pp = [] ; ds = [] ; dp = [] ; ep = [] ; neg = "bù"} ; ---
|
||||
|
||||
regVerb : (walk : Str) -> Verb = \v ->
|
||||
mkVerb v "le" "zhao1" "zai4" "guo4" "bu4" ; -- 没" ;
|
||||
mkVerb v "le" "zhaō" "zaì" "guò" "bù" ; -- 没" ;
|
||||
|
||||
noVerb : Verb = regVerb [] ; ---?? -- used as copula for verbal adverbs
|
||||
|
||||
@@ -143,48 +154,60 @@ oper
|
||||
} ;
|
||||
Neg => table {
|
||||
APlain => v.neg ++ v.sn ; --- neg?
|
||||
APerf => "bu4" ++ v.sn ++ v.pp ;
|
||||
ADurStat => "bu4" ++ v.sn ;
|
||||
APerf => "不" ++ v.sn ++ v.pp ;
|
||||
ADurStat => "不" ++ v.sn ;
|
||||
ADurProg => v.neg ++ v.dp ++ v.sn ; -- mei or bu
|
||||
AExper => v.neg ++ v.sn ++ v.ep
|
||||
}
|
||||
} ;
|
||||
|
||||
infVP : VP -> Str = \vp -> vp.prePart ++ vp.verb.s ++ vp.compl ;
|
||||
infVP : VP -> Str = \vp -> vp.topic ++ vp.prePart ++ vp.verb.s ++ vp.compl ;
|
||||
|
||||
predV : Verb -> Str -> VP = \v,part -> {
|
||||
verb = v ;
|
||||
compl = part ;
|
||||
prePart = [] ;
|
||||
prePart, topic = [] ;
|
||||
} ;
|
||||
|
||||
insertObj : NP -> VP -> VP = \np,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = np.s ++ vp.compl ;
|
||||
prePart = vp.prePart
|
||||
prePart = vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertObjPost : NP -> VP -> VP = \np,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ++ np.s ;
|
||||
prePart = vp.prePart
|
||||
prePart = vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertAdv : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
prePart = adv.s ++ vp.prePart
|
||||
prePart = adv.s ++ vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertTopic : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
prePart = vp.prePart ;
|
||||
topic = adv.s ++ vp.topic
|
||||
} ;
|
||||
insertAdvPost : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
prePart = vp.prePart ++ adv.s
|
||||
prePart = vp.prePart ++ adv.s ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertPP : SS -> VP -> VP = \pp,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
prePart = vp.prePart ++ pp.s
|
||||
prePart = vp.prePart ++ pp.s ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertExtra : SS -> VP -> VP = \ext,vp ->
|
||||
@@ -211,8 +234,8 @@ oper
|
||||
} ;
|
||||
|
||||
mkClauseCompl : Str -> VP -> Str -> Clause = \np,vp,compl -> {
|
||||
s = \\p,a => np ++ vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl ++ compl ;
|
||||
np = np ;
|
||||
s = \\p,a => vp.topic ++ np ++ vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl ++ compl ;
|
||||
np = vp.topic ++ np ;
|
||||
vp = insertObj (ss compl) vp ;
|
||||
} ;
|
||||
|
||||
@@ -228,15 +251,15 @@ oper
|
||||
Quantifier = Determiner ** {pl : Str} ;
|
||||
|
||||
mkDet = overload {
|
||||
mkDet : Str -> Determiner = \s -> {s = s ; detType = DTFull Sg} ;
|
||||
mkDet : Str -> Number -> Determiner = \s,n -> {s = s ; detType = DTFull n} ;
|
||||
mkDet : Str -> DetType -> Determiner = \s,d -> {s = s ; detType = d} ;
|
||||
mkDet : Str -> Determiner = \s -> {s = word s ; detType = DTFull Sg} ;
|
||||
mkDet : Str -> Number -> Determiner = \s,n -> {s = word s ; detType = DTFull n} ;
|
||||
mkDet : Str -> DetType -> Determiner = \s,d -> {s = word s ; detType = d} ;
|
||||
} ;
|
||||
|
||||
mkQuant = overload {
|
||||
mkQuant : Str -> Quantifier = \s -> {s,pl = s ; detType = DTFull Sg} ;
|
||||
mkQuant : Str -> DetType -> Quantifier = \s,d -> {s,pl = s ; detType = d} ;
|
||||
mkQuant : Str -> Str -> DetType -> Quantifier = \s,p,d -> {s = s ; detType = d ; pl = p} ;
|
||||
mkQuant : Str -> Quantifier = \s -> {s,pl = word s ; detType = DTFull Sg} ;
|
||||
mkQuant : Str -> DetType -> Quantifier = \s,d -> {s,pl = word s ; detType = d} ;
|
||||
mkQuant : Str -> Str -> DetType -> Quantifier = \s,p,d -> {s = word s ; detType = d ; pl = p} ;
|
||||
} ;
|
||||
|
||||
pronNP : (s : Str) -> NP = \s -> {
|
||||
@@ -252,10 +275,16 @@ oper
|
||||
} ;
|
||||
|
||||
getAdvType : Str -> AdvType = \s -> case s of {
|
||||
"zai4" + _ => ATPlace True ; -- certain that True
|
||||
"的" => ATPoss ;
|
||||
"在" + _ => ATPlace True ; -- certain that True
|
||||
_ => ATPlace False -- uncertain whether ATPlace
|
||||
} ;
|
||||
|
||||
possessiveIf : AdvType -> Str = \at -> case at of {
|
||||
ATPoss => [] ; --- to avoid double "de"
|
||||
_ => possessive_s
|
||||
} ;
|
||||
|
||||
mkSubj : Str -> Str -> {prePart : Str ; sufPart : Str} = \p,s -> {
|
||||
prePart = word p ;
|
||||
sufPart = word s
|
||||
|
||||
@@ -4,58 +4,58 @@ concrete StructuralChi of Structural = CatChi **
|
||||
flags coding = utf8 ;
|
||||
|
||||
lin
|
||||
every_Det = mkDet "mei3" Sg ;
|
||||
every_Det = mkDet "meǐ" Sg ;
|
||||
|
||||
this_Quant = mkQuant "zhe4" ;
|
||||
that_Quant = mkQuant "na3" ;
|
||||
this_Quant = mkQuant "zhè" ;
|
||||
that_Quant = mkQuant "nǎ" ;
|
||||
|
||||
i_Pron = pronNP "wo3" ;
|
||||
youSg_Pron = pronNP "ni3" ;
|
||||
he_Pron = pronNP "ta1" ;
|
||||
she_Pron = pronNP "ta1" ;
|
||||
we_Pron = pronNP "wo3men" ;
|
||||
youPl_Pron = pronNP "ni3men" ;
|
||||
they_Pron = pronNP "ta1men" ;
|
||||
i_Pron = pronNP "wǒ" ;
|
||||
youSg_Pron = pronNP "nǐ" ;
|
||||
he_Pron = pronNP "tā" ;
|
||||
she_Pron = pronNP "tā" ;
|
||||
we_Pron = pronNP "wǒmen" ;
|
||||
youPl_Pron = pronNP "nǐmen" ;
|
||||
they_Pron = pronNP "tāmen" ;
|
||||
|
||||
very_AdA = ssword "fei1chang2" ;
|
||||
very_AdA = ssword "feīcháng" ;
|
||||
|
||||
by8means_Prep = mkPrep [] "pang2bian1" mannerAdvType ;
|
||||
-- in_Prep = mkPrep "li3" []; --- in Paris
|
||||
in_Prep = mkPrep "zai4" "zhong1" ; --- in the house, the car, etc
|
||||
possess_Prep = mkPrep [] "de" ;
|
||||
with_Prep = mkPrep "he2" "yi1qi3" ;
|
||||
---- with_Prep = mkPrep [] "he2"; -- an alternative for some uses
|
||||
by8means_Prep = mkPrep [] "pángbiān" mannerAdvType ;
|
||||
-- in_Prep = mkPrep "lǐ" []; --- in Paris
|
||||
in_Prep = mkPrep "zaì" "zhōng" ; --- in the house, the car, etc
|
||||
possess_Prep = mkPrep [] "de" ATPoss ;
|
||||
with_Prep = mkPrep "hé" "yīqǐ" (ATPlace True) ; -- "with you"
|
||||
---- with_Prep = mkPrep "hé" [] ; -- "with bread"
|
||||
|
||||
and_Conj = {s = table {
|
||||
CPhr CNPhrase => mkConjForm "he2" ;
|
||||
CPhr CAPhrase => mkConjForm "er2" ;
|
||||
CPhr CVPhrase => mkConjForm "you4" ;
|
||||
CSent => mkConjForm "bing4qie3" --modified by chenpneg 11.19
|
||||
CPhr CNPhrase => mkConjForm "hé" ;
|
||||
CPhr CAPhrase => mkConjForm "ér" ;
|
||||
CPhr CVPhrase => mkConjForm "yoù" ;
|
||||
CSent => mkConjForm "bìngqiě" --modified by chenpneg 11.19
|
||||
}
|
||||
} ;
|
||||
or_Conj = {s = table {
|
||||
CPhr _ => mkConjForm "huo4" ;
|
||||
CSent => mkConjForm "hai2shi4"
|
||||
CPhr _ => mkConjForm "huò" ;
|
||||
CSent => mkConjForm "haíshì"
|
||||
}
|
||||
} ;
|
||||
|
||||
although_Subj = mkSubj "sui1ran2" "dan4";
|
||||
because_Subj = mkSubj "yin1wei2" "suo3yi3" ;
|
||||
when_Subj = mkSubj [] "deshi2hou4" ;
|
||||
although_Subj = mkSubj "suīrán" "dàn";
|
||||
because_Subj = mkSubj "yīnweí" "suǒyǐ" ;
|
||||
when_Subj = mkSubj [] "deshíhoù" ;
|
||||
|
||||
here_Adv = mkAdv "zhe4li3" ;
|
||||
there_Adv = mkAdv "na3li3" ;
|
||||
whoSg_IP, whoPl_IP = mkIPL "shei2" ;
|
||||
whatSg_IP, whatPl_IP = mkIPL " shen2ma" ;
|
||||
where_IAdv = mkIAdvL "na3li3" ;
|
||||
when_IAdv = mkIAdvL "shen2mashi2hou4" ;
|
||||
how_IAdv = mkIAdvL "ru2he2" ;
|
||||
all_Predet = ssword "suo3you3" ;
|
||||
many_Det = mkDet (word "hen3duo1") DTPoss ;
|
||||
someSg_Det = mkDet (word "yi1xie1") Sg ;
|
||||
somePl_Det = mkDet (word "yi1xie1") Sg ;
|
||||
few_Det = mkDet "shao3" Pl ;
|
||||
other_A = mkA "qi2ta1" ;
|
||||
here_Adv = mkAdv "zhèlǐ" ;
|
||||
there_Adv = mkAdv "nǎlǐ" ;
|
||||
whoSg_IP, whoPl_IP = mkIPL "sheí" ;
|
||||
whatSg_IP, whatPl_IP = mkIPL " shénma" ;
|
||||
where_IAdv = mkIAdvL "nǎlǐ" ;
|
||||
when_IAdv = mkIAdvL "shénmashíhoù" ;
|
||||
how_IAdv = mkIAdvL "rúhé" ;
|
||||
all_Predet = ssword "suǒyoǔ" ;
|
||||
many_Det = mkDet (word "hěnduō") DTPoss ;
|
||||
someSg_Det = mkDet (word "yīxiē") Sg ;
|
||||
somePl_Det = mkDet (word "yīxiē") Sg ;
|
||||
few_Det = mkDet "shaǒ" Pl ;
|
||||
other_A = mkA "qítā" ;
|
||||
|
||||
oper
|
||||
mkIPL, mkIAdvL, mkAdA, mkIDetL, mkPConjL, mkIQuant = ssword ;
|
||||
@@ -65,115 +65,115 @@ oper
|
||||
lin
|
||||
|
||||
|
||||
above_Prep = mkPrep [] "shang4bian1" ;
|
||||
after_Prep = mkPrep [] "yi3hou4" timeAdvType ;
|
||||
under_Prep = mkPrep [] "xia4" ;
|
||||
why_IAdv = mkIAdvL "wei2shen2ma" ;
|
||||
too_AdA = mkAdA "tai4" ;
|
||||
above_Prep = mkPrep [] "shàngbiān" ;
|
||||
after_Prep = mkPrep [] "yǐhoù" timeAdvType ;
|
||||
under_Prep = mkPrep [] "xià" ;
|
||||
why_IAdv = mkIAdvL "weíshénma" ;
|
||||
too_AdA = mkAdA "taì" ;
|
||||
|
||||
before_Prep = mkPrep [] "zhi1qian2" timeAdvType ;
|
||||
between_Prep = mkPrep [] "zhi1jian1" ;
|
||||
but_PConj = mkPConjL "dan4shi4" ;
|
||||
before_Prep = mkPrep [] "zhīqián" timeAdvType ;
|
||||
between_Prep = mkPrep [] "zhījiān" ;
|
||||
but_PConj = mkPConjL "dànshì" ;
|
||||
|
||||
|
||||
can_VV = mkVerb "neng2" [] [] [] [] "bu4" ;
|
||||
must_VV = mkVerb "bi4xu1" [] [] [] [] "bu4" ; ---- False "bu4neng2"
|
||||
want_VV = mkVerb "xiang3" [] [] [] [] "bu4" ;
|
||||
can_VV = mkVerb "néng" [] [] [] [] "bù" ;
|
||||
must_VV = mkVerb "bìxū" [] [] [] [] "bù" ; ---- False "bùnéng"
|
||||
want_VV = mkVerb "xiǎng" [] [] [] [] "bù" ;
|
||||
|
||||
can8know_VV = mkV "hui4" [] [] [] [] "bu4" ; ----
|
||||
can8know_VV = mkV "huì" [] [] [] [] "bù" ; ----
|
||||
|
||||
|
||||
except_Prep = mkPrep "yi3wai4" "chu2le" mannerAdvType ;
|
||||
for_Prep = mkPrep "wei2le" ;
|
||||
from_Prep = mkPrep "cong1" ;
|
||||
in8front_Prep = mkPrep zai_s "qian2bian1" ;
|
||||
it_Pron = pronNP "ta1" ;
|
||||
much_Det = mkDet "duo1" Sg ;
|
||||
no_Quant = mkQuant "bu4" ;
|
||||
not_Predet = ssword "bu4" ;
|
||||
otherwise_PConj = mkPConjL "hai2shi4" ;
|
||||
to_Prep = mkPrep "wang3" ;
|
||||
except_Prep = mkPrep "yǐwaì" "chúle" mannerAdvType ;
|
||||
for_Prep = mkPrep "weíle" ;
|
||||
from_Prep = mkPrep "cōng" "" (ATPlace True) ;
|
||||
in8front_Prep = mkPrep zai_s "qiánbiān" ;
|
||||
it_Pron = pronNP "tā" ;
|
||||
much_Det = mkDet "duō" Sg ;
|
||||
no_Quant = mkQuant "bù" ;
|
||||
not_Predet = ssword "bù" ;
|
||||
otherwise_PConj = mkPConjL "haíshì" ;
|
||||
to_Prep = mkPrep "wǎng" ;
|
||||
|
||||
have_V2 = mkV2 (mkV "you3" "le" "zhao1" "zai4" "guo4" "mei2") ;
|
||||
have_V2 = mkV2 (mkV "yoǔ" "le" "zhaō" "zaì" "guò" "meí") ;
|
||||
|
||||
yes_Utt = ss "dui4" ;
|
||||
yes_Utt = ss "duì" ;
|
||||
no_Utt = ss neg_s ;
|
||||
|
||||
|
||||
lin
|
||||
always_AdV = ssword "yi1zhi2" ;
|
||||
part_Prep = mkPrep possessive_s ;
|
||||
language_title_Utt = ssword "zhong1wen2" ;
|
||||
please_Voc = ss "qing3" ;
|
||||
quite_Adv = mkAdA "de2hen3" ;
|
||||
always_AdV = ssword "yīzhí" ;
|
||||
part_Prep = mkPrep [] "de" ATPoss ;
|
||||
language_title_Utt = ssword "zhōngwén" ;
|
||||
please_Voc = ss "qǐng" ;
|
||||
quite_Adv = mkAdA "déhěn" ;
|
||||
|
||||
-- just missing
|
||||
|
||||
lin
|
||||
almost_AdA = ssword "ji1hu1" ;
|
||||
almost_AdN = ssword "ji1hu1" ;
|
||||
as_CAdv = {s = word "he2" ; p = word "yi1yang4" } ; -- modified by chenpeng 11.24
|
||||
at_least_AdN = ssword "zui4shao3" ; -- at least five
|
||||
at_most_AdN = ssword "zui4duo1" ;
|
||||
behind_Prep = mkPrep "zai4" "hou4mian4" ;
|
||||
almost_AdA = ssword "jīhū" ;
|
||||
almost_AdN = ssword "jīhū" ;
|
||||
as_CAdv = {s = word "hé" ; p = word "yīyàng" } ; -- modified by chenpeng 11.24
|
||||
at_least_AdN = ssword "zuìshaǒ" ; -- at least five
|
||||
at_most_AdN = ssword "zuìduō" ;
|
||||
behind_Prep = mkPrep "zaì" "hoùmiàn" ;
|
||||
|
||||
both7and_DConj = {s = table { -- modified by chenpeng 11.19
|
||||
CPhr CNPhrase => mkConjForm2 "bao1kuo4" "he2" ;
|
||||
CPhr CAPhrase => mkConjForm2 "ji2" "you4" ;
|
||||
CPhr CVPhrase => mkConjForm2 "bu4dan4" "er2qie3" ;
|
||||
CSent => mkConjForm2 "bu4dan4" "er2qie3"
|
||||
CPhr CNPhrase => mkConjForm2 "baōkuò" "hé" ;
|
||||
CPhr CAPhrase => mkConjForm2 "jí" "yoù" ;
|
||||
CPhr CVPhrase => mkConjForm2 "bùdàn" "érqiě" ;
|
||||
CSent => mkConjForm2 "bùdàn" "érqiě"
|
||||
}
|
||||
} ;
|
||||
|
||||
by8agent_Prep = mkPrep "bei4" [] mannerAdvType; -- by for agent in passive
|
||||
by8agent_Prep = mkPrep "beì" [] mannerAdvType; -- by for agent in passive
|
||||
-- [mark] 被
|
||||
during_Prep = mkPrep "zai4" "qi1jian1" timeAdvType ; -- [mark] often equivalent to nothing
|
||||
during_Prep = mkPrep "zaì" "qījiān" timeAdvType ; -- [mark] often equivalent to nothing
|
||||
-- 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
|
||||
CPhr CNPhrase => mkConjForm2 "huo4zhe3" "huo4zhe3" ;
|
||||
CPhr CAPhrase => mkConjForm2 "yao1ma" "yao1ma" ;
|
||||
CPhr CVPhrase => mkConjForm2 "yao1ma" "yao1ma" ;
|
||||
CSent => mkConjForm2 "yao1ma" "yao1ma"
|
||||
CPhr CNPhrase => mkConjForm2 "huòzhě" "huòzhě" ;
|
||||
CPhr CAPhrase => mkConjForm2 "yaōma" "yaōma" ;
|
||||
CPhr CVPhrase => mkConjForm2 "yaōma" "yaōma" ;
|
||||
CSent => mkConjForm2 "yaōma" "yaōma"
|
||||
}
|
||||
} ;
|
||||
|
||||
everybody_NP = ssword "mei3ge4ren2" ; -- [mark] "mei3ge4ren2": 每(every)+个(classifier)+人(person)
|
||||
everything_NP = ssword "mei3jian4shi4" ; -- [mark] "mei3jian4shi4": 每(every)+件(classifier)+事(thing)
|
||||
everywhere_Adv = mkAdv "dao4chu3" ;
|
||||
here7from_Adv = mkAdv "cong1zhe4li3" ; -- from here
|
||||
here7to_Adv = mkAdv "dao4zhe4li3" ; -- to here
|
||||
-- [mark] "cong1zhe4li3" 从(from) 这里(here)
|
||||
-- "dao4zhe4li3" 到( to ) 这里(here)
|
||||
how8many_IDet = mkIDet "duo1shao3" ;
|
||||
how8much_IAdv = ssword "duo1shao3" ;
|
||||
if_Subj = mkSubj "ru2guo3" [] ; --"jiu4" ; -- [mark] "jiu4" often comes between NP and VP
|
||||
less_CAdv = {s = than_s ; p = word "mei2geng1"} ; -- modified by chenpeng 11.24
|
||||
more_CAdv = {s = than_s ; p = word "geng1"} ; -- modified by chenpeng 11.24
|
||||
most_Predet = ssword "da4duo1shu3" ;
|
||||
everybody_NP = ssword "meǐgèrén" ; -- [mark] "meǐgèrén": 每(every)+个(classifier)+人(person)
|
||||
everything_NP = ssword "meǐjiànshì" ; -- [mark] "meǐjiànshì": 每(every)+件(classifier)+事(thing)
|
||||
everywhere_Adv = mkAdv "daòchǔ" ;
|
||||
here7from_Adv = mkAdv "cōngzhèlǐ" ; -- from here
|
||||
here7to_Adv = mkAdv "daòzhèlǐ" ; -- to here
|
||||
-- [mark] "cōngzhèlǐ" 从(from) 这里(here)
|
||||
-- "daòzhèlǐ" 到( to ) 这里(here)
|
||||
how8many_IDet = mkIDet "duōshaǒ" ;
|
||||
how8much_IAdv = ssword "duōshaǒ" ;
|
||||
if_Subj = mkSubj "rúguǒ" [] ; --"jiù" ; -- [mark] "jiù" often comes between NP and VP
|
||||
less_CAdv = {s = than_s ; p = word "meígēng"} ; -- modified by chenpeng 11.24
|
||||
more_CAdv = {s = than_s ; p = word "gēng"} ; -- modified by chenpeng 11.24
|
||||
most_Predet = ssword "dàduōshǔ" ;
|
||||
if_then_Conj = {s = table { -- added by chenpeng 11.19
|
||||
CPhr CNPhrase => mkConjForm [] ;
|
||||
CPhr CAPhrase => mkConjForm [] ;
|
||||
CPhr CVPhrase => mkConjForm [] ;
|
||||
CSent => mkConjForm2 "ru2guo3" "na3ma"
|
||||
CSent => mkConjForm2 "rúguǒ" "nǎma"
|
||||
}
|
||||
} ;
|
||||
nobody_NP = ssword "mei2ren2" ;
|
||||
nothing_NP = ssword "mei2you3shen2ma" ;
|
||||
on_Prep = mkPrep "zai4" "shang4" ;
|
||||
only_Predet = ssword "qi2you3" ; -- only John
|
||||
so_AdA = ssword "ru2ci3" ;
|
||||
somebody_NP = ssword "mou3ren2" ;
|
||||
something_NP = ssword "mou3shi4" ; -- [mark] in sent, it depends on the context
|
||||
somewhere_Adv = mkAdv "mou3chu3" ;
|
||||
nobody_NP = ssword "meírén" ;
|
||||
nothing_NP = ssword "meíyoǔshénma" ;
|
||||
on_Prep = mkPrep "zaì" "shàng" ;
|
||||
only_Predet = ssword "qíyoǔ" ; -- only John
|
||||
so_AdA = ssword "rúcǐ" ;
|
||||
somebody_NP = ssword "moǔrén" ;
|
||||
something_NP = ssword "moǔshì" ; -- [mark] in sent, it depends on the context
|
||||
somewhere_Adv = mkAdv "moǔchǔ" ;
|
||||
that_Subj = mkSubj [] chcomma ; -- that + S [mark] comma
|
||||
there7from_Adv = mkAdv "cong1na3li3" ; -- from there
|
||||
there7to_Adv = mkAdv "dao4na3li3" ;
|
||||
therefore_PConj = ssword "yin1ci3" ;
|
||||
through_Prep = mkPrep "tong1guo4" ;
|
||||
which_IQuant = mkIQuant "na3" ;
|
||||
there7from_Adv = mkAdv "cōngnǎlǐ" ; -- from there
|
||||
there7to_Adv = mkAdv "daònǎlǐ" ;
|
||||
therefore_PConj = ssword "yīncǐ" ;
|
||||
through_Prep = mkPrep "tōngguò" ;
|
||||
which_IQuant = mkIQuant "nǎ" ; --
|
||||
--which_IQuant = ssword [] ; -- [mark] in sent, it depends on the context
|
||||
without_Prep = mkPrep "mei2you3" [] mannerAdvType ;
|
||||
youPol_Pron = ssword "nin2" ; -- polite you
|
||||
without_Prep = mkPrep "meíyoǔ" [] mannerAdvType ;
|
||||
youPol_Pron = ssword "nín" ; -- polite you
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
--# -path=.:../abstract:../common
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete SymbolChi of Symbol = CatChi ** open Prelude, ResChi in {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user