diff --git a/src/arabic/QuestionAra.gf b/src/arabic/QuestionAra.gf index 2a4c69ad3..ee7edacad 100644 --- a/src/arabic/QuestionAra.gf +++ b/src/arabic/QuestionAra.gf @@ -71,7 +71,7 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA IdetCN idet cn = { s = \\isPred,g,s,c => idet.s ! cn.g ! s ! c ++ - cn2str cn idet.n Indef Gen ; --idaafa + cn2str cn idet.n idet.d Gen ; a = { pgn = agrP3 NoHum cn.g idet.n ; isPron = False } } ; @@ -80,6 +80,7 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA s = \\g,s,c => let gend = detGender g num.n -- gender flips with some numbers in iquant.s ! s ! c ++ num.s ! gend ! s ! c ; - n = sizeToNumber num.n + n = sizeToNumber num.n ; + d = Indef ---- TODO check } ; } diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index e503607cc..9b80898dd 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -1368,8 +1368,10 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> IDet : Type = { s : Gender -- IdetCN needs to choose the gender of the CN - => State => Case => Str ; - n : Number + => State -- Needs to be retained variable for IP; PrepIP chooses the state of IP + => Case => Str ; + n : Number ; + d : State -- in IdetCN, chooses the state of the CN } ; IQuant : Type = { diff --git a/src/arabic/StructuralAra.gf b/src/arabic/StructuralAra.gf index 93349fbb5..bc7d40c2a 100644 --- a/src/arabic/StructuralAra.gf +++ b/src/arabic/StructuralAra.gf @@ -40,7 +40,11 @@ concrete StructuralAra of Structural = CatAra ** -- here7to_Adv = ss ["تْ هري"] ; -- here7from_Adv = ss ["فرْم هري"] ; how_IAdv = ss "كَيفَ" ; --- how8many_IDet = mkDet "كَمْ" Pl Const ; -- IL: check (was ["هْو مَني"]) ; + how8many_IDet = { + s = \\g,s,c => "كَمْ عَدَد" + caseTbl ! c ; + n = Pl ; d = Def + } ; -- IL + -- if_Subj = ss "ِف" ; in8front_Prep = mkPrep "مُقَابِلَ" ; i_Pron = ResAra.i_Pron ;