From 984c8deb34f335d7005e524a775058ababd5f89d Mon Sep 17 00:00:00 2001 From: Meowyam Date: Tue, 21 Dec 2021 18:11:20 +0800 Subject: [PATCH] QuestIAdv --- src/malay/QuestionMay.gf | 24 ++++++++++++--- src/malay/ResMay.gf | 47 +++++++++++++++++++++++++++++ src/malay/StructuralMay.gf | 5 +-- src/malay/unittest/questions.gftest | 12 ++++++++ 4 files changed, 82 insertions(+), 6 deletions(-) diff --git a/src/malay/QuestionMay.gf b/src/malay/QuestionMay.gf index 79f32cfba..8ec8a316e 100644 --- a/src/malay/QuestionMay.gf +++ b/src/malay/QuestionMay.gf @@ -37,6 +37,26 @@ lin subj = "adakah" ++ cl.subj; } ; + -- missing record fields: pred type of vp + + -- : IP -> VP -> QCl ; + -- expected: ParamMay.VForm => ParamX.Polarity => Str + -- inferred: {s : ParamMay.VForm => ParamX.Polarity => Str} + + QuestVP ip cl = cl ** { + pred = \\vf,pol => cl.s ! vf ! pol; + subj = ip.s ! Bare ; + }; + + -- : IAdv -> Cl -> QCl ; -- why does John walk + QuestIAdv iadv cls = { + pred = \\vf,pol => cls.pred ! vf ! pol ++ iadv.s; + subj = cls.subj ; + } ; + + -- { + -- pred = \\vf,pol => ip.s ++ vp.s ! vf ! pol; + -- } ; {- ---- s = \\t,a,p => @@ -56,11 +76,7 @@ lin lin - -- : IP -> VP -> QCl ; - QuestVP ip vp = - -- : IAdv -> Cl -> QCl ; -- why does John walk - QuestIAdv iadv cls = -- : IComp -> NP -> QCl ; -- where is John? diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index 9923b3a8b..0aaff5fb6 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -105,6 +105,15 @@ oper poss = Bare ; } ; + -- \\vf,pol, => + -- let + -- verb : Str = joinVP vp tense ant pol agr ; + -- obj : Str = vp.s2 ! agr ; + -- in case ord of { + -- ODir => subj ++ verb ++ obj ; -- Ġanni jiekol ħut + -- OQuest => verb ++ obj ++ subj -- jiekol ħut Ġanni ? + -- } + mkQuant : Str -> Quant = \str -> baseQuant ** { s = str ; sp = \\_ => str @@ -123,6 +132,12 @@ oper sp = \\_ => standalone ; } ; + + + -- s = \\p,a => vp.topic ++ np ++ vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl ++ compl ; + -- np = vp.topic ++ np ; + -- vp = insertObj (ss compl) vp ; + -------------------------------------------------------------------------------- -- Prepositions @@ -265,6 +280,38 @@ oper predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps -> predVP np ** {c2 = vps.c2} ; + -- mkClause : Str -> NounPhrase -> VPSlash -> Clause = \str,np,vp -> { + -- subj = str ++ np.s ! Bare; + -- pred = vp.s + -- } ; + + + -- mkClause : Str -> IPhrase -> VerbPhrase -> Clause = \str,ip,vp -> { + -- subj = ip.s ! Bare ; + -- pred = vp.s ; + -- } ; + + + -- baseQuant : Quant = { + -- s = [] ; + -- sp = \\_ => [] ; + -- poss = Bare ; + -- } ; + + -- -- \\vf,pol, => + -- -- let + -- -- verb : Str = joinVP vp tense ant pol agr ; + -- -- obj : Str = vp.s2 ! agr ; + -- -- in case ord of { + -- -- ODir => subj ++ verb ++ obj ; -- Ġanni jiekol ħut + -- -- OQuest => verb ++ obj ++ subj -- jiekol ħut Ġanni ? + -- -- } + + -- mkQuant : Str -> Quant = \str -> baseQuant ** { + -- s = str ; + -- sp = \\_ => str + -- } ; + -------------------------------------------------------------------------------- -- linrefs diff --git a/src/malay/StructuralMay.gf b/src/malay/StructuralMay.gf index 5b05f2cac..e0dcc8dc2 100644 --- a/src/malay/StructuralMay.gf +++ b/src/malay/StructuralMay.gf @@ -19,7 +19,9 @@ lin how_IAdv = ss "" : lin how8much_IAdv = ss "" ; lin when_IAdv = ss "" ; -lin where_IAdv = ss "" : +-} +lin where_IAdv = ss "mana" ; +{- lin why_IAdv = ss "" : lin always_AdV = ss "" ; @@ -73,7 +75,6 @@ lin that_Quant = mkQuant "itu" ; lin this_Quant = mkQuant "ini" ; lin which_IQuant = mkQuant "apa" ** {isPre = False} ; - ----- -- NP {- diff --git a/src/malay/unittest/questions.gftest b/src/malay/unittest/questions.gftest index 1a30cb38f..8272195f4 100644 --- a/src/malay/unittest/questions.gftest +++ b/src/malay/unittest/questions.gftest @@ -21,3 +21,15 @@ LangMay: adakah awak 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 + +# Lang: UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (ComplVV want_VV (UseV go_V))) +# LangEng: who wants to go +# LangMay: Siapa mahu pergi + +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 +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