From 336c297dc1649f8828cb20a7f63bbf44c8e48c77 Mon Sep 17 00:00:00 2001 From: Meowyam Date: Mon, 21 Feb 2022 14:26:33 +0800 Subject: [PATCH] add relative functions, addition to lexicon, change of words for you and I --- src/malay/CatMay.gf | 4 +++ src/malay/LexiconMay.gf | 46 +++++++++++++----------- src/malay/QuestionMay.gf | 1 - src/malay/RelativeMay.gf | 15 ++++---- src/malay/StructuralMay.gf | 4 +-- src/malay/VerbMay.gf | 12 +++++-- src/malay/unittest/complements.gftest | 2 +- src/malay/unittest/numerals.gftest | 2 +- src/malay/unittest/pronouns.gftest | 14 ++++---- src/malay/unittest/questions.gftest | 16 ++++----- src/malay/unittest/relative.gftest | 23 ++++++------ src/malay/unittest/tenses.gftest | 4 +-- src/malay/unittest/verbal_affixes.gftest | 24 ++++++------- 13 files changed, 92 insertions(+), 75 deletions(-) diff --git a/src/malay/CatMay.gf b/src/malay/CatMay.gf index d1bc0ebb..9fcc721f 100644 --- a/src/malay/CatMay.gf +++ b/src/malay/CatMay.gf @@ -120,4 +120,8 @@ concrete CatMay of Cat = CommonX - [IAdv] ** open ResMay, Prelude in { N2 = ResMay.Noun2 ; N3 = ResMay.Noun3 ; PN = ResMay.PNoun ; + + linref + CN = \cn -> cn.s ! NF Sg Bare ++ cn.heavyMod; + } diff --git a/src/malay/LexiconMay.gf b/src/malay/LexiconMay.gf index a74a89b8..e3b6643f 100644 --- a/src/malay/LexiconMay.gf +++ b/src/malay/LexiconMay.gf @@ -4,29 +4,29 @@ concrete LexiconMay of Lexicon = CatMay ** ---- -- A --- lin add_V3 = mkV3 "" ; --- lin airplane_N = mkN "" ; +-- lin add_V3 = mkV3 "tambah" ; +lin airplane_N = mkN "kapal terbang" ; -- lin alas_Interj = mkInterj "" ; --- lin already_Adv = mkA "" ; --- lin animal_N = mkN "동물" ; --- lin answer_V2S = mkV2S "" ; --- lin apartment_N = mkN "" ; --- lin apple_N = mkN "" ; --- lin art_N = mkN "" ; --- lin ashes_N = mkN "" ; --- lin ask_V2Q = mkV2 "" ; +lin already_Adv = mkA "sudah" ; +lin animal_N = mkN "haiwan" ; +-- lin answer_V2S = mkV2S "jawab" ; +lin apartment_N = mkN "pangsapuri" ; +lin apple_N = mkN "epal" ; +lin art_N = mkN "seni" ; +lin ashes_N = mkN "abu" ; +lin ask_V2Q = mkV2 "tanya" ; ---- -- B --- lin baby_N = mkN "" ; --- lin back_N = mkN "" ; +lin baby_N = mkN "bayi" ; +lin back_N = mkN "belakang" ; -- lin bad_A = mkA "" ; --- lin bank_N = mkN "" ; +lin bank_N = mkN "bank" ; -- lin bark_N = mkN "" ; lin beautiful_A = mkA "cantik" ; --- lin become_VA = mkVA "" ; --- lin beer_N = mkN "" ; +-- lin become_VA = mkVA "jadi" ; +lin beer_N = mkN "bir" ; -- lin beg_V2V = mkV2 "" ; -- lin belly_N = mkN "" ; -- lin big_A = mkA "" ; @@ -34,7 +34,7 @@ lin beautiful_A = mkA "cantik" ; -- lin bird_N = mkN "" ; -- lin bite_V2 = mkV2 "" ; lin black_A = mkA "hitam" ; --- lin blood_N = mkN "" ; +lin blood_N = mkN "darah" ; -- lin blow_V = mkV "" ; -- lin blue_A = mkA "" ; -- lin boat_N = mkN "" ; @@ -95,7 +95,9 @@ lin come_V = mkV "datang" ; -- lin doctor_N = mkN "" ; lin dog_N = mkN "anjing" ; -- lin door_N = mkN "" ; -lin drink_V2 = mkV2 "minum" ; +lin drink_V2 = let drink' : V2 = mkV2 "minum" in drink' ** { + s = \\_ => "minum" ; +}; -- lin dry_A = mkA "" ; -- lin dull_A = mkA "" ; -- lin dust_N = mkN "" ; @@ -105,7 +107,9 @@ lin drink_V2 = mkV2 "minum" ; -- lin ear_N = mkN "" ; -- lin earth_N = mkN "" ; -lin eat_V2 = mkV2 "makan" ; +lin eat_V2 = let eat' : V2 = mkV2 "makan" in eat' ** { + s = \\_ => "makan" ; +}; -- lin egg_N = mkN "" ; -- lin empty_A = mkA "" ; -- lin enemy_N = mkN "" ; @@ -148,7 +152,7 @@ lin father_N2 = mkN2 "bapa" ; -- lin garden_N = mkN "" ; -- lin girl_N = mkN "" ; -lin give_V3 = mkV3 (mkV "beri" Meng) emptyPrep datPrep ; +lin give_V3 = mkV3 (mkV "beri" Meng) emptyPrep datPrep ; -- memberi for living and memberikan for nonliving -- lin glove_N = mkN "" ; lin go_V = mkV "pergi" ; -- lin gold_N = mkN "" ; @@ -204,7 +208,7 @@ lin king_N = mkN "raja" ; -- lin language_N = mkN "" ; -- lin laugh_V = mkV "" ; -- lin leaf_N = mkN "" ; -lin learn_V2 = mkV2 (prefixV (mkV "ajar" Ber)) emptyPrep ; +-- lin learn_V2 = mkV2 (prefixV (mkV "ajar" Ber)) emptyPrep ; -- lin leather_N = mkN "" ; -- lin leave_V2 = mkV2 "" ; -- lin leg_N = mkN "" ; @@ -312,7 +316,7 @@ lin science_N = mkN "sains" ; lin see_V2 = mkV2 "lihat" ; -- lin seed_N = mkN "" ; -- lin seek_V2 = mkV2 "" ; -lin sell_V3 = mkV3 (mkV "jual" Meng) emptyPrep emptyPrep ; -- TODO +-- 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/QuestionMay.gf b/src/malay/QuestionMay.gf index ba6cab1a..9544c90b 100644 --- a/src/malay/QuestionMay.gf +++ b/src/malay/QuestionMay.gf @@ -59,7 +59,6 @@ lin } ; } ; - -- : IP -> IComp ; CompIP ip = {s = ip.s ! Bare } ; -- who (is it) diff --git a/src/malay/RelativeMay.gf b/src/malay/RelativeMay.gf index d9cc71a0..b060c6eb 100644 --- a/src/malay/RelativeMay.gf +++ b/src/malay/RelativeMay.gf @@ -3,33 +3,36 @@ concrete RelativeMay of Relative = CatMay ** open lin - -- : Cl -> RCl ; -- such that John loves her - -- RelCl cl = ; + -- : Cl -> RCl ; -- such that John loves her + -- RelCl cl = cl ** { + -- subj = cl.subj ; + -- pred = cl.pred ; + -- }; -- : RP -> VP -> RCl ; RelVP rp vp = { subj = rp.s ; - pred = \\per => vp.s ! Root ; + pred = \\per,pol => vp.s ! Active ! pol; } ; -- : RP -> ClSlash -> RCl ; -- who I went with RelSlash rp cls = { subj = rp.s -- yang - ++ cls.subj ; -- saya + ++ cls.subj ; -- aku pred = \\per,pol => let object : Str = case cls.c2.prepType of { OtherPrep => cls.c2.obj ! per ; -- depends on the head, not known yet _ => [] -- if the preposition is dir.obj or empty, no obj. pronoun } ; - in cls.pred ! Root ! pol -- ikut sama + in cls.pred ! Active ! pol -- ikut sama ++ object -- dengan+nya } ; -- : RP ; IdRP = {s = "yang"} ; - -- Mintz page 49: Saya jumpa orang /yang kaki+nya/ patah. + -- Mintz page 49: aku jumpa orang /yang kaki+nya/ patah. -- 'I met a man /whose foot/ was broken.' -- : Prep -> NP -> RP -> RP ; -- the mother of whom -- FunRP prep np rp = {} ; diff --git a/src/malay/StructuralMay.gf b/src/malay/StructuralMay.gf index d41a0cd8..670ce889 100644 --- a/src/malay/StructuralMay.gf +++ b/src/malay/StructuralMay.gf @@ -120,9 +120,9 @@ lin with_Prep = mkPrep "dengan" ; -- Pronouns are closed class, no constructor in ParadigmsMay. lin it_Pron = mkPron "dia" P3 ; -lin i_Pron = mkPron "saya" P1 ; +lin i_Pron = mkPron "aku" P1 ; lin youPol_Pron = mkPron "kamu" P2 ; -lin youSg_Pron = mkPron "awak" P2 ; +lin youSg_Pron = mkPron "kamu" P2 ; lin he_Pron = mkPron "dia" P3 ; lin she_Pron = mkPron "dia" P3 ; -- inclusive we diff --git a/src/malay/VerbMay.gf b/src/malay/VerbMay.gf index 3dbf8cba..b66e508f 100644 --- a/src/malay/VerbMay.gf +++ b/src/malay/VerbMay.gf @@ -16,7 +16,7 @@ lin -- : VV -> VP -> VP ; ComplVV vv vp = vp ** useV { - s = \\vf => vv.s ++ vp.s ! Root ! Pos + s = \\vf => vv.s ++ vp.s ! Active ! Pos } ; -- : VS -> S -> VP ; @@ -54,12 +54,11 @@ lin -- : V3 -> NP -> VPSlash ; -- give (it) to her Slash3V3 v3 iobj = useV { - s = \\vf => v3.s ! vf ++ iobj.s ! Bare ++ applyPrep v3.c3 emptyNP; + s = \\vf => v3.s ! vf ++ applyPrep v3.c3 emptyNP ++ iobj.s ! Bare; --iobj.s ! Bare -- applyPrep v3.c3 iobj -- TODO check if this works for all -- probably not } ** { c2 = v3.c2 ;-- Now the VPSlash is missing only the direct object adjCompl = [] - } ; -- insertObjc : (Agr => Str) -> SlashVP -> SlashVP = \obj,vp -> @@ -101,6 +100,13 @@ lin adjCompl = vps.adjCompl ; } ; + -- SlashVV vv vp = vp ** useV { + -- s = \\vf => vv.s ++ vp.s ! Active ! Pos ; + -- c2 = vp.c2 ; + -- passive = vv.s ++ vp.passive; + -- adjCompl = vp.adjCompl ; + -- } ; + -- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy -- SlashV2VNP v2v np vps = diff --git a/src/malay/unittest/complements.gftest b/src/malay/unittest/complements.gftest index cc437dd3..04cfc950 100644 --- a/src/malay/unittest/complements.gftest +++ b/src/malay/unittest/complements.gftest @@ -3,4 +3,4 @@ Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlas LangMay: dia memberi kucing kepadaku Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlash (Slash3V3 give_V3 (UsePron i_Pron)) (MassNP (UseN cat_N))))) -LangMay: dia memberi saya kucing +LangMay: dia memberi aku kucing diff --git a/src/malay/unittest/numerals.gftest b/src/malay/unittest/numerals.gftest index b6bc7744..cf6aa05b 100644 --- a/src/malay/unittest/numerals.gftest +++ b/src/malay/unittest/numerals.gftest @@ -8,4 +8,4 @@ LangMay: lima kucing ini Lang: DetCN (DetQuant (PossPron i_Pron) (NumCard (NumNumeral (num (pot2as3 (pot2 (pot0 n7))))))) (UseN cat_N) LangEng: my seven hundred cats -LangMay: tujuh ratus kucing saya +LangMay: tujuh ratus kucing aku diff --git a/src/malay/unittest/pronouns.gftest b/src/malay/unittest/pronouns.gftest index defa44a4..daededd0 100644 --- a/src/malay/unittest/pronouns.gftest +++ b/src/malay/unittest/pronouns.gftest @@ -14,18 +14,18 @@ LangMay: kucing-kucingku dengan orang itu -- to get "memukulnya", we need to define it in the entry of hit_V2 at the moment. -- if that should be variable on a more general level, let me know. Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a hit_V2) (UsePron he_Pron))) -LangMay: saya memukul dia +LangMay: aku memukul dia ------------- -- Possession -- that is my cat Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetNP (DetQuant that_Quant NumSg)) (UseComp (CompNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN cat_N))))) -LangMay: itu kucing saya +LangMay: itu kucing aku -- that cat is mine Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN cat_N)) (UseComp (CompNP (DetNP (DetQuant (PossPron i_Pron) NumSg))))) -LangMay: kucing itu saya +LangMay: kucing itu aku -- his/her cat is green Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant (PossPron he_Pron) NumSg) (UseN cat_N)) (UseComp (CompAP (PositA green_A)))) @@ -33,14 +33,14 @@ LangMay: kucing dia hijau -- I read his/her book -- two variants, different trees Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant IndefArt NumSg) (PossNP (UseN book_N) (UsePron she_Pron))))) -LangMay: saya membaca bukunya +LangMay: aku membaca bukunya Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant (PossPron he_Pron) NumSg) (UseN book_N)))) -LangMay: saya membaca buku dia +LangMay: aku membaca buku dia -- I read his/her father's book Lang: UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant DefArt NumSg) (PossNP (UseN book_N) (DetCN (DetQuant DefArt NumSg) (PossNP (UseN2 father_N2) (UsePron she_Pron))))))) -LangMay: saya membaca buku bapanya +LangMay: aku membaca buku bapanya -- Only the noun phrase Lang: MassNP (PossNP (UseN book_N) (UsePron he_Pron)) @@ -66,4 +66,4 @@ LangMay: kucingku dia Lang: DetCN (DetQuant (PossPron i_Pron) NumSg) (PossNP (UseN cat_N) (UsePron she_Pron)) LangEng: my cat of hers -LangMay: kucingnya saya +LangMay: kucingnya aku diff --git a/src/malay/unittest/questions.gftest b/src/malay/unittest/questions.gftest index cdac74cf..76c47836 100644 --- a/src/malay/unittest/questions.gftest +++ b/src/malay/unittest/questions.gftest @@ -16,11 +16,11 @@ LangMay: berapa banyak kucing Lang: UseQCl (TTAnt TPres ASimul) PPos (QuestCl (PredVP (UsePron youSg_Pron) (ComplSlash (SlashV2a teach_V2) (DetCN (DetQuant DefArt NumSg) (UseN cat_N))))) LangEng: do you teach the cat -LangMay: adakah awak mengajar kucing +LangMay: adakah kamu mengajar kucing Lang: UseQCl (TTAnt TPres ASimul) PNeg (QuestCl (PredVP (UsePron youSg_Pron) (ComplSlash (SlashV2a teach_V2) (DetCN (DetQuant DefArt NumSg) (UseN cat_N))))) LangEng: don't you teach the cat -LangMay: adakah awak tidak mengajar kucing +LangMay: adakah kamu tidak mengajar kucing Lang: UseQCl (TTAnt TPres ASimul) PPos (QuestVP (IdetCN (IdetQuant which_IQuant NumSg) (UseN cat_N)) (ComplSlash (SlashV2a teach_V2) (UsePron he_Pron))) LangEng: which cat teaches him @@ -28,19 +28,19 @@ LangMay: kucing yang mana mengajar dia Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestIAdv where_IAdv (PredVP (UsePron youSg_Pron) (UseV go_V))) LangEng: where did you go -LangMay: awak pergi mana +LangMay: kamu pergi mana Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestIAdv why_IAdv (PredVP (UsePron youSg_Pron) (UseV go_V))) LangEng: why did you go -LangMay: mengapa awak pergi +LangMay: mengapa kamu pergi Lang: UseQCl (TTAnt TPast ASimul) PNeg (QuestIAdv why_IAdv (PredVP (UsePron youSg_Pron) (UseV go_V))) LangEng: why didn't you go -LangMay: mengapa awak tidak pergi +LangMay: mengapa kamu tidak pergi Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestSlash (IdetCN (IdetQuant which_IQuant NumSg) (UseN woman_N)) (SlashVP (UsePron youSg_Pron) (SlashV2a see_V2))) LangEng: which woman did you see -LangMay : awak melihat perempuan yang mana +LangMay : kamu melihat perempuan yang mana # -- should be to whom did mother give the meat Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestSlash whoSg_IP (SlashVP (MassNP (UseN2 mother_N2)) (Slash3V3 give_V3 (DetCN (DetQuant DefArt NumSg) (UseN meat_N))))) @@ -50,7 +50,7 @@ LangMay: ibu memberi daging kepada siapa # -- should be to whom did mother talk the meat Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestSlash whoSg_IP (SlashVP (MassNP (UseN2 mother_N2)) (Slash3V3 talk_V3 (DetCN (DetQuant DefArt NumSg) (UseN meat_N))))) LangEng: whom did mother talk about the meat to -LangMay: ibu bercakap daging dengan siapa +LangMay: ibu bercakap tentang daging dengan siapa Lang: UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (ComplVV want_VV (UseV go_V))) LangEng: who wants to go @@ -62,7 +62,7 @@ LangMay: siapa kucing Lang: UseQCl (TTAnt TPres ASimul) PPos (QuestIAdv how_IAdv (PredVP (DetCN (DetQuant (PossPron youSg_Pron) NumSg) (UseN2 mother_N2)) (ComplSlash (SlashV2A paint_V2A (PositA black_A)) (DetCN (DetQuant DefArt NumSg) (UseN house_N))))) LangEng: how does your mother paint the house black -LangMay: bagaimana ibu awak mengecat rumah hitam +LangMay: bagaimana ibu kamu mengecat rumah hitam Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestIAdv why_IAdv (PredVP (UsePron she_Pron) (ComplSlash (SlashV2a eat_V2) (DetCN (DetQuant DefArt NumSg) (UseN meat_N))))) LangEng: why did she eat the meat diff --git a/src/malay/unittest/relative.gftest b/src/malay/unittest/relative.gftest index 47b3b5fe..be6748d6 100644 --- a/src/malay/unittest/relative.gftest +++ b/src/malay/unittest/relative.gftest @@ -3,7 +3,7 @@ Lang: DetCN (DetQuant IndefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV walk_V)))) LangEng: a cat that walks -LangMay: kucing yang jalan +LangMay: kucing yang berjalan Lang: DetCN (DetQuant IndefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a drink_V2) (MassNP (UseN milk_N)))))) LangEng: a cat that drinks milk @@ -17,7 +17,7 @@ LangMay: susu yang kucing minum -- We can find another RGL tree that produces the more natural variant. This tree produces this variant. Lang: DetCN (DetQuant DefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (UseV walk_V)) with_Prep)))) LangEng: the cat that the dog walks with -LangMay: kucing yang anjing jalan dengannya +LangMay: kucing yang anjing berjalan dengannya -------------------------------------------------------------- -- Determiner placement @@ -25,30 +25,31 @@ LangMay: kucing yang anjing jalan dengannya -- TODO check determiner placement? Lang: DetCN (DetQuant this_Quant NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV walk_V)))) LangEng: this cat that walks -LangMay: kucing ini yang jalan +LangMay: kucing ini yang berjalan Lang: DetCN (DetQuant (PossPron i_Pron) NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a drink_V2) (MassNP (UseN milk_N)))))) LangEng: my cat that drinks milk -LangMay: kucing saya yang minum susu +LangMay: kucing aku yang minum susu -- TODO verb form? Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetNP (DetQuant this_Quant NumSg)) (UseComp (CompNP (DetCN (DetQuant DefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV walk_V)))))))) LangEng: this is the cat that walks -LangMay: ini kucing yang jalan +LangMay: ini kucing yang berjalan -------------------------------------------------------------- -- Complex example: "the book that his/her father gave him/her" -- 1. His father gave him a book +-- should be "memberikan buku" as book is dead Lang: UseCl (TTAnt TPast ASimul) PPos (PredVP (MassNP (ComplN2 father_N2 (UsePron he_Pron))) (ComplSlash (Slash2V3 give_V3 (MassNP (UseN book_N))) (UsePron he_Pron))) LangMay: bapanya memberi buku kepadanya -- 2. A book that her father gave her -- TODO: would it be better as "buku yang bapanya beri kepadanya"? (Or any other variation?) Lang: DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (ComplN2 father_N2 (UsePron she_Pron))) (Slash3V3 give_V3 (UsePron she_Pron)))))) -LangMay: buku yang bapanya beri dia +LangMay: buku yang bapanya memberi kepada dia -- The preposition "kepada" comes from the definition of give_V3 in LexiconMay.gf. -- If "buku yang bapanya beri kepadanya" is correct in general, but sometimes @@ -61,14 +62,14 @@ LangMay: buku yang bapanya beri dia -- then we can do it in the resource grammar. -- I want to read the book that my father gave me --- TODO check: would "saya mahu baca buku yang bapaku beri kepadaku" be better? +-- TODO check: would "aku mahu baca buku yang bapaku beri kepadaku" be better? Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashVV want_VV (SlashV2a read_V2)) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (ComplN2 father_N2 (UsePron i_Pron))) (Slash3V3 give_V3 (UsePron i_Pron))))))))) -LangMay: saya mahu baca buku yang bapaku beri saya +LangMay: aku mahu membaca buku yang bapaku memberi kepada aku -- I want to read the book that my father read Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashVV want_VV (SlashV2a read_V2)) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumSg) (ComplN2 father_N2 (UsePron i_Pron))) (SlashV2a read_V2)))))))) -LangMay: saya mahu baca buku yang bapaku baca +LangMay: aku mahu membaca buku yang bapaku membaca --- bonus tree: we can also generate "bapa saya", not just "bapaku" +-- bonus tree: we can also generate "bapa aku", not just "bapaku" Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV want_VV (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN2 father_N2)) (SlashV2a read_V2))))))))) -LangMay: saya mahu baca buku yang bapa saya baca \ No newline at end of file +LangMay: aku mahu membaca buku yang bapa aku membaca \ No newline at end of file diff --git a/src/malay/unittest/tenses.gftest b/src/malay/unittest/tenses.gftest index b0447dd1..df49f4e6 100644 --- a/src/malay/unittest/tenses.gftest +++ b/src/malay/unittest/tenses.gftest @@ -18,8 +18,8 @@ LangMay: kucing akan berjalan Lang: ExtAdvS (SubjS if_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (UseV walk_V)))) (UseCl (TTAnt TCond ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (UseV walk_V))) LangEng: if I walked , the cat would walk -LangMay: sekiranya saya berjalan , kucing akan berjalan +LangMay: sekiranya aku berjalan , kucing akan berjalan Lang: ExtAdvS (SubjS when_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (UseV walk_V)))) (UseCl (TTAnt TFut ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (UseV walk_V))) LangEng: when I walk , the cat will walk -LangMay: kalau saya berjalan , kucing akan berjalan +LangMay: kalau aku berjalan , kucing akan berjalan diff --git a/src/malay/unittest/verbal_affixes.gftest b/src/malay/unittest/verbal_affixes.gftest index 75359c63..7875f2c9 100644 --- a/src/malay/unittest/verbal_affixes.gftest +++ b/src/malay/unittest/verbal_affixes.gftest @@ -9,42 +9,42 @@ Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN cat_N)) (UseV walk_V))) LangEng: my cat walks -LangMay: kucing saya berjalan +LangMay: kucing aku berjalan -- As a verbal complement Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN cat_N)) (ComplVV want_VV (UseV walk_V)))) LangEng: my cat wants to walk -LangMay: kucing saya mahu jalan +LangMay: kucing aku mahu jalan -- Transitive verbs Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant this_Quant NumSg) (UseN book_N))))) LangEng: I read this book -LangMay: saya membaca buku ini +LangMay: aku membaca buku ini -- As a verbal complement Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV want_VV (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant this_Quant NumSg) (UseN book_N)))))) LangEng: I want to read this book -LangMay: saya mahu baca buku ini +LangMay: aku mahu baca buku ini -- How about words like mengajar and belajar? Is the prefix more important here? Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplSlash (SlashV2a learn_V2) (MassNP (UseN science_N))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN school_N)))))) LangEng: I learn science in the school -LangMay: saya belajar sains di sekolah +LangMay: aku belajar sains di sekolah Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplSlash (SlashV2a teach_V2) (MassNP (UseN science_N))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN school_N)))))) LangEng: I teach science in the school -LangMay: saya mengajar sains di sekolah +LangMay: aku mengajar sains di sekolah -- The way the grammar is currently defined, we'd get the same output for both "I want to learn/study science". Is this correct, or should one or both of the verbs keep the ber/meng prefix in this context? Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplVV want_VV (ComplSlash (SlashV2a teach_V2) (MassNP (UseN science_N)))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN school_N)))))) LangEng: I want to teach science in the school -LangMay: saya mahu ajar sains di sekolah +LangMay: aku mahu ajar sains di sekolah Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplVV want_VV (ComplSlash (SlashV2a learn_V2) (MassNP (UseN science_N)))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN school_N)))))) LangEng: I want to learn science in the school -LangMay: saya mahu belajar sains di sekolah +LangMay: aku mahu belajar sains di sekolah -- How about interaction with passive? These sentences are very artificial, but imagine they made sense: Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant this_Quant NumSg) (UseN book_N)) (AdvVP (PassV2 learn_V2) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN school_N))))))) NoVoc @@ -67,7 +67,7 @@ LangMay: kucing yang jalan -- In a context Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a buy_V2) (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseV walk_V)))))))) LangEng: I buy a cat that walks -LangMay: saya membeli kucing yang jalan +LangMay: aku membeli kucing yang jalan -- Transitive verbs @@ -84,11 +84,11 @@ LangMay: susu yang kucing minum -- Both in context Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a buy_V2) (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN cat_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a drink_V2) (MassNP (UseN milk_N)))))))))) LangEng: I buy a cat that drinks milk -LangMay: saya membeli kucing yang minum susu +LangMay: aku membeli kucing yang minum susu Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a buy_V2) (MassNP (RelCN (UseN milk_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant IndefArt NumSg) (UseN cat_N)) (SlashV2a drink_V2))))))))) LangEng: I buy milk that a cat drinks -LangMay: saya membeli susu yang kucing minum +LangMay: aku membeli susu yang kucing minum ---------------------------------------- @@ -102,7 +102,7 @@ LangMay: hujan sekarang -- In a context Lang: UttS (AdvS (SubjS if_Subj (UseCl (TTAnt TPast ASimul) PNeg (ImpersCl (UseV rain_V0)))) (ExtAdvS now_Adv (UseCl (TTAnt TCond ASimul) PPos (PredVP (UsePron i_Pron) (UseV walk_V))))) LangEng: if it didn't rain now , I would walk -LangMay: sekiranya tidak hujan sekarang , saya akan berjalan +LangMay: sekiranya tidak hujan sekarang , aku akan berjalan ---------------------------------------- -- Imperative