packages feed

gf-3.4: lib/src/chinese/pinyin/StructuralCmn.gf

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 

}