From e54b17bd7de814f3f243ac32f580a4591b0f527e Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 30 Nov 2011 15:00:06 +0000 Subject: [PATCH] complete Thai, new Disambiguation items (Romance pronouns to be revisited) in Phrasebook --- examples/phrasebook/DisambPhrasebookEng.gf | 5 ++- examples/phrasebook/Words.gf | 8 +++++ examples/phrasebook/WordsEng.gf | 7 ++++ examples/phrasebook/WordsTha.gf | 38 ++++++++++++---------- examples/phrasebook/missing.txt | 2 +- lib/src/thai/LexiconTha.gf | 4 +-- lib/src/thai/StructuralTha.gf | 2 +- 7 files changed, 44 insertions(+), 22 deletions(-) diff --git a/examples/phrasebook/DisambPhrasebookEng.gf b/examples/phrasebook/DisambPhrasebookEng.gf index 61f4470f9..a56e9568c 100644 --- a/examples/phrasebook/DisambPhrasebookEng.gf +++ b/examples/phrasebook/DisambPhrasebookEng.gf @@ -11,12 +11,13 @@ concrete DisambPhrasebookEng of Phrasebook = PhrasebookEng - GPleaseGive, GPleaseGivePol, GNiceToMeetYou, -- GNiceToMeetYouPol, PYes, PYesToNo, ObjMass, + MKnow, WeMale, WeFemale, YouPlurFamMale, YouPlurFamFemale, YouPlurPolMale, YouPlurPolFemale, TheyMale, TheyFemale ] - ** open SyntaxEng, ParadigmsEng, Prelude in { + ** open SyntaxEng, ParadigmsEng, IrregEng, Prelude in { lin IMale = mkP i_Pron "(male)" ; IFemale = mkP i_Pron "(female)" ; @@ -33,6 +34,8 @@ lin TheyMale = mkP they_Pron "(male)" ; TheyFemale = mkP they_Pron "(female)" ; + MKnow = mkVV (partV know_V "how") ; --- + LangNat nat = mkNP nat.lang (ParadigmsEng.mkAdv "(language)") ; -- CitiNat nat = nat.prop ; diff --git a/examples/phrasebook/Words.gf b/examples/phrasebook/Words.gf index ba5e1ef93..205f1258e 100644 --- a/examples/phrasebook/Words.gf +++ b/examples/phrasebook/Words.gf @@ -204,4 +204,12 @@ abstract Words = Sentences ** { Thai : Nationality ; Baht : Currency ; -- Thailand + Rice : MassKind ; + Pork : MassKind ; + Beef : MassKind ; + + Durian : Kind ; + Mango : Kind ; + Pineapple : Kind ; + } diff --git a/examples/phrasebook/WordsEng.gf b/examples/phrasebook/WordsEng.gf index 49d922014..9ca8ff16a 100644 --- a/examples/phrasebook/WordsEng.gf +++ b/examples/phrasebook/WordsEng.gf @@ -266,4 +266,11 @@ concrete WordsEng of Words = SentencesEng ** Thai = mkNat "Thai" "Thailand" ; Baht = mkCN (mkN "baht" "baht") ; + Rice = mkCN (mkN "rice") ; + Pork = mkCN (mkN "pork") ; + Beef = mkCN (mkN "beef") ; + Durian = mkCN (mkN "durian") ; + Mango = mkCN (mkN "mango") ; + Pineapple = mkCN (mkN "pineapple") ; + } diff --git a/examples/phrasebook/WordsTha.gf b/examples/phrasebook/WordsTha.gf index 996a2c67f..64222278e 100644 --- a/examples/phrasebook/WordsTha.gf +++ b/examples/phrasebook/WordsTha.gf @@ -150,10 +150,10 @@ concrete WordsTha of Words = SentencesTha ** -- miscellaneous --- QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ; --- QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ; --- HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item IrregTha.cost_V)) ; --- ItCost item price = mkCl item (mkV2 IrregTha.cost_V) price ; + QWhatName p = mkQS (mkQCl whatSg_IP p.name (mkV2 "ชื่อ")) ; --- + QWhatAge p = mkQS (mkQCl (mkIComp how8much_IAdv) (mkNP p.name (ParadigmsTha.mkAdv (R.thword "อา" "ยุ")))) ; --- Adv + HowMuchCost item = mkQS (mkQCl (mkIComp how8much_IAdv) item) ; + ItCost item price = mkCl item (mkV2 (R.thword "เป็น" "รา" "คา")) price ; PropOpen p = mkCl p.name open_Adv ; PropClosed p = mkCl p.name closed_Adv ; @@ -196,7 +196,7 @@ concrete WordsTha of Words = SentencesTha ** -- modifiers of places TheBest = mkSuperl L.good_A ; --- TheClosest = mkSuperl L.near_A ; + TheClosest = mkSuperl L.near_A ; TheCheapest = mkSuperl (mkA (R.thword "รา" "คา" "ถูก")) ; TheMostExpensive = mkSuperl (mkA "แพง") ; TheMostPopular = mkSuperl (mkA (R.thword "โด่ง" "ดัง")) ; @@ -207,12 +207,12 @@ concrete WordsTha of Words = SentencesTha ** -- transports --- HowFar place = mkQS (mkQCl far_IAdv place.name) ; --- HowFarFrom x y = --- mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxTha.mkAdv from_Prep x.name))) ; --- HowFarFromBy x y t = --- mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxTha.mkAdv from_Prep (mkNP x.name t)))) ; --- HowFarBy y t = mkQS (mkQCl far_IAdv (mkCl y.name t)) ; + HowFar place = mkQS (mkQCl far_IAdv place.name) ; + HowFarFrom x y = + mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxTha.mkAdv from_Prep x.name))) ; + HowFarFromBy x y t = + mkQS (mkQCl far_IAdv (mkCl y.name (SyntaxTha.mkAdv from_Prep (mkNP x.name t)))) ; + HowFarBy y t = mkQS (mkQCl far_IAdv (mkCl y.name t)) ; WhichTranspPlace trans place = mkQS (mkQCl (mkIP which_IDet trans.name) (mkVP (mkVP L.go_V) place.to)) ; @@ -254,13 +254,12 @@ concrete WordsTha of Words = SentencesTha ** mkSuperl : A -> Det = \a -> SyntaxTha.mkDet the_Art (SyntaxTha.mkOrd a) ; - mkCurrency : Str -> CN = \s -> mkCN (mkN s) ; ---- classifier + mkCurrency : Str -> CN = \s -> mkCN (mkN [] s) ; ---- just a classifier --- far_IAdv = ExtraTha.IAdvAdv (ss "ไกล") ; - - at_Prep = mkPrep "ที่" ; - noPrep = mkPrep [] ; + far_IAdv = lin IAdv (ss (R.thword "ไกล" "เท่า" "ไร")) ; + at_Prep = mkPrep "ที่" ; + noPrep = mkPrep [] ; -------------------------------------------------- -- New 30/11/2011 AR @@ -270,7 +269,12 @@ concrete WordsTha of Words = SentencesTha ** Thai = mkNat "ไทย" ; Baht = mkCurrency "บาท" ; - + Rice = mkCN (mkN ("ฆ้าว")) ; + Pork = mkCN (mkN ("หมู")) ; + Beef = mkCN (mkN ("เนื้อ")) ; + Durian = mkCN (mkN (R.thword "ทุ" "เรียน")) ; + Mango = mkCN (mkN (R.thword "ฆะ" "ม่วง")) ; + Pineapple = mkCN (mkN (R.thword "สับ" "ปะ" "รด")) ; } diff --git a/examples/phrasebook/missing.txt b/examples/phrasebook/missing.txt index 500b2be87..4f9dfc937 100644 --- a/examples/phrasebook/missing.txt +++ b/examples/phrasebook/missing.txt @@ -1,4 +1,3 @@ -DisambPhrasebookEng : PhrasebookBul : PhrasebookCat : PhrasebookDan : @@ -13,4 +12,5 @@ PhrasebookPol : PhrasebookRon : PhrasebookSpa : PhrasebookSwe : +PhrasebookTha : ACitizen AHasAge AHasRoom AHasTable AHaveCurr ALike ALive AScared ASpeak AThirsty ATired Airport AmountCurrency AmusementPark Bank Bar Belgian Belgium Bulgarian Bus ByFoot Cafeteria Catalan Center Cheap Chicken Church Cinema CitRestaurant CitiNat Coffee CountryNat Danish DanishCrown Disco Dollar Dutch English Euro Ferry Finnish Flemish French Friday German Hospital Hotel HowFar HowFarBy HowFarFrom HowFarFromBy HowMuchCost ItCost Italian LangNat Lei Leva Monday Museum Norwegian NorwegianCrown OnDay PCitizenship PCountry PCurrency PDay PLanguage PPrice PSeeYouDate PSeeYouPlace PSeeYouPlaceDate Park Parking Pharmacy Polish PostOffice Pound PropCit PropClosedDay PropOpenDay Pub QWhatAge Romanian Rouble Russian Saturday Spanish Station Subway Sunday Supermarket Suspect Swedish SwedishCrown Taxi Tea TheCheapest TheClosest TheMostPopular Theatre Thursday Toilet Tomorrow Tram Tuesday Wednesday Zloty Zoo PhrasebookUrd : diff --git a/lib/src/thai/LexiconTha.gf b/lib/src/thai/LexiconTha.gf index 2f05f95e0..97ddcc4ef 100644 --- a/lib/src/thai/LexiconTha.gf +++ b/lib/src/thai/LexiconTha.gf @@ -204,8 +204,8 @@ lin -- music_N = regN "music" ; name_N = mkN (thword "ชื่อ") ; narrow_A = mkA (thword "แคบ") ; --- near_A = regA "near" ; ---- near_Adv = ss (thword "ใกล้") ; + near_A = mkA "ใกล้" ; + near_Adv = mkAdv "ใกล้" ; neck_N = mkN (thword "คอ") ; new_A = mkA (thword "ใหม่") ; -- newspaper_N = regN "newspaper" ; diff --git a/lib/src/thai/StructuralTha.gf b/lib/src/thai/StructuralTha.gf index 6df51c046..5912922f2 100644 --- a/lib/src/thai/StructuralTha.gf +++ b/lib/src/thai/StructuralTha.gf @@ -47,7 +47,7 @@ concrete StructuralTha of Structural = CatTha ** many_Det = quantDet "หลาย" ; more_CAdv = {s = thword "มาก" "กว่า" ; p = []} ; ---- -- most_Predet = ss "most" ; --- much_Det = mkDeterminer Sg "much" ; + much_Det = quantDet "มาก" ; must_VV = {s = tog_s ; typ = VVPre} ; no_Utt = ss may_s ; on_Prep = ss "บน" ;