diff --git a/src/malay/LexiconMay.gf b/src/malay/LexiconMay.gf index dd756aa24..96806b15f 100644 --- a/src/malay/LexiconMay.gf +++ b/src/malay/LexiconMay.gf @@ -148,7 +148,7 @@ lin father_N2 = mkN2 "bapa" ; -- lin garden_N = mkN "" ; -- lin girl_N = mkN "" ; -lin give_V3 = mkV3 (mkV "beri" Meng) ; +lin give_V3 = mkV3 (mkV "beri" Meng) emptyPrep datPrep ; -- lin glove_N = mkN "" ; lin go_V = mkV "pergi" ; -- lin gold_N = mkN "" ; @@ -308,7 +308,7 @@ lin read_V2 = mkV2 "baca" ; -- lin see_V2 = mkV2 "" ; -- lin seed_N = mkN "" ; -- lin seek_V2 = mkV2 "" ; -lin sell_V3 = mkV3 (mkV "jual" Meng) ; +lin sell_V3 = mkV3 (mkV "jual" Meng) emptyPrep emptyPrep ; -- TODO -- lin send_V3 = mkV3 "" ; -- lin sew_V = mkV "" ; -- lin sharp_A = mkA "" ; diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index 0effac4f9..372e04e62 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -93,8 +93,8 @@ oper mkN2 = overload { - mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s ** {c2 = emptyPrep}) ; - mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = emptyPrep}) ; + mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s ** {c2 = dirPrep}) ; + mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = dirPrep}) ; } ; -- mkPN = overload { @@ -110,13 +110,13 @@ oper } ; mkV2 = overload { - mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (mkVerb v2 Meng) emptyPrep) ; + mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (mkVerb v2 Meng) dirPrep) ; mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (mkVerb2 v p) } ; mkV3 = overload { mkV3 : V -> V3 = \v -> - lin V3 (mkVerb3 v emptyPrep emptyPrep) ; + lin V3 (mkVerb3 v dirPrep dirPrep) ; mkV3 : V -> (p,q : Prep) -> V3 = \v,p,q -> lin V3 (mkVerb3 v p q) } ; diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index 4bc04b692..0425f9c3a 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -111,7 +111,8 @@ oper isPoss = False ; } ; - emptyPrep : Preposition = { + -- direct object: "hits him" -> "memukul+nya" + dirPrep : Preposition = { s = [] ; obj = table { P1 => BIND ++ "ku" ; @@ -120,6 +121,15 @@ oper isPoss = True ; } ; + -- truly empty + emptyPrep : Preposition = { + s = [] ; + obj = \\_ => [] ; + isPoss = True ; + } ; + + datPrep : Preposition = mkPrep "kepada" ; + applyPrep : Preposition -> NounPhrase -> Str = \prep,np -> case np.a of { IsPron p => prep.obj ! p ++ np.empty ;