diff --git a/src/malay/CatMay.gf b/src/malay/CatMay.gf index 4496f52bb..3970520c2 100644 --- a/src/malay/CatMay.gf +++ b/src/malay/CatMay.gf @@ -1,4 +1,4 @@ -concrete CatMay of Cat = CommonX ** open ResMay, Prelude in { +concrete CatMay of Cat = CommonX - [IAdv] ** open ResMay, Prelude in { flags optimize=all_subs ; @@ -27,6 +27,7 @@ concrete CatMay of Cat = CommonX ** open ResMay, Prelude in { IDet = ResMay.Determiner ; -- interrogative determiner e.g. "how many" IQuant = ResMay.IQuant ; -- interrogative quantifier e.g. "which" IP = ResMay.IPhrase ; -- interrogative pronoun e.g. "who" + IAdv = ResMay.IAdv ; --2 Subord clauses and pronouns diff --git a/src/malay/GrammarMay.gf b/src/malay/GrammarMay.gf index 024f69534..9c643f4b2 100644 --- a/src/malay/GrammarMay.gf +++ b/src/malay/GrammarMay.gf @@ -9,10 +9,10 @@ concrete GrammarMay of Grammar = RelativeMay, ConjunctionMay, PhraseMay, - TextX, + TextX - [IAdv], StructuralMay, IdiomMay, - TenseX - [AAnter, TFut, TCond] + TenseX - [AAnter, TFut, TCond, IAdv] ** open ParamX in { flags startcat = Phr ; diff --git a/src/malay/QuestionMay.gf b/src/malay/QuestionMay.gf index 880dec222..f6f545fb3 100644 --- a/src/malay/QuestionMay.gf +++ b/src/malay/QuestionMay.gf @@ -50,10 +50,16 @@ lin -- : IAdv -> Cl -> QCl ; -- why does John walk QuestIAdv iadv cls = { - pred = \\vf,pol => cls.pred ! Root ! pol ++ iadv.s; - subj = cls.subj ; + subj = case iadv.isPre of { + True => iadv.s ++ cls.subj ; False => cls.subj + } ; + pred = \\vf,pol => case iadv.isPre of { + True => cls.pred ! Root ! pol ; + False => cls.pred ! Root ! pol ++ iadv.s + } ; } ; +-- \\vf,pol,posadv => -- { -- pred = \\vf,pol => ip.s ++ vp.s ! vf ! pol; -- } ; diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index ed4b6c06d..30fed90f7 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -222,7 +222,13 @@ oper ------------------ -- Adv - Adverb : Type = SS ; + Adverb : Type = { + s : Str; + } ; + + IAdv : Type = Adverb ** { + isPre : Bool ; + } ; ------------------ -- VP diff --git a/src/malay/StructuralMay.gf b/src/malay/StructuralMay.gf index e0dcc8dc2..057909bf4 100644 --- a/src/malay/StructuralMay.gf +++ b/src/malay/StructuralMay.gf @@ -20,9 +20,10 @@ lin how_IAdv = ss "" : lin how8much_IAdv = ss "" ; lin when_IAdv = ss "" ; -} -lin where_IAdv = ss "mana" ; +lin where_IAdv = { s = "mana"; isPre = False } ; +lin why_IAdv = {s = "mengapa"; isPre = True } ; {- -lin why_IAdv = ss "" : + lin always_AdV = ss "" ; diff --git a/src/malay/unittest/questions.gftest b/src/malay/unittest/questions.gftest index 8272195f4..f80996b40 100644 --- a/src/malay/unittest/questions.gftest +++ b/src/malay/unittest/questions.gftest @@ -32,4 +32,8 @@ LangMay: kucing apa 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 \ No newline at end of file +LangMay: awak 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 \ No newline at end of file