1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/chinese/pinyin/StructuralCmn.gf

159 lines
5.0 KiB
Plaintext

concrete StructuralCmn of Structural = CatCmn **
open ParadigmsCmn, ResCmn, Prelude in {
flags coding = utf8 ;
lin
every_Det = mkDet "mei3" Sg ;
this_Quant = mkQuant "zhe4" ;
that_Quant = mkQuant "na3" ;
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" ;
very_AdA = ssword "fei1chang2" ;
by8means_Prep = mkPrep "pang2bian1" [] ;
in_Prep = mkPrep "li3" [];
possess_Prep = mkPrep "de" [];
with_Prep = mkPrep "yi1qi3" "he2";
and_Conj = {s = table {
CPhr CNPhrase => mkConjForm "he2" ;
CPhr CAPhrase => mkConjForm "er2" ;
CPhr CVPhrase => mkConjForm "you4" ;
CSent => mkConjForm []
}
} ;
or_Conj = {s = table {
CPhr _ => mkConjForm "huo4" ;
CSent => mkConjForm "hai2shi4"
}
} ;
although_Subj = mkSubj "sui1ran2" "dan4";
because_Subj = mkSubj "yin1wei2" "suo3yi3" ;
when_Subj = mkSubj [] "deshi2hou4" ;
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" ;
oper
mkIPL, mkIAdvL, mkAdA, mkIDetL, mkPConjL, mkCAdv, mkIQuant = ssword ;
-- hsk
lin
above_Prep = mkPrep "shang4bian1" ;
after_Prep = mkPrep "yi3hou4" ;
under_Prep = mkPrep "xia4" ;
why_IAdv = mkIAdvL "wei2shen2ma" ;
too_AdA = mkAdA "tai4" ;
before_Prep = mkPrep "cong1qian2" ;
between_Prep = mkPrep "zhi1jian1" ;
but_PConj = mkPConjL "dan4shi4" ;
can_VV = mkVerb "neng2" [] [] [] [] "bu4" ;
must_VV = mkVerb "bi4xu1" [] [] [] [] "bu4" ; ---- False "bu4neng2"
want_VV = mkVerb "xiang3" [] [] [] [] "bu4" ;
can8know_VV = mkV "hui4" [] [] [] [] "bu4" ; ----
except_Prep = mkPrep "chu2le" "yi3wai4" ;
for_Prep = mkPrep "wei2le" ;
from_Prep = mkPrep "cong1" ;
in8front_Prep = mkPrep "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" ;
have_V2 = mkV2 "you3" ;
yes_Utt = ss "dui4" ;
no_Utt = ss neg_s ;
oper
mkConjForm : Str -> {s1,s2 : Str} = \s -> {s1 = [] ; s2 = word s} ;
-- manually by AR, Jolene
lin
always_AdV = ssword "yi1zhi2" ;
part_Prep = mkPrep possessive_s ;
language_title_Utt = ssword "zhong1wen2" ;
please_Voc = ss "qing3" ;
quite_Adv = mkAdA "de2hen3" ;
-- just missing
lin
almost_AdA = ssword "ji1hu1" ;
almost_AdN = ssword "ji1hu1" ;
--as_CAdv = ssword "shen2ma" ; -- as good as X
at_least_AdN = ssword "zui4shao3" ; -- at least five
at_most_AdN = ssword "zui4duo1" ;
behind_Prep = mkPrep "hou4mian4" "zai4";
--both7and_DConj = ssword "shen2ma" ; -- both - and
by8agent_Prep = mkPrep "bei4" ; -- by for agent in passive
-- [mark] 被
during_Prep = mkPrep "qi1jian1" "zai4" ; -- [mark] often equivalent to nothing
-- translation for "he swam during this summer. " and "he swam this summer." are often the same
--either7or_DConj = ssword "shen2ma" ;
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 = ssword "duo1shao3" ;
how8much_IAdv = ssword "duo1shao3" ;
if_Subj = mkSubj "ru2guo3" "jiu4" ; -- [mark] "jiu4" often comes between NP and VP
--less_CAdv = ssword "shen2ma" ; -- less good than
--more_CAdv = ssword "shen2ma" ;
most_Predet = ssword "da4duo1shu3" ;
nobody_NP = ssword "mei2ren2" ;
nothing_NP = ssword "mei2you3shen2ma" ;
on_Prep = mkPrep "shang4" "zai4" ;
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" ;
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" ;
--which_IQuant = ssword [] ; -- [mark] in sent, it depends on the context
without_Prep = mkPrep "mei2you3" [];
youPol_Pron = ssword "nin2" ; -- polite you
}