diff --git a/src/somali/ParamSom.gf b/src/somali/ParamSom.gf index 698590ad..2cd9a8bb 100644 --- a/src/somali/ParamSom.gf +++ b/src/somali/ParamSom.gf @@ -197,6 +197,10 @@ param | Passive ; -- Hack: RGL only supports V2s as passive, so I can reuse V2's preposition slot for passives as well, and save >200 parameters. (Don't ask.) PrepCombination = Ugu | Uga | Ula | Kaga | Kula | Kala + | Lagu -- laygu, lagugu, nalagu, laydinku + | Laga -- layga, lagaa, nalaga, laydinka + -- | TODO rest of combinations with impersonal-la + -- | TODO incorporate reflexive too | Single PrepositionPlus ; oper @@ -204,7 +208,9 @@ oper let oneWay : PrepositionPlus => Preposition => PrepCombination = \\x,y => case of { => Single Passive ; - => Single (P p) ; -- FIXME p "waa lagu arkay" gives infinitely many trees now, because the passive is ignored here. Is there a combination for passive + personal pronoun + preposition? + => Lagu ; + => Laga ; + => Single (P p) ; -- TODO rest of combinations

=> case of { => Ugu ; => Uga ; diff --git a/src/somali/ResSom.gf b/src/somali/ResSom.gf index ffb27a51..6bc48481 100644 --- a/src/somali/ResSom.gf +++ b/src/somali/ResSom.gf @@ -351,33 +351,40 @@ oper Sg1_Prep => table { Ugu => "iigu" ; Uga => "iiga" ; Ula => "iila" ; Kaga => "igaga" ; Kula => "igula" ; Kala => "igala" ; + Lagu => "laygu" ; Laga => "layga" ; Single p => (prepTable ! p).s ! Sg1_Prep } ; Sg2_Prep => table { Ugu => "kuugu" ; Uga => "kaaga" ; Ula => "kuula" ; Kaga => "kaaga" ; Kula => "kugula" ; Kala => "kaala" ; + Lagu => "lagugu" ; Laga => "lagaa" ; Single p => (prepTable ! p).s ! Sg2_Prep } ; Pl1_Prep Excl => table { Ugu => "noogu" ; Uga => "nooga" ; Ula => "noola" ; Kaga => "nagaga" ; Kula => "nagula" ; Kala => "nagala" ; + Lagu => "nalagu" ; Laga => "nalaga" ; Single p => (prepTable ! p).s ! Pl1_Prep Excl } ; Pl1_Prep Incl => table { Ugu => "inoogu" ; Uga => "inooga" ; Ula => "inoola" ; Kaga => "inagaga" ; Kula => "inagula" ; Kala => "inagala" ; + Lagu => "inalagu" ; Laga => "inalaga" ; Single p => (prepTable ! p).s ! Pl1_Prep Incl } ; Pl2_Prep => table { Ugu => "idiinku" ; Uga => "idiinka" ; Ula => "idiinla" ; Kaga => "idinkaga" ; Kula => "idinkula" ; Kala => "idinkala" ; + Lagu => "laydinku" ; Laga => "laydinka" ; Single p => (prepTable ! p).s ! Pl2_Prep } ; Impers_Prep => table { Ugu => "loogu" ; Uga => "looga" ; Ula => "loola" ; Kaga => "lagaga" ; Kula => "lagula" ; Kala => "lagala" ; + Lagu => "lagu" ; Laga => "laga" ; -- TODO check Single p => (prepTable ! p).s ! Impers_Prep } ; a => table { Ugu => "ugu" ; Uga => "uga" ; Ula => "ula" ; Kaga => "kaga" ; Kula => "kula" ; Kala => "kala" ; + Lagu => "lagu" ; Laga => "laga" ; Single p => (prepTable ! p).s ! a } } ;