diff --git a/src/somali/LexiconSom.gf b/src/somali/LexiconSom.gf index 8e3bf3439..585b1fcc3 100644 --- a/src/somali/LexiconSom.gf +++ b/src/somali/LexiconSom.gf @@ -253,7 +253,7 @@ lin name_N = mkN "magac" ; -- lin oil_N = mkN "" ; -- lin old_A = mkA "" ; -- lin open_V2 = mkV2 "" ; -lin paint_V2A = mkV2 "rinjiyee" ; +lin paint_V2A = mkV2A "rinjiyee" ; -- lin paper_N = mkN "" ; -- lin paris_PN = mkPN "Paris" ; -- lin peace_N = mkN "" ; diff --git a/src/somali/ParadigmsSom.gf b/src/somali/ParadigmsSom.gf index 68ae50476..075709608 100644 --- a/src/somali/ParadigmsSom.gf +++ b/src/somali/ParadigmsSom.gf @@ -32,7 +32,6 @@ oper u : Preposition ; noPrep : Preposition ; - -- TODO: add subjunctive too! VVForm : Type ; -- Argument to give to mkVV infinitive : VVForm ; -- Takes its complement in infinitive subjunctive : VVForm ; -- Takes its complement as a clause in subjunctive @@ -46,7 +45,6 @@ oper mkN : (shimbir : Str) -> (fem : Gender) -> N ; -- Unpredictable gender -- mkN : (nin, niman : Str) -> N ; -- Monosyllable word with unpredictable plural mkN : (maalin,maalmo : Str) -> Gender -> N ; -- Consonant cluster in stem - --mkN : N -> Gender -> N ; -- Otherwise predictable but not gender (TODO does this even happen?) } ; mkN2 : overload { @@ -94,21 +92,25 @@ oper mkVV : overload { mkVV : (kar : Str) -> VV ; -- VV that takes its complement in infinitive. mkVV : (rab : Str) -> VVForm -> VV ; -- Specify complement type: infinitive or subjunctive. - mkVV : V -> VVForm -> VV ; -- VV out of an existing V + mkVV : V -> VVForm -> VV ; -- VV out of an existing V } ; - -- TODO: actual constructors - -- mkVA : Str -> VA = \s -> lin VA (mkVerb s) ; - -- - -- mkV2A : Str -> V2A = \s -> lin V2A (mkVerb s) ; - -- mkVQ : Str -> VQ = \s -> lin VQ (mkVerb s) ; - -- mkVS : Str -> VS = \s -> lin VS (mkVerb s) ; - -- - -- mkV2V : Str -> V2V = \s -> lin V2V (mkVerb s) ; - -- mkV2S : Str -> V2S = \s -> lin V2S (mkVerb s) ; - -- mkV2Q : Str -> V2Q = \s -> lin V2Q (mkVerb s) ; - -- mkV3 : Str -> V3 = \s -> lin V3 (mkVerb s) ; + mkVA : Str -> VA + = \s -> lin VA (regV s) ; + mkVQ : Str -> VQ + = \s -> lin VQ (regV s) ; + mkVS : Str -> VS + = \s -> lin VS (regV s) ; + + mkV2A : Str -> V2A + = \s -> lin V2A (regV s ** {c2 = noPrep}) ; + mkV2V : Str -> V2V + = \s -> lin V2V (regV s ** {c2 = noPrep}) ; + mkV2S : Str -> V2S + = \s -> lin V2S (regV s ** {c2 = noPrep}) ; + mkV2Q : Str -> V2Q + = \s -> lin V2Q (regV s ** {c2 = noPrep}) ; ----- diff --git a/src/somali/ParamSom.gf b/src/somali/ParamSom.gf index a0807732f..692f758eb 100644 --- a/src/somali/ParamSom.gf +++ b/src/somali/ParamSom.gf @@ -192,7 +192,7 @@ oper case n.gda of {FM _ _ => Fem ; _ => Masc} ; gennum : {gda : GenderDefArt} -> Number -> GenNum = \gda,n -> - case n of {Pl => PlInv ; Sg => + case n of {Pl => PlInv ; Sg => case gda.gda of {FM _ _ => SgFem ; _ => SgMasc} } ; @@ -223,7 +223,7 @@ param Preposition = U | Ku | Ka | La | NoPrep ; PrepCombination = Ugu | Uga | Ula | Kaga | Kula | Kala - | Passive | Lagu | Laga | Loo | Lala -- TODO all combinations with impersonal la + | Passive | Loo | Lagu | Laga | Lala -- TODO all combinations with impersonal la: Loogu, Looga, Loola, Lagaga, Lagula, Lagala | Single Preposition ; oper diff --git a/src/somali/ResSom.gf b/src/somali/ResSom.gf index c564ddc93..bb07ed0d7 100644 --- a/src/somali/ResSom.gf +++ b/src/somali/ResSom.gf @@ -404,12 +404,6 @@ oper Passive => "laydin" ; Loo => "laydiin" ; Lala => "laydinla" ; Lagu => "laydinku" ; Laga => "laydinka" ; Single p => (prepTable ! p).s ! Pl2_Prep } ; - -- Impers_Prep => -- TODO: put these later into other tables - -- table { Ugu => "loogu" ; Uga => "looga" ; - -- Ula => "loola" ; Kaga => "lagaga" ; - -- Kula => "lagula" ; Kala => "lagala" ; - -- Passive => "la" ; - -- Lagu => "lagu" ; Laga => "laga" ; } ; Reflexive_Prep => -- TODO check every form table { Ugu => "isugu" ; Uga => "isuga" ; Ula => "isula" ; Kaga => "iskaga" ; Kula => "iskula" ; Kala => "iskala" ;