diff --git a/lib/src/chinese/CatChi.gf b/lib/src/chinese/CatChi.gf index 7209c1136..98c78fe5c 100644 --- a/lib/src/chinese/CatChi.gf +++ b/lib/src/chinese/CatChi.gf @@ -22,7 +22,8 @@ concrete CatChi of Cat = CommonX - [Tense, Temp, Ant, Adv] ** open ResChi, Prelu QCl = {s : Polarity => Aspect => Str} ; IP = {s : Str} ; IComp = {s : Str} ; - IDet, IQuant = {s : Str} ; + IDet = {s : Str ; detType : DetType} ; + IQuant = {s : Str} ; -- Relative diff --git a/lib/src/chinese/NounChi.gf b/lib/src/chinese/NounChi.gf index 25539d718..c4d379eb5 100644 --- a/lib/src/chinese/NounChi.gf +++ b/lib/src/chinese/NounChi.gf @@ -60,7 +60,7 @@ concrete NounChi of Noun = CatChi ** open ResChi, Prelude in { OrdSuperl a = {s = superlative_s ++ a.s} ; - DefArt = mkQuant [] [] DTPoss ; -- use that_Quant if you want the_s + DefArt = mkQuant [] [] DTPoss ; -- use that_Quant if you want the_s IndefArt = mkQuant yi_s [] (DTFull Sg) ; -- empty in the plural MassNP cn = cn ; diff --git a/lib/src/chinese/ParadigmsChi.gf b/lib/src/chinese/ParadigmsChi.gf index 469c9b92b..95635a784 100644 --- a/lib/src/chinese/ParadigmsChi.gf +++ b/lib/src/chinese/ParadigmsChi.gf @@ -181,7 +181,7 @@ oper mkPredet : Str -> Predet = \s -> lin Predet {s = word s} ; mkIDet : Str -> IDet - = \s -> lin IDet {s = word s} ; + = \s -> lin IDet {s = word s ; detType = DTNum} ; ---- mkPConj : Str -> PConj = \s -> lin PConj {s = word s} ; mkRP : Str -> RP diff --git a/lib/src/chinese/PhraseChi.gf b/lib/src/chinese/PhraseChi.gf index d9badcd28..629e2090a 100644 --- a/lib/src/chinese/PhraseChi.gf +++ b/lib/src/chinese/PhraseChi.gf @@ -17,6 +17,7 @@ concrete PhraseChi of Phrase = CatChi ** open Prelude, ResChi in { UttCard x = x ; UttVP vp = ss (infVP vp) ; UttAdv adv = adv ; + UttInterj i = i ; NoPConj = {s = []} ; PConjConj conj = ss (conj.s ! CSent).s2 ; diff --git a/lib/src/chinese/QuestionChi.gf b/lib/src/chinese/QuestionChi.gf index 0e5683f71..6a878b423 100644 --- a/lib/src/chinese/QuestionChi.gf +++ b/lib/src/chinese/QuestionChi.gf @@ -21,11 +21,24 @@ concrete QuestionChi of Question = CatChi ** AdvIP ip adv = ss (adv.s ++ possessive_s ++ ip.s) ; ---- adding de - IdetCN det cn = {s = det.s ++ cn.c ++ cn.s} ; ---- number? + IdetCN det cn = case det.detType of { + DTFull Sg => {s = det.s ++ cn.c ++ cn.s} ; -- which house + DTFull Pl => {s = det.s ++ xie_s ++ cn.s} ; -- which houses + DTNum => {s = det.s ++ cn.c ++ cn.s} ; -- (which) five houses + DTPoss => {s = det.s ++ cn.s} -- whose (five) houses + } ; + IdetIP idet = idet ; - IdetQuant iquant num = ss (iquant.s ++ num.s) ; ---- + IdetQuant iquant num = { + s = iquant.s ++ num.s ; + detType = case num.numType of { + NTFull => DTNum ; -- which five + NTVoid n => DTFull n ---- TODO: whose + } + } ; + AdvIAdv i a = ss (a.s ++ i.s) ; diff --git a/lib/src/chinese/ResChi.gf b/lib/src/chinese/ResChi.gf index a55eeacfe..e78e2d836 100644 --- a/lib/src/chinese/ResChi.gf +++ b/lib/src/chinese/ResChi.gf @@ -41,6 +41,7 @@ resource ResChi = ParamX ** open Prelude in { the_s = "那" ; geng_s = "更" ; -- more, in comparison hen_s = "很" ; -- very, or predicating a monosyllabic adjective + taN_s = "它" ; zai_V = mkVerb "在" [] [] [] [] "不" ; fullstop_s = "。" ; diff --git a/lib/src/chinese/StructuralChi.gf b/lib/src/chinese/StructuralChi.gf index ed260bc2c..609b43171 100644 --- a/lib/src/chinese/StructuralChi.gf +++ b/lib/src/chinese/StructuralChi.gf @@ -145,7 +145,7 @@ here7from_Adv = mkAdv "从这里" ; -- from here here7to_Adv = mkAdv "到这里" ; -- to here -- [mark] "从这里" 从(from) 这里(here) -- "到这里" 到( to ) 这里(here) -how8many_IDet = ssword "多少" ; +how8many_IDet = mkIDet "多少" ; how8much_IAdv = ssword "多少" ; if_Subj = mkSubj "如果" [] ; --"就" ; -- [mark] "就" often comes between NP and VP less_CAdv = {s = than_s ; p = word "没更"} ; -- modified by chenpeng 11.24