diff --git a/src/arabic/LexiconAra.gf b/src/arabic/LexiconAra.gf index 1230c4e67..8d78804f7 100644 --- a/src/arabic/LexiconAra.gf +++ b/src/arabic/LexiconAra.gf @@ -310,6 +310,7 @@ flags night_N = brkN "ليل" "فَعلة" "فَعالِي" Fem NoHum; --plural? nose_N = brkN "؟نف" "فَعل" "فُعُول" Masc NoHum; person_N = brkN "شخص" "فَعل" "أَفعال" Masc Hum; + question_N = mkN "سؤال" ; ----IL rain_N = brkN "مطر" "فَعَل" "أَفعال" Masc NoHum; road_N = brkN "طرق" "فَعِيل" "فُعُل" Fem NoHum; root_N = brkN "جذر" "فَعل" "فُعُول" Masc NoHum ; diff --git a/src/arabic/PhraseAra.gf b/src/arabic/PhraseAra.gf index 3ed1a2597..ddbd9f8b8 100644 --- a/src/arabic/PhraseAra.gf +++ b/src/arabic/PhraseAra.gf @@ -7,25 +7,20 @@ concrete PhraseAra of Phrase = CatAra ** open lin PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ! Masc ++ voc.s} ;--FIXME - UttS s = {s = \\g => s.s} ; ---- OK? AR - - UttIAdv s = {s = \\g => s.s} ; ---- OK? AR - UttQS qs = {s = \\g => qs.s ! QDir} ; UttImpSg pol imp = {s = \\g => imp.s ! pol.p ! g ! ResAra.Sg ++ pol.s} ; UttImpPl,UttImpPol = \pol,imp -> {s = \\g => imp.s ! pol.p ! g ! ResAra.Pl ++ pol.s} ; --- - UttIP ip = {s = \\_ => ip.s} ; ---- AR - -- AP = { s : Species => Gender => Number => State => Case => Str } ; + UttIP ip = {s = \\_ => ip.s} ; ---- AR UttAP ap = {s = ResAra.uttAP ap} ; --IL - -- Card = {s : Gender => State => Case => Str } ; UttCard c = {s = ResAra.uttNum c} ; --IL --- UttIAdv iadv = iadv ; + UttCN cn = {s = \\_ => cn.s ! Sg ! Def ! Nom} ; --IL UttNP np = {s = \\_ => np.s ! Nom} ; --- UttVP vp = {s = infVP False vp (agrP3 Sg)} ; - UttAdv adv = {s = \\_ => adv.s} ; + UttVP vp = {s = \\_ => linVP vp} ; --IL + UttS, + UttAdv, + UttIAdv = \s -> {s = \\_ => s.s} ; ---- OK? AR -- NoPConj = {s = []} ; -- PConjConj conj = conj ; diff --git a/src/arabic/VerbAra.gf b/src/arabic/VerbAra.gf index 8716da2fb..e95e3eeab 100644 --- a/src/arabic/VerbAra.gf +++ b/src/arabic/VerbAra.gf @@ -5,7 +5,7 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in { lin UseV = predV ; - SlashVV vv vps = vps ** predV vv ; ---- totally wrong /IL + SlashVV vv vps = vps ** predV vv ; ----IL SlashV2a v = predV v ** {c2 = v.c2}; Slash3V3 v np = insertObj np (predV v) ** {c2 = v.c2}; @@ -37,8 +37,9 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in { -- -- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ; -- - -- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no --- +-- UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no + + CompCN cn = {s = \\agr,c => cn.s ! agr.n ! Indef ! c} ; ----IL CompAP ap = {s = \\agr,c => ap.s ! Hum ! agr.g ! agr.n ! Indef ! c} ; --FIXME CompNP np = {s = \\_,c => np.s ! c}; CompAdv a = {s = \\_,_ => a.s} ;