diff --git a/src/arabic/MorphoAra.gf b/src/arabic/MorphoAra.gf index dbb4f752a..6cbb76de8 100644 --- a/src/arabic/MorphoAra.gf +++ b/src/arabic/MorphoAra.gf @@ -70,6 +70,8 @@ oper _ => "لِ" }) Dat ; biPrep : Preposition = mkPrefix "بِ" ; + kaPrep : Preposition = mkPrefix "كَ" ; + accPrep : Preposition = mkPreposition [] Acc ; -- default object case in VP genPrep : Preposition = mkPreposition [] Gen ; -- default object case in N2 @@ -502,17 +504,17 @@ oper AComp d c => comp ! Sg ! d ! c } } ; - + mascFemCompAdj : (kabir, kabira, akbar : Str) -> Adj = \kabir, kabira, akbar -> ntablesAdj (positAdj kabir ! Masc) (positAdj kabir ! Fem) (positAdj akbar ! Masc) ; - + mascFemAdj : (kabir, kabira : Str) -> Adj = \kabir, kabira -> mascFemCompAdj kabir kabira kabir ; ---- comp mascAdj : (kabir : Str) -> Adj = \kabir -> mascFemAdj kabir (kabir + "َة") ; - + ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index c708fa5f7..1c6540e3d 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -99,7 +99,7 @@ resource ParadigmsAra = open mkLN = overload { mkLN : Str -> LN -- Predictable LN from a Str: fem hum if ends in ة, otherwise masc hum. = \s -> lin LN (N.UsePN (smartPN s)) ; - mkLN : Str -> Gender -> LN + mkLN : Str -> Gender -> LN = \s, g -> lin LN (N.UsePN (smartPN s ** {g = g})) ; mkLN : N -> LN -- Make a LN out of N. The LN is in construct state. = \n -> lin LN (N.MassNP (N.UseN n)) ; @@ -202,6 +202,7 @@ resource ParadigmsAra = open liPrep : Prep ; -- The preposition لِ, binding to its head. Vowel assimilation and def. article elision implemented. biPrep : Prep ; -- The preposition بِ, binding to its head. + kaPrep : Prep ; -- The preposition كَ, binding to its head. noPrep : Prep ; -- No preposition at all, "complement case" is nominative. --2 Conjunctions @@ -375,6 +376,7 @@ resource ParadigmsAra = open noPrep = lin Prep ResAra.noPrep ; biPrep = lin Prep ResAra.biPrep ; liPrep = lin Prep ResAra.liPrep ; + kaPrep = lin Prep ResAra.kaPrep ; casePrep : Case -> Prep = \c -> lin Prep {s=[]; c=c; binds=False} ; @@ -914,7 +916,7 @@ oper wmkN : {sg, pl : Str ; g : Gender} -> N = \r -> mkN r.sg r.pl r.g nohum ; --- hum/nohum not in Wikt wmkN : {sg : Str} -> N - = \r -> smartN r.sg ; + = \r -> smartN r.sg ; wmkN : {sg : Str ; g : Gender ; root : Str} -> N = \r -> smartN r.sg ** {g = r.g} ; ---- wmkN : {sg : Str; g : Gender} -> N @@ -924,8 +926,8 @@ oper wmkN : {sg : Str; pl : Str} -> N = \r -> mkN r.sg r.pl masc nohum ; ---- ** {g = (smartN r.sg).g} ; wmkN : {sg, pl : Str ; root : Str} -> N - = \r -> mkN r.sg r.pl masc nohum ; ---- - wmkN : {sg : Str; root : Str} -> N + = \r -> mkN r.sg r.pl masc nohum ; ---- + wmkN : {sg : Str; root : Str} -> N = \r -> smartN r.sg ; } ;