From 8596fd277f8ebf3da51ede9dbc8268154bc076aa Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 18 Sep 2018 17:51:57 +0200 Subject: [PATCH 1/3] (Ara) overload mkV2 --- src/arabic/ParadigmsAra.gf | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index 92a441b55..c8aaf7594 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -180,7 +180,7 @@ resource ParadigmsAra = open --Verb Form V : tafa``ala v5 : Str -> V ; - + --Verb Form VI : tafaa`ala v6 : Str -> V ; @@ -194,7 +194,11 @@ resource ParadigmsAra = open -- Two-place verbs need a preposition, except the special case with direct object. -- (transitive verbs). Notice that a particle comes from the $V$. - mkV2 : V -> Preposition -> V2 ; + mkV2 = overload { + mkV2 : V -> V2 = dirV2 ; + mkV2 : V -> Preposition -> V2 = prepV2 ; + mkV2 : Str -> V2 = strV2; + } ; dirV2 : V -> V2 ; @@ -497,8 +501,11 @@ resource ParadigmsAra = open mkAdA x = ss x ** {lock_AdA = <>} ; mkPreposition p = p ; - mkV2 v p = v ** {s = v.s ; c2 = p ; lock_V2 = <>} ; - dirV2 v = mkV2 v [] ; + + prepV2 : V -> Preposition -> V2 = \v,p -> v ** {s = v.s ; c2 = p ; lock_V2 = <>} ; + strV2 : Str -> V2 = \str -> dirV2 (mkV str) ; + + dirV2 v = prepV2 v [] ; mkV3 v p q = v ** {s = v.s ; c2 = p ; c3 = q ; lock_V3 = <>} ; dirV3 v p = mkV3 v [] p ; From 0ca66a2e4d907bb3a6ad67ed861928dba603356d Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 18 Sep 2018 17:52:59 +0200 Subject: [PATCH 2/3] (Ara) some Utt*, CompCN, question_N --- src/arabic/LexiconAra.gf | 1 + src/arabic/PhraseAra.gf | 17 ++++++----------- src/arabic/VerbAra.gf | 7 ++++--- 3 files changed, 11 insertions(+), 14 deletions(-) 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} ; From 933174e911fc4ee4d157393830c6487b66bc5210 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 19 Sep 2018 14:20:34 +0200 Subject: [PATCH 3/3] Arabic has Symbolic now, updated languages.csv. --- languages.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/languages.csv b/languages.csv index 633fabd15..5af6e0a1e 100644 --- a/languages.csv +++ b/languages.csv @@ -1,7 +1,7 @@ Code,Directory,Functor,Unlexer,Present,All,Try,Symbolic,Compatibility Afr,afrikaans,,,,,,n, Amh,amharic,,,,,n,n, -Ara,arabic,,,,,n,n, +Ara,arabic,,,,,,y, Eus,basque,,,,,,, Bul,bulgarian,,,y,,,, Cat,catalan,Romance,,y,,,,y