From f7e91e06c16a557d4abf3a377b7932970a0decae Mon Sep 17 00:00:00 2001 From: "john.j.camilleri" Date: Tue, 3 Dec 2013 08:19:38 +0000 Subject: [PATCH] Maltese RG: Fix apposition. Add ExtAdvNP & ExtAdvVP. Fix adjective order. --- lib/src/maltese/AdjectiveMlt.gf | 2 +- lib/src/maltese/IdiomMlt.gf | 3 ++- lib/src/maltese/NounMlt.gf | 8 ++++++-- lib/src/maltese/VerbMlt.gf | 4 ++++ 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/src/maltese/AdjectiveMlt.gf b/lib/src/maltese/AdjectiveMlt.gf index a7cec5ef1..9379151f3 100644 --- a/lib/src/maltese/AdjectiveMlt.gf +++ b/lib/src/maltese/AdjectiveMlt.gf @@ -13,7 +13,7 @@ concrete AdjectiveMlt of Adjective = CatMlt ** open ResMlt, Prelude in { -- warm PositA a = { s = \\gn => a.s ! (APosit gn) ; - isPre = True + isPre = False } ; -- A -> NP -> AP diff --git a/lib/src/maltese/IdiomMlt.gf b/lib/src/maltese/IdiomMlt.gf index 951f743fb..2d0e16591 100644 --- a/lib/src/maltese/IdiomMlt.gf +++ b/lib/src/maltese/IdiomMlt.gf @@ -16,7 +16,8 @@ concrete IdiomMlt of Idiom = CatMlt ** open Prelude, ResMlt in { -- VP -> Cl -- one sleeps - GenericCl vp = mkClause "wieħed" (agrP3 Sg Masc) vp ; + -- GenericCl vp = mkClause "wieħed" (agrP3 Sg Masc) vp ; + GenericCl vp = mkClause "dak li jkun" (agrP3 Sg Masc) vp ; -- NP -> RS -> Cl -- it is I who did it diff --git a/lib/src/maltese/NounMlt.gf b/lib/src/maltese/NounMlt.gf index 98567e269..8498b2c2f 100644 --- a/lib/src/maltese/NounMlt.gf +++ b/lib/src/maltese/NounMlt.gf @@ -174,6 +174,10 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in { -- Paris today AdvNP np adv = overwriteNPs np (\\c => np.s ! c ++ adv.s) ; + -- NP -> Adv -> NP + -- boys, such as .. + ExtAdvNP np adv = overwriteNPs np (\\c => np.s ! c ++ "," ++ adv.s ++ ",") ; + -- Num NumSg = {s = \\c => []; n = NumX Sg ; hasCard = False} ; NumPl = {s = \\c => []; n = NumX Pl ; hasCard = False} ; @@ -275,8 +279,8 @@ concrete NounMlt of Noun = CatMlt ** open ResMlt, Prelude in { SentCN cn sc = overwriteCNs cn (\\num => cn.s ! num ++ sc.s) ; -- CN -> NP -> CN - -- Appossition: city Paris - ApposCN cn np = overwriteCNs cn (\\num => cn.s ! num ++ np.s ! NPNom) ; -- known to be overgenerating + -- Apposition: city Paris + ApposCN cn np = overwriteCNs cn (\\num => cn.s ! num ++ prepNP prep_ta np) ; -- CN -> NP -> CN -- Possessive: house of mine diff --git a/lib/src/maltese/VerbMlt.gf b/lib/src/maltese/VerbMlt.gf index 8ff970e35..609bb244f 100644 --- a/lib/src/maltese/VerbMlt.gf +++ b/lib/src/maltese/VerbMlt.gf @@ -115,6 +115,10 @@ concrete VerbMlt of Verb = CatMlt ** open Prelude, ResMlt in { False => insertObj (\\_ => adv.s) vp } ; + -- VP -> Adv -> VP + -- sleep , even though ... + ExtAdvVP vp adv = insertObj (\\_ => "," ++ adv.s ++ ",") vp ; + -- AdV -> VP -> VP -- always sleep AdVVP adv vp = insertAdV adv.s vp ;