diff --git a/src/malay/LexiconMay.gf b/src/malay/LexiconMay.gf index f2eceaa44..f01645b7b 100644 --- a/src/malay/LexiconMay.gf +++ b/src/malay/LexiconMay.gf @@ -44,7 +44,7 @@ lin blood_N = mkN "darah" ; lin book_N = mkN "buku" ; -- lin boy_N = mkN "" ; -- lin bread_N = mkN "" ; -lin break_V2 = mkV2 "patahkan" ; -- TODO figure out if -kan needs to be separated +lin break_V2 = mkV4 "patah" "kan"; -- TODO figure out if -kan needs to be separated -- lin breast_N = mkN "" ; -- lin breathe_V = mkV "" ; -- lin broad_A = mkA "" ; @@ -224,9 +224,11 @@ lin long_A = mkA "panjang" ; -- lin lose_V2 = mkV2 "" ; -- lin louse_N = mkN "" ; -- lin love_N = mkN "" ; -lin love_V2 = let love' : V2 = mkV2 "cinta" in love' ** { - s = \\_ => "mencintai" ; -} ; +-- lin love_V2 = let love' : V2 = mkV2 "cinta" in love' ** { +-- s = \\_ => "mencintai" ; +-- passive = "dicintai" ; +-- } ; +lin love_V2 = mkV4 "cinta" "i"; ---- -- M @@ -302,7 +304,7 @@ lin read_V2 = mkV2 "baca" ; -- lin round_A = mkA "" ; -- lin rub_V2 = mkV2 "" ; -- lin rubber_N = mkN "" ; --- lin rule_N = mkN "" ; +lin rule_N = mkN "peraturan" ; -- lin run_V = mkV "" ; ---- @@ -353,7 +355,7 @@ lin song_N = mkN "lagu" ; -- lin steel_N = mkN "" ; -- lin stick_N = mkN "" ; -- lin stone_N = mkN "" ; --- lin stop_V = mkV "" ; +lin stop_V = mkV "henti" ; -- lin stove_N = mkN "" ; -- lin straight_A = mkA "" ; -- lin student_N = mkN "" ; diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index 4e8cd8676..2df74b94a 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -133,6 +133,12 @@ oper lin V3 (mkVerb3 v p q) } ; + mkV4 = overload { + mkV4 : Str -> Str -> V2 = \v2,str -> + lin V2 (mkVerb4 (mkVerb v2 Meng) dirPrep str) ; + mkV4 : V -> Prep -> Str -> V2 = \v,p,str -> lin V2 (mkVerb4 v p str) + } ; + mkVV = overload { mkVV : Str -> VV = \vv -> lin VV (ss vv) } ; diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index b2c0d8788..b3b26586a 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -209,6 +209,11 @@ oper c3 : Preposition } ; + Verb4 : Type = Verb ** { + c2 : Preposition ; + passive : Str + } ; + -- VV : Type = Verb ** {vvtype : VVForm} ; mkVerb : Str -> Prefix -> Verb = \str,p -> { @@ -220,12 +225,18 @@ oper mkVerb2 : Verb -> Preposition -> Verb2 = \v,pr -> v ** { c2 = pr ; - passive = "di" + v.s ! Root -- TODO check + passive = "di" + v.s ! Root } ; mkVerb3 : Verb -> (p,q : Preposition) -> Verb3 = \v,p,q -> mkVerb2 v p ** {c3 = q} ; + mkVerb4 : Verb -> Preposition -> Str -> Verb4 = \v,pr,str -> v ** { + s = \\_ => v.s ! Active + str; + c2 = pr ; + passive = "di" + v.s ! Root + str + } ; + copula : Verb = {s = \\_ => "ada"} ; -- TODO ------------------ -- Adv diff --git a/src/malay/unittest/passive.gftest b/src/malay/unittest/passive.gftest index 4b69b4a3e..d0df9e0fa 100644 --- a/src/malay/unittest/passive.gftest +++ b/src/malay/unittest/passive.gftest @@ -1,11 +1,19 @@ Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (PassV2 love_V2)) LangEng: that dog is loved -LangMay: anjing itu dicinta +LangMay: anjing itu dicintai Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (PassV2 love_V2)) LangEng: that dog isn't loved -LangMay: anjing itu tidak dicinta +LangMay: anjing itu tidak dicintai Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (ComplVV want_VV (PassV2 love_V2))) LangEng: that dog doesn't want to be loved -LangMay: anjing itu tidak mahu dicinta \ No newline at end of file +LangMay: anjing itu tidak mahu dicintai + +Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN book_N)) (PassV2 read_V2)) +LangEng: that book is read +LangMay: buku itu dibaca + +Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN book_N)) (AdvVP (PassV2 read_V2) (PrepNP to_Prep (UsePron youSg_Pron)))) +LangEng: that book is read to you +LangMay: buku itu dibacakan kepada kamu \ No newline at end of file