From 342ddf6f4b1c8dcbaf906a1e55891446478535aa Mon Sep 17 00:00:00 2001 From: benson kituku <31066831+kitukb@users.noreply.github.com> Date: Wed, 28 Nov 2018 18:54:17 +0300 Subject: [PATCH] new gender --- src/bantu/AdjectiveBantu.gf | 2 +- src/bantu/AdverbBantu.gf | 5 ++--- src/bantu/CommonBantu.gf | 2 +- src/bantu/DiffBantu.gf | 12 +++++------- src/bantu/NounBantu.gf | 13 ++++++------- src/bantu/ResBantu.gf | 3 +-- 6 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/bantu/AdjectiveBantu.gf b/src/bantu/AdjectiveBantu.gf index 6b3ca455b..05c8917e4 100644 --- a/src/bantu/AdjectiveBantu.gf +++ b/src/bantu/AdjectiveBantu.gf @@ -21,7 +21,7 @@ incomplete concrete AdjectiveBantu of Adjective = } ; ComplA2 a np = { - s = \\g,n => a.s !AComp g n ++ a.c2 ++ np.s ! NPAcc; + s = \\g,n => a.s !AComp g n ++ a.c2 ++ np.s ! NCase Nom; isPre = False } ; ReflA2 a ={ diff --git a/src/bantu/AdverbBantu.gf b/src/bantu/AdverbBantu.gf index 2589c0fa0..37d7e55f8 100644 --- a/src/bantu/AdverbBantu.gf +++ b/src/bantu/AdverbBantu.gf @@ -13,9 +13,8 @@ incomplete concrete AdverbBantu of Adverb = } ; PrepNP prep np = let agr = complAgr np.a - in {s = prep.s!agr.n!agr.g ++ (np.s ! NPAcc) } ; --s = preOrPost prep.isPre prep.s (np.s ! NPAcc) - - AdAdv = cc2 ; + in {s = prep.s!agr.n!agr.g ++ (np.s ! NCase Loc ) } ; + AdAdv = cc2 ; PositAdAAdj a = {s = a.s !AAdj G1 Sg } ; diff --git a/src/bantu/CommonBantu.gf b/src/bantu/CommonBantu.gf index e2e5007fb..e96007644 100644 --- a/src/bantu/CommonBantu.gf +++ b/src/bantu/CommonBantu.gf @@ -12,7 +12,7 @@ resource CommonBantu = ParamX ** open Prelude in { param Case = Nom | Loc ; - NPCase = NCase Case | NPAcc | NPNomPoss ; + NPCase = NCase Case | NPoss ; CardOrd = NCard | NOrd ; oper diff --git a/src/bantu/DiffBantu.gf b/src/bantu/DiffBantu.gf index 2ec12d696..f285f9878 100644 --- a/src/bantu/DiffBantu.gf +++ b/src/bantu/DiffBantu.gf @@ -3,11 +3,10 @@ interface DiffBantu = open CommonBantu, Prelude in { flags coding=utf8 ; --- HL: everything depending on Gender is not common, so it must not --- be in CommonBantu, but here in DiffBantu. + oper Gender : PType ; - firstGender : Gender ; -- G1 + firstGender : Gender ; secondGender : Gender ; -- G2 Noun : Type = {s : Number => Case => Str ; g : Gender}; @@ -38,7 +37,7 @@ oper } ; verbAgr : Agr -> {g : Gender ; n : Number ; p : Person} = \a -> case a of { Ag g n p => {g = g ; n = n ; p = p} - } ; -- verbAgr = agrFeatures, why both? HL + } ; -- detAgr : Agr -> {g : Gender ; p : Person} = \a -> case a of { Ag g _ p => {g = g; p = p} @@ -70,7 +69,6 @@ param PronForm= Pers | Poss Number Gender; DetForm = Sub | Obj Gender ; --- HL: the above is material removed from CommonBantu and adapted -- oper conjThan : Str ; --one of them in bantu @@ -84,8 +82,8 @@ param DForm ; AForm; oper - ProunSgprefix : Gender -> Str ; -- added, HL - ProunPlprefix : Gender -> Str ; -- added, HL + ProunSgprefix : Gender -> Str ; + ProunPlprefix : Gender -> Str ; Cardoneprefix : Gender -> Str; Cardtwoprefix : Gender -> Str; Allpredetprefix : Gender -> Str; diff --git a/src/bantu/NounBantu.gf b/src/bantu/NounBantu.gf index ccca45585..6b1ec65c8 100644 --- a/src/bantu/NounBantu.gf +++ b/src/bantu/NounBantu.gf @@ -23,8 +23,7 @@ lin n=agr.n; g=agr.g in {s = table { NCase c => pron.s!Pers ; - NPAcc => pron.s!Pers ; - NPNomPoss => pron.s!Poss n g }; + NPoss => pron.s!Poss n g }; a = Ag agr.g agr.n agr.p; } ; -- Predet -> NP -> NP @@ -141,11 +140,11 @@ lin -- PossNP : CN -> NP -> CN -- e.g. 'house of Paris', 'house of mine' PossNP cn np =let agr = detAgr np.a in - {s = \\n,c => cn.s ! n ! Nom ++ possess_Prep.s! n!cn.g ++ np.s ! NPNomPoss; + {s = \\n,c => cn.s ! n ! Nom ++ possess_Prep.s! n!cn.g ++ np.s ! NPoss; s2 =\\n => []; g = cn.g} ; -- PartNP : CN -> NP -> CN -- e.g. 'glass of wine' - PartNP cn np = {s = \\n,c => cn.s ! n ! Nom ++ part_Prep.s! n!cn.g ++ np.s ! NPAcc ; s2 =\\n => []; g = cn.g} ; + PartNP cn np = {s = \\n,c => cn.s ! n ! Nom ++ part_Prep.s! n!cn.g ++ np.s ! NCase Nom ; s2 =\\n => []; g = cn.g} ; -- CountNP : Det -> NP -> NP -- e.g. 'three of them', 'some of the boys' @@ -162,8 +161,8 @@ lin DetDAP d = { s=d.s; n=d.n }; - ApposCN cn np = let agr = complAgr np.a in - {s = \\n,c => np.s ! NCase Nom --++ possess_Prep.s!n!agr.g - ++ cn.s !n ! Nom ; s2 =\\n => ""; g = cn.g} ; + -- ApposCN cn np = let agr = complAgr np.a in + -- {s = \\n,c => np.s ! NCase Nom --++ possess_Prep.s!n!agr.g + -- ++ cn.s !n ! Nom ; s2 =\\n => ""; g = cn.g} ; } diff --git a/src/bantu/ResBantu.gf b/src/bantu/ResBantu.gf index b05f0ee29..ee0710a0a 100644 --- a/src/bantu/ResBantu.gf +++ b/src/bantu/ResBantu.gf @@ -18,8 +18,7 @@ oper {s : NPCase => Str ; a : Agr} = \i,my,g,n,p -> { s = table { NCase Nom => i ; - NPAcc => my ; - NCase Loc | NPNomPoss => my -- works for normal genitives, "whose", etc. + NCase Loc | NPoss => my -- works for normal genitives, "whose", etc. } ; a = Ag g n p ; };