diff --git a/lib/src/chinese/pinyin/ConstructionChi.gf b/lib/src/chinese/pinyin/ConstructionChi.gf new file mode 100644 index 000000000..a959060c7 --- /dev/null +++ b/lib/src/chinese/pinyin/ConstructionChi.gf @@ -0,0 +1,122 @@ +--# -path=.:../abstract + +concrete ConstructionChi of Construction = CatChi ** + open SyntaxChi, ParadigmsChi, (L = LexiconChi), (E = ExtraChi), (G = GrammarChi), (R = ResChi), Prelude in { +flags coding=utf8 ; + + +lin + hungry_VP = mkVP (mkV "è") ; + thirsty_VP = mkVP (mkA "kě") ; + has_age_VP card = mkVP (lin AdV card) (mkVP (mkV "suì")) ; + + have_name_Cl x y = mkCl (lin NP x) (mkV2 (mkV "jiaò")) (lin NP y) ; + married_Cl x y = mkCl (lin NP x) L.married_A2 (lin NP y) ; + + what_name_QCl x = mkQCl whatSg_IP (mkClSlash (lin NP x) (mkV2 (mkV "jiaò"))) ; + how_old_QCl x = {s = \\_,p,a => x.s ++ R.word "jīsuì"} | {s = \\_,p,a => x.s ++ R.word "duōdà"} ; ---- +---- how_far_QCl x = mkQCl (E.IAdvAdv (ss "far")) (lin NP x) ; + +-- some more things + weather_adjCl ap = mkCl (mkVP (lin AP ap)) ; + + is_right_VP = mkVP (ParadigmsChi.mkA "duì") ; + is_wrong_VP = mkVP (ParadigmsChi.mkV "cuò") ; + + n_units_AP card cn a = mkAP (lin AdA (mkUtt (mkNP (lin CN cn)))) (lin A a) ; ---- + +lincat + Weekday = N ; + Monthday = NP ; + Month = N ; + Year = NP ; +lin + weekdayPunctualAdv w = lin Adv {s = w.s ; advType = timeAdvType} ; + weekdayHabitualAdv w = lin Adv {s = w.s ; advType = timeAdvType} ; + weekdayNextAdv w = lin Adv {s = "xià" ++ w.s ; advType = timeAdvType} ; + weekdayLastAdv w = lin Adv {s = "shàng" ++ w.s ; advType = timeAdvType} ; + + monthAdv m = lin Adv {s = m.s ; advType = timeAdvType} ; + yearAdv y = lin Adv {s = y.s ++ "nián" ; advType = timeAdvType} ; + dayMonthAdv d m = lin Adv {s = m.s ++ d.s ++ "rì" ; advType = timeAdvType} ; + monthYearAdv m y = lin Adv {s = y.s ++ "nián" ++ m.s ; advType = timeAdvType} ; + dayMonthYearAdv d m y = lin Adv {s = y.s ++ "nián" ++ m.s ++ d.s ++ "rì" ; advType = timeAdvType} ; + + intYear i = lin NP i ; + intMonthday i = lin NP i ; + +lincat Language = N ; + +lin InLanguage l = SyntaxChi.mkAdv (mkPrep "zaì") (mkNP l) ; + +oper mkLanguage : Str -> N = \s -> mkN s ; ---- classifier? + +lin + weekdayN w = w ; + monthN m = m ; + + weekdayPN w = ss w.s ; + monthPN m = ss m.s ; + + languageNP l = mkNP l ; + languageCN l = mkCN l ; + +lin monday_Weekday = mkN "xīngqīyī" ; +lin tuesday_Weekday = mkN "xīngqīèr" ; +lin wednesday_Weekday = mkN "xīngqīsān" ; +lin thursday_Weekday = mkN "xīngqīsì" ; +lin friday_Weekday = mkN "xīngqīwǔ" ; +lin saturday_Weekday = mkN "xīngqīliù" ; +lin sunday_Weekday = mkN "xīngqīrì" ; + +lin january_Month = mkN "yīyuè" ; +lin february_Month = mkN "èryuè" ; +lin march_Month = mkN "sānyuè" ; +lin april_Month = mkN "sìyuè" ; +lin may_Month = mkN "wǔyuè" ; +lin june_Month = mkN "liùyuè" ; +lin july_Month = mkN "qīyuè" ; +lin august_Month = mkN "bāyuèt" ; +lin september_Month = mkN "jiǔyuè" ; +lin october_Month = mkN "shíyuè" ; +lin november_Month = mkN "shíyīyuè" ; +lin december_Month = mkN "shíèryuè" ; + +lin afrikaans_Language = mkLanguage "nánfeīyǔ" ; +lin amharic_Language = mkLanguage "āmǔhālāyǔ" ; +lin arabic_Language = mkLanguage "ālābóyǔ" ; +lin bulgarian_Language = mkLanguage "baǒjiālìyàyǔ" ; +--lin catalan_Language = mkLanguage "Catalan" ; +lin chinese_Language = mkLanguage "zhōngwén" | mkLanguage "hànyǔ" ; +--lin danish_Language = mkLanguage "Danish" ; +lin dutch_Language = mkLanguage "hélányǔ" ; +lin english_Language = mkLanguage "yīngyǔ" ; +--lin estonian_Language = mkLanguage "Estonian" ; +lin finnish_Language = mkLanguage "fēnlányǔ" ; +lin french_Language = mkLanguage "fǎyǔ" ; +lin german_Language = mkLanguage "déyǔ" ; +--lin greek_Language = mkLanguage "Greek" ; +--lin hebrew_Language = mkLanguage "Hebrew" ; +lin hindi_Language = mkLanguage "yìndeyǔ" ; +lin japanese_Language = mkLanguage "rìyǔ" ; +lin italian_Language = mkLanguage "yìdàlìyǔ" ; +--lin latin_Language = mkLanguage "Latin" ; +--lin latvian_Language = mkLanguage "Latvian" ; +--lin maltese_Language = mkLanguage "Maltese" ; +--lin nepali_Language = mkLanguage "Nepali" ; +--lin norwegian_Language = mkLanguage "Norwegian" ; +--lin persian_Language = mkLanguage "Persian" ; +--lin polish_Language = mkLanguage "Polish" ; +--lin punjabi_Language = mkLanguage "Punjabi" ; +--lin romanian_Language = mkLanguage "luōmǎníyà" ; +lin russian_Language = mkLanguage "éyǔ" ; +--lin sindhi_Language = mkLanguage "Sindhi" ; +lin spanish_Language = mkLanguage "xībānyáyǔ" ; +--lin swahili_Language = mkLanguage "Swahili" ; +lin swedish_Language = mkLanguage "ruìdiǎnwén" ; +--lin thai_Language = mkLanguage "Thai" ; +--lin turkish_Language = mkLanguage "Turkish" ; +--lin urdu_Language = mkLanguage "Urdu" ; + + +} diff --git a/lib/src/chinese/pinyin/MkPinyin.hs b/lib/src/chinese/pinyin/MkPinyin.hs index 4d9b84e59..50e2e0e8a 100644 --- a/lib/src/chinese/pinyin/MkPinyin.hs +++ b/lib/src/chinese/pinyin/MkPinyin.hs @@ -7,12 +7,13 @@ main = do s <- readFile pinyinFile let m = c2pMap (mkList (words s)) mapM_ (mkPinyin m) xx + putStrLn $ unwords xx return () pinyinFile = "pinyin.txt" resModules = [mo | mo <- - ["Extra","Lexicon", "Numeral", "Paradigms","Res", "Structural","Symbol"] + ["Extra","Lexicon", "Numeral", "Paradigms","Res", "Structural","Symbol", "Construction"] ] mkPinyin ma mo = do