From 5dc5433068cf6d31a5f844cea058960269f41019 Mon Sep 17 00:00:00 2001 From: David Bamutura Date: Mon, 12 Oct 2020 23:18:27 +0300 Subject: [PATCH] Made sutitable changes that were wanrranted due to changes in linearization types for Verbs to include information about particles and checks on source of complements i.e. Verb : Type = { s : Str; pres:Str; perf:Str; --morphs: VFormMini => VerbMorphPos=> Str; isPresBlank : Bool; isPerfBlank : Bool; isRegular: Bool }; changed to: Verb : Type = { s : Str; pres:Str; perf:Str; --morphs: VFormMini => VerbMorphPos=> Str; isPresBlank : Bool; isPerfBlank : Bool; isRegular: Bool; p : Str; -- some verbs have particles such as prepositions and adverbial that give the verb a meaning different from what would be automatically deduced isRefl : Bool }; --- src/rukiga/LexiconCgg.gf | 4 ++-- src/rukiga/NounCgg.gf | 6 +++--- src/rukiga/NumeralCgg.gf | 2 +- src/rukiga/ResCgg.gf | 4 ++-- src/rukiga/StructuralCgg.gf | 13 ++++++++----- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/rukiga/LexiconCgg.gf b/src/rukiga/LexiconCgg.gf index f7ecb8d7..3be1b463 100755 --- a/src/rukiga/LexiconCgg.gf +++ b/src/rukiga/LexiconCgg.gf @@ -172,11 +172,11 @@ lin surface realisation comes from verb tense e.g nagyenzire implies I have alredy gone. -} already_Adv = mkAdv "" AgrNo; -- Already is realized as a verb form - answer_V2S = mkV2S (mkV "garu" "kamu" "kiremu") noPrep; + --answer_V2S = mkV2S (mkV "garu" "kamu" "kiremu") noPrep; apartment_N = mkN "apatimenti" "apatimenti" N_N; art_N = mkN "aati" "aati" N_N; ashes_N = mkN "eiju" "eiju" N_N; - ask_V2Q = mkV2Q (mkV2 "bunza" "za" "rize") noPrep; + --ask_V2Q = mkV2Q (mkV2 "bunza" "za" "rize") noPrep; back_N = mkN "omugongo" MU_MI; bank_N = mkN "banka" "banka" N_N; bark_N = mkN "ask for the Rukiga equivalent of bark" N_N; --TODO find actual word diff --git a/src/rukiga/NounCgg.gf b/src/rukiga/NounCgg.gf index 9d9eb41f..41aa22b8 100755 --- a/src/rukiga/NounCgg.gf +++ b/src/rukiga/NounCgg.gf @@ -39,7 +39,7 @@ lin }; True => { s = \\ num, ns => (cn.s ! num ! ns) ++ - mkGenPrepNoIVClitic (AgP3 num cn.gender) ++ ap.s ! AgP3 Sg KI_BI; + mkGenPrepNoIV (AgP3 num cn.gender) ++ ap.s ! AgP3 Sg KI_BI; gender = cn.gender; nounCat = cn.nounCat } }; @@ -210,9 +210,9 @@ SentCN cn sc = {s = \\ n, ns => cn.s!n!ns ++ sc.s; gender = cn.gender; nounCat -- (New 13/3/2013 AR; Structural.possess_Prep and part_Prep should be deprecated in favour of these.) --PossNP : CN -> NP -> CN ; -- house of Paris, house of mine - PossNP cn np ={s =\\n,ns => cn.s! n ! ns ++ mkGenPrepNoIVClitic np.agr ++ np.s ! Nom; gender = cn.gender; nounCat = cn.nounCat}; + PossNP cn np ={s =\\n,ns => cn.s! n ! ns ++ mkGenPrepNoIV np.agr ++ np.s ! Nom; gender = cn.gender; nounCat = cn.nounCat}; --PartNP : CN -> NP -> CN ; -- glass of wine - PartNP cn np ={s =\\n,ns => cn.s! n ! ns ++ mkGenPrepNoIVClitic np.agr ++ np.s ! Nom; gender = cn.gender; nounCat = cn.nounCat}; + PartNP cn np ={s =\\n,ns => cn.s! n ! ns ++ mkGenPrepNoIV np.agr ++ np.s ! Nom; gender = cn.gender; nounCat = cn.nounCat}; {- --1 Noun: Nouns, noun phrases, and determiners diff --git a/src/rukiga/NumeralCgg.gf b/src/rukiga/NumeralCgg.gf index 87168fd8..1af17162 100755 --- a/src/rukiga/NumeralCgg.gf +++ b/src/rukiga/NumeralCgg.gf @@ -125,7 +125,7 @@ lin pot3plus n m = let n : Number } ; - mkOrdinal : Str -> Agreement => Str =\c -> \\agr => mkGenPrepWithIVClitic ! agr ++ c; + mkOrdinal : Str -> Agreement => Str =\c -> \\agr => mkGenPrepWithIV ! agr ++ c; {- --1 Numerals diff --git a/src/rukiga/ResCgg.gf b/src/rukiga/ResCgg.gf index 6efcffbe..43739fbc 100755 --- a/src/rukiga/ResCgg.gf +++ b/src/rukiga/ResCgg.gf @@ -963,7 +963,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of { AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "za" ; AgP3 Sg GU_GA => "gwa" ; AgP3 Pl GU_GA => "ga" ; - _ => Predef.error "Error mkGenPrepNoIV" -- error checking for any case not catered for + _ => "Error mkGenPrepNoIV" -- error checking for any case not catered for }; @@ -996,7 +996,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of { AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "eza" ; AgP3 Sg GU_GA => "ogwa" ; AgP3 Pl GU_GA => "aga" ; - _ => Predef.error "Error in mkGenPrepWithIVClitic : no pattern matched" -- error checking for any case not catered for + _ => "Error in mkGenPrepWithIVClitic : no pattern matched" -- error checking for any case not catered for }; diff --git a/src/rukiga/StructuralCgg.gf b/src/rukiga/StructuralCgg.gf index f2e092a5..df82f809 100755 --- a/src/rukiga/StructuralCgg.gf +++ b/src/rukiga/StructuralCgg.gf @@ -99,7 +99,10 @@ lin }; have_V2 ={s= "in"; pres="e"; perf ="e"; isPresBlank = False; - isPerfBlank = False; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ; + isPerfBlank = False; + p = []; isRefl = False; + morphs = mkVerbMorphs; comp = []; isCompN2 = False; + isRegular=False}; --: V2 ; {- All Predeterminers are given here. @@ -210,15 +213,15 @@ lin };--: Det ; want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False; - isPerfBlank = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth}; + isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth}; can8know_VV = {s = "baas"; pres="a"; perf = "ize"; isPresBlank = False; - isPerfBlank = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) + isPerfBlank = False; isRegular = True; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (capacity) can_VV = {s = "baas"; pres="a"; perf = "ize"; isPresBlank = False; - isPerfBlank = False; morphs=mkVerbMorphs; isRegular=True; inf=[]; whenUsed = VVBoth};--: VV ; -- can (possibility) + isPerfBlank = False; isRegular = True; p = []; isRefl = False; 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"; isPresBlank = False; - isPerfBlank = False; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV + isPerfBlank = False; isRegular = False; p = []; isRefl = False; morphs=mkVerbMorphs; isRegular=False; inf=[]; whenUsed = VVPerf}; --VV --somebody_NP = {}; --: NP ; --something_NP : NP ; --somewhere_Adv : Adv ;