diff --git a/src/bantu/AdjectiveBantu.gf b/src/bantu/AdjectiveBantu.gf index 6b3ca455b..cbc99cfda 100644 --- a/src/bantu/AdjectiveBantu.gf +++ b/src/bantu/AdjectiveBantu.gf @@ -21,7 +21,9 @@ 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..21d95a7ed 100644 --- a/src/bantu/AdverbBantu.gf +++ b/src/bantu/AdverbBantu.gf @@ -13,9 +13,10 @@ 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..3f6fcfe44 100644 --- a/src/bantu/CommonBantu.gf +++ b/src/bantu/CommonBantu.gf @@ -12,7 +12,9 @@ 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..03468dec9 100644 --- a/src/bantu/DiffBantu.gf +++ b/src/bantu/DiffBantu.gf @@ -3,12 +3,12 @@ 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 - secondGender : Gender ; -- G2 + firstGender : Gender ; + secondGender : Gender ; -- G2 Noun : Type = {s : Number => Case => Str ; g : Gender}; CNoun : Type = {s : Number => Case => Str ; g : Gender; s2 : Number => Str}; @@ -38,7 +38,9 @@ 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 +72,7 @@ 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 +86,10 @@ 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..847d35984 100644 --- a/src/bantu/NounBantu.gf +++ b/src/bantu/NounBantu.gf @@ -23,8 +23,9 @@ 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 +142,13 @@ 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 +165,10 @@ 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..b77a6132a 100644 --- a/src/bantu/ResBantu.gf +++ b/src/bantu/ResBantu.gf @@ -18,8 +18,9 @@ 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 ; };