From d5bec3b4598ec4d6ca3e60fec95b66534cda6ddd Mon Sep 17 00:00:00 2001 From: David Bamutura Date: Fri, 17 May 2019 02:11:50 +0200 Subject: [PATCH] =Implemented ComparA AdAP which necesitated the modification of the ADA type. Deleted the CatCggOld.gf --- src/rukiga/AdjectiveCgg.gf | 12 +++++++++++- src/rukiga/CatCgg.gf | 4 ++-- src/rukiga/GrammarCgg.gf | 4 ++-- src/rukiga/StructuralCgg.gf | 27 +++++++++++++++++---------- 4 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/rukiga/AdjectiveCgg.gf b/src/rukiga/AdjectiveCgg.gf index 1bc361612..37574c5e8 100755 --- a/src/rukiga/AdjectiveCgg.gf +++ b/src/rukiga/AdjectiveCgg.gf @@ -13,7 +13,17 @@ lin AdjOrd ord = {s= \\agr => ord.s!agr ; position1= ord.position1; isProper = False; isPrep = False}; -- UseComparA : A -> AP ; -- warmer UseComparA a ={s =\\_ => a.s ++ BIND ++ "ho" ++ "kukira"; position1= a.position1; isProper = a.isProper; isPrep = a.isPrep}; -{- + + -- An adjectival phrase can be modified by an *adadjective*, such as "very". + {-NOTE: AdA is an adjective modifying adverb-} + --AdAP : AdA -> AP -> AP ; -- very warm + + AdAP ada ap = case ada.position1 of { + Post => {s = \\agr => ap.s ! agr ++ ada.s; position1= ap.position1; isProper = ap.isProper; isPrep = ap.isPrep}; + Pre => {s = \\agr => ada.s ++ ap.s!agr ; position1= ap.position1; isProper = ap.isProper; isPrep = ap.isPrep} + }; + +{- abstract Adjective = Cat ** { fun diff --git a/src/rukiga/CatCgg.gf b/src/rukiga/CatCgg.gf index 6aa10c53d..e5c4e7225 100755 --- a/src/rukiga/CatCgg.gf +++ b/src/rukiga/CatCgg.gf @@ -1,6 +1,6 @@ --# -path=.:../prelude:../abstract:../common -concrete CatCgg of Cat = CommonX -[Adv,IAdv]** +concrete CatCgg of Cat = CommonX -[Adv,IAdv, AdA]** open (Res=ResCgg), Prelude, (Px=ParamX), Predef in { lincat @@ -71,7 +71,7 @@ lincat Prep = Res.Preposition; -- preposition, or just case e.g. "in" N3 = N2 ** {c3 : Res.Agreement =>Str}; VV = Res.Verb ** {inf:Str; whenUsed: Res.VVMood}; --inf is the other verb - + AdA = {s:Str; position1:Res.Position1}; linref Cl =\cl -> cl.s ++ Res.mkSubjClitic cl.subjAgr ++ cl.root ++ BIND ++ cl.pres; QCl =\qcl -> qcl.s ++ qcl.posibleSubAgr ! (Res.mkAgreement Res.MU_BA Res.P3 Res.Sg) ++ qcl.root ++ BIND ++ qcl.pres; diff --git a/src/rukiga/GrammarCgg.gf b/src/rukiga/GrammarCgg.gf index 538458ba4..a79af59b2 100755 --- a/src/rukiga/GrammarCgg.gf +++ b/src/rukiga/GrammarCgg.gf @@ -11,10 +11,10 @@ concrete GrammarCgg of Grammar = RelativeCgg, ConjunctionCgg, PhraseCgg, - TextX -[Adv, IAdv], + TextX -[Adv, IAdv,AdA], StructuralCgg, IdiomCgg, - TenseX -[Adv,IAdv] + TenseX -[Adv,IAdv,AdA] ** { flags startcat = Phr ; unlexer = text ; lexer = text ; diff --git a/src/rukiga/StructuralCgg.gf b/src/rukiga/StructuralCgg.gf index 5c543b8db..770dc23e5 100755 --- a/src/rukiga/StructuralCgg.gf +++ b/src/rukiga/StructuralCgg.gf @@ -200,17 +200,24 @@ lin doesAgree = True };--: Det ; - want_VV = {s = "yend"; pres="da"; perf = "zire"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth}; - can8know_VV = {s = "baas"; pres="a"; perf = "ize"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) - can_VV = {s = "baas"; pres="a"; perf = "ize"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (possibility) - -- must_VV used especially in the perfective mood: see dictionary entry shemerera on Pg 501 of Mpairwe - -- must has no passive form - must_VV = {s = "shemere"; pres="ra"; perf = "ire"; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV - --somebody_NP = {}; --: NP ; - --something_NP : NP ; - --somewhere_Adv : Adv ; + want_VV = {s = "yend"; pres="da"; perf = "zire"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth}; + can8know_VV = {s = "baas"; pres="a"; perf = "ize"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) + can_VV = {s = "baas"; pres="a"; perf = "ize"; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (possibility) + -- must_VV used especially in the perfective mood: see dictionary entry shemerera on Pg 501 of Mpairwe + -- must has no passive form + must_VV = {s = "shemere"; pres="ra"; perf = "ire"; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV + --somebody_NP = {}; --: NP ; + --something_NP : NP ; + --somewhere_Adv : Adv ; -that_Subj = ss "that" ; + that_Subj = ss "ngu" ; + + --Adjective modifying Adverbs + almost_AdA = {s="haihi"; position1=Pre}; --: AdA ; + --quite_Adv ss "kimwe"; --: AdA ; used in the pr + so_AdA = {s="munônga"; position1=Post};--: AdA ; + too_AdA = {s="munônga"; position1=Post}; --: AdA ; + very_AdA = {s="munônga"; position1=Post}; --: AdA ; {- --1 Structural: Structural Words --