diff --git a/lib/src/thai/LexiconTha.gf b/lib/src/thai/LexiconTha.gf index b79459cab..1f9b0926e 100644 --- a/lib/src/thai/LexiconTha.gf +++ b/lib/src/thai/LexiconTha.gf @@ -9,7 +9,6 @@ flags lin -- add_V3 = dirV3 (regV "add") toP ; -- airplane_N = regN "airplane" ; - all_Predet = ss (thbind "ทั้ง" "หมด") ; -- already_Adv = mkAdv "already" ; animal_N = animalN (thbind "สัตว์") ; -- answer_V2S = mkV2S (regV "answer") toP ; @@ -80,10 +79,9 @@ lin cut_V2 = mkV2 (thbind "ตัด") ; day_N = mkN (thbind "กลาง" "วัน") ; die_V = mkV (thbind "ตาย") ; --- dig_V = dig_V ; - dig_V2 = mkV2 (thbind "ขุด") ; + dig_V = mkV (thbind "ขุด") ; dirty_A = mkA (thbind "สก" "ปรก") ; --- distance_N3 = mkN3 (regN "distance") fromP toP ; + distance_N3 = mkN3 (mkN (thbind "ระ" "ยะ" "ฑาง")) "จาก" "ถืง" ; -- do_V2 = dirV2 (mkV "do" "does" "did" "done" "doing") ; -- doctor_N = regN "doctor" ; dog_N = animalN (thbind "หมา") ; @@ -104,15 +102,12 @@ lin fall_V = mkV (thbind "ตก") ; far_Adv = ss (thbind "ไกล") ; fat_N = mkN (thbind "มัน") ; - father_N = personN (thbind "พ่อ") ; --- father_N2 = regN2 "father" ; - fear_N = mkN (thbind "กลัว") ; + father_N2 = mkN2 (personN (thbind "พ่อ")) [] ; +--- fear_N = mkN (thbind "กลัว") ; -- fear_V2 = dirV2 (regV "fear") ; -- fear_VS = mkVS (regV "fear") ; feather_N = mkN (thbind "ขน") ; - few_Det = mkN (thbind "สองสาม") ; - fight_V = mkV (thbind "สู้") ; --- fight_V2 = dirV2 fight_V ; + fight_V2 = mkV2 (thbind "สู้") ; -- find_V2 = dirV2 (irregV "find" "found" "found") ; fingernail_N = mkN (thbind "เล็บ") ; fire_N = mkN (thbind "ไฟ") ; @@ -155,7 +150,6 @@ lin hear_V2 = mkV2 (thbind "ยิน") ; heart_N = mkN (thbind "ใจ") ; heavy_A = mkA (thbind "หนัก") ; - here_Adv = ss (thbind "ที่นี่") ; -- hill_N = regN "hill" ; hit_V2 = mkV2 (thbind "ตี") ; hold_V2 = mkV2 (thbind "อุ้ม") ; @@ -164,7 +158,6 @@ lin -- horse_N = regN "horse" ; -- hot_A = duplADeg "hot" ; house_N = mkN baan_s lag_s ; - how_IAdv = ss (thbind "อย่างไร") ; hunt_V2 = mkV2 (thbind "ล่า") ; husband_N = personN (thbind "ผัว") ; ice_N = mkN (thbind "น้ำ" "แข็ง") ; @@ -201,8 +194,7 @@ lin -- love_N = regN "love" ; love_V2 = mkV2 rak_s ; man_N = personN (thbind "ชาย") ; - many_Det = mkN (thbind "หลาย") ; --- married_A2 = mkA2 (regA "married") toP ; + married_A2 = mkA2 (mkA (thbind "แต่ง" "งัน" "แล้ว")) "กับ" ; meat_N = mkN (thbind "เนื้อ") ; -- milk_N = regN "milk" ; moon_N = mkN (thbind "เดือน") ; @@ -210,10 +202,10 @@ lin mountain_N = mkN (thbind "เขา") ; mouth_N = mkN (thbind "ปาก") ; -- music_N = regN "music" ; --- name_N = regN "name" ; + name_N = mkN (thbind "ชื่อ") ; narrow_A = mkA (thbind "แคบ") ; -- near_A = regA "near" ; - near_Adv = ss (thbind "ใกล้") ; +--- near_Adv = ss (thbind "ใกล้") ; neck_N = mkN (thbind "คอ") ; new_A = mkA (thbind "ใหม่") ; -- newspaper_N = regN "newspaper" ; @@ -225,8 +217,8 @@ lin old_A = mkA (thbind "แก่") ; -- onP = mkPrep "on" ; -- open_V2 = dirV2 (regV "open") ; - other_A = mkA (thbind "อื่น") ; --- paint_V2A = mkV2A (regV "paint") noPrep ; +--- other_A = mkA (thbind "อื่น") ; + paint_V2A = mkV2A (regV "ปาย") [] ; -- paper_N = regN "paper" ; paris_PN = ss "ปารีส" ; -- peace_N = regN "peace" ; @@ -297,7 +289,6 @@ lin snake_N = animalN (thbind "งู") ; snow_N = mkN (thbind "หิมะ") ; -- sock_N = regN "sock" ; - some_Det = mkN (thbind "บ้าง") ; -- song_N = regN "song" ; -- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ; spit_V = mkV (thbind "ถ่ม") ; @@ -326,7 +317,6 @@ lin -- teach_V2 = dirV2 (irregV "teach" "taught" "taught") ; -- teacher_N = regN "teacher" ; -- television_N = regN "television" ; - there_Adv = ss (thbind "ที่นั่น") ; thick_A = mkA (thbind "หนา") ; thin_A = mkA (thbind "บาง") ; think_V = mkV (thbind "คิด") ; @@ -353,7 +343,6 @@ lin -- watch_V2 = dirV2 (regV "watch") ; water_N = mkN (thbind "น้ำ") ; wet_A = mkA (thbind "เปียก") ; - when_IAdv = ss (thbind "เมื่อไร") ; white_A = mkA (thbind "ขาว") ; wide_A = mkA (thbind "กว้าง") ; wife_N = personN (thbind "เมีย") ; diff --git a/lib/src/thai/ParadigmsTha.gf b/lib/src/thai/ParadigmsTha.gf index 0ac042478..7eda3f454 100644 --- a/lib/src/thai/ParadigmsTha.gf +++ b/lib/src/thai/ParadigmsTha.gf @@ -21,8 +21,17 @@ oper animalN : Str -> N = \s -> mkN s "ตัว" ; + mkN2 : N -> Str -> N2 + = \n,p -> lin N2 (n ** {c2 = p}) ; + + mkN3 : N -> Str -> Str -> N3 + = \n,p,q -> lin N3 (n ** {c2 = p ; c3 = q}) ; + mkA : Str -> A = \s -> lin A (mkAdj s) ; + mkA2 : A -> Str -> A2 + = \n,p -> lin A2 (n ** {c2 = p}) ; + mkV = overload { mkV : Str -> Verb = \s -> {s1 = [] ; s2 = s ; isCompl = False} ; @@ -35,6 +44,38 @@ oper = \s -> lin V2 (dirV2 (regV s)) ; mkV2 : V -> V2 = \s -> lin V2 (dirV2 s) ; + mkV2 : V -> Str -> V2 + = \v,p -> lin V2 (v ** {c2 = p}) ; } ; + mkV3 = overload { + mkV3 : Str -> V3 + = \s -> lin V3 (regV s ** {c2,c3 = []}) ; + mkV3 : V -> V3 + = \s -> lin V3 (s ** {c2,c3 = []}) ; + mkV3 : V -> Str -> Str -> V3 + = \v,p,q -> lin V3 (v ** {c2 = p ; c3 = q}) ; + } ; + + mkVQ : V -> VQ = + \v -> lin VQ v ; + + mkVS : V -> VS = + \v -> lin VS v ; + + mkVA : V -> VA = + \v -> lin VA v ; + + mkV2Q : V -> Str -> V2Q = + \v,p -> lin V2Q (v ** {c2 = p}) ; + + mkV2V : V -> Str -> V2V = + \v,p -> lin V2V (v ** {c2 = p}) ; + + mkV2S : V -> Str -> V2S = + \v,p -> lin V2S (v ** {c2 = p}) ; + + mkV2A : V -> Str -> V2A = + \v,p -> lin V2A (v ** {c2 = p}) ; + } diff --git a/lib/src/thai/StructuralTha.gf b/lib/src/thai/StructuralTha.gf index 7dd1898ba..d5a592bc5 100644 --- a/lib/src/thai/StructuralTha.gf +++ b/lib/src/thai/StructuralTha.gf @@ -6,7 +6,7 @@ concrete StructuralTha of Structural = CatTha ** lin above_Prep = ss (thbind "ข้าง" "บน") ; -- after_Prep = ss "after" ; --- all_Predet = ss "all" ; + all_Predet = ss (thbind "ทั้ง" "หมด") ; almost_AdA, almost_AdN = ss (thbind "เกิ" "อบ") ; -- although_Subj = ss "although" ; always_AdV = ss (thbind "ตลอด" "ไป") ; @@ -27,16 +27,16 @@ concrete StructuralTha of Structural = CatTha ** -- every_Det = mkDeterminer Sg "every" ; -- everything_NP = regNP "everything" Sg ; -- everywhere_Adv = ss "everywhere" ; --- few_Det = mkDeterminer Pl "few" ; + few_Det = mkDet (thbind "สอง" "สาม") [] ; -- first_Ord = ss "first" ; -- for_Prep = ss "for" ; --- from_Prep = ss "from" ; + from_Prep = ss "จาก" ; have_V2 = mkV2 "มี" ; he_Pron = ss khaw_s ; --- here_Adv = ss "here" ; + here_Adv = ss (thbind "ที่นี่") ; -- here7to_Adv = ss ["to here"] ; -- here7from_Adv = ss ["from here"] ; --- how_IAdv = ss "how" ; + how_IAdv = ss (thbind "อย่าง" "ไร") ; -- how8many_IDet = mkDeterminer Pl ["how many"] ; -- if_Subj = ss "if" ; -- in8front_Prep = ss ["in front of"] ; @@ -44,7 +44,7 @@ concrete StructuralTha of Structural = CatTha ** -- in_Prep = ss "in" ; it_Pron = ss "มัน" ; -- less_CAdv = ss "less" ; --- many_Det = mkDeterminer Pl "many" ; + many_Det = mkDet "หลาย" [] ; -- more_CAdv = ss "more" ; -- most_Predet = ss "most" ; -- much_Det = mkDeterminer Sg "much" ; @@ -62,13 +62,13 @@ concrete StructuralTha of Structural = CatTha ** she_Pron = ss khaw_s ; -- so_AdA = ss "so" ; -- somebody_NP = regNP "somebody" Sg ; --- someSg_Det = mkDeterminer Sg "some" ; --- somePl_Det = mkDeterminer Pl "some" ; + somePl_Det = mkDet ("บ้าง") [] ; + someSg_Det = mkDet ("บ้าง") [] ; -- something_NP = regNP "something" Sg ; -- somewhere_Adv = ss "somewhere" ; that_Quant = ss nan_s ** {hasC = True} ; -- that_NP = regNP "that" Sg ; --- there_Adv = ss "there" ; + there_Adv = ss (thbind "ที่" "นั่น") ; -- there7to_Adv = ss "there" ; -- there7from_Adv = ss ["from there"] ; -- therefore_PConj = ss "therefore" ; @@ -79,20 +79,20 @@ concrete StructuralTha of Structural = CatTha ** -- those_NP = regNP "those" Pl ; -- through_Prep = ss "through" ; too_AdA = ss (thbind "เกิน" "ไป") ; --- to_Prep = ss "to" ; + to_Prep = ss "ถืง" ; -- under_Prep = ss "under" ; very_AdA = ss "มาก" ; want_VV = {s = yaak_s ; typ = VVMid} ; we_Pron = ss raw_s ; whatPl_IP, whatSg_IP = ss (thbind "อะ" "ไร") ; --- when_IAdv = ss "when" ; --- when_Subj = ss "when" ; + when_IAdv = ss (thbind "เมื่อไร") ; + when_Subj = ss "ฑี" ; where_IAdv = ss (thbind "ฑี" "ไหน") ; which_IQuant = {s1 = "ไหน" ; s2 = [] ; hasC = True} ; whoPl_IP, whoSg_IP = ss "ไคร" ; why_IAdv = ss (thbind "ฑำ" "ไม") ; --- without_Prep = ss "without" ; --- with_Prep = ss "with" ; + without_Prep = ss (thbind "ไ่ม" "มี") ; + with_Prep = ss "กับ" ; yes_Utt = ss chay_s ; youSg_Pron = ss khun_s ; youPl_Pron = ss khun_s ; @@ -105,24 +105,12 @@ concrete StructuralTha of Structural = CatTha ** -- } ; -- --- from Swadesh - here_Adv = ss (thbind "ที่นี่") ; - there_Adv = ss (thbind "ที่นั่น") ; - when_IAdv = ss (thbind "เมื่อไร") ; - how_IAdv = ss (thbind "อย่างไร") ; - all_Predet = ss (thbind "ทั้ง" "หมด") ; - many_Det = {s1 = thbind "หลาย" ; s2 = [] ; hasC = True} ; - some_Det = {s1 = thbind "บ้าง" ; s2 = [] ; hasC = True} ; - few_Det = {s1 = thbind "สอง" "สาม" ; s2 = [] ; hasC = True} ; right_Ord = ss (thbind "ขวา") ; left_Ord = ss (thbind "ซ้าย") ; at_Prep = ss (thbind "ที่") ; in_Prep = ss (thbind "ใน") ; - with_Prep = ss (thbind "กับ") ; --- and_N = mkN (thbind "และ") ; if_Subj = ss (thbind "ถ้า") ; because_Subj = ss (thbind "เพราะ") ; - name_N = mkN (thbind "ชื่อ") ; }