From 3edc34ed56491dfe5aa56b364b7391376499cb0c Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 1 Oct 2018 11:52:46 +0200 Subject: [PATCH 1/7] =?UTF-8?q?(Ara)=20Add=20can=5FVV;=20make=20=D8=A3?= =?UTF-8?q?=D9=8E=D9=86=D9=92=20a=20default=20c2=20for=20VVs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/arabic/ParadigmsAra.gf | 2 +- src/arabic/StructuralAra.gf | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index 5645c7368..6edfea7c3 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -536,7 +536,7 @@ resource ParadigmsAra = open mkVS v = v ** {lock_VS = <>} ; mkVQ v = v ** {lock_VQ = <>} ; - regVV : V -> VV = \v -> lin VV v ** {c2 = []} ; + regVV : V -> VV = \v -> lin VV v ** {c2 = "أَنْ"} ; c2VV : V -> Str -> VV = \v,prep -> regVV v ** {c2 = prep} ; V0 : Type = V ; diff --git a/src/arabic/StructuralAra.gf b/src/arabic/StructuralAra.gf index 36ba135be..fb7ae0b12 100644 --- a/src/arabic/StructuralAra.gf +++ b/src/arabic/StructuralAra.gf @@ -20,7 +20,8 @@ concrete StructuralAra of Structural = CatAra ** -- but_PConj = ss "بُت" ; by8agent_Prep = ss "بِ" ; by8means_Prep = ss "بِ" ; --- can8know_VV, can_VV = { + can_VV = mkVV (mkV "طوع" FormX) ; +-- can8know_VV = { -- s = table VVForm [["بي َبلي تْ"] ; "عَن" ; "عُْلد" ; -- ["بّن َبلي تْ"] ; ["بِنغ َبلي تْ"] ; "عَنءت" ; "عُْلدنءت"] ; -- isAux = True @@ -50,7 +51,7 @@ concrete StructuralAra of Structural = CatAra ** -- more_CAdv = ss "مْري" ; most_Predet = mkPredet "أَكثَر" True ; much_Det = mkDet "الكَثِير مِنَ" Pl Const ; - must_VV = mkVV (v1 "وجب" a i) "أن" ; + must_VV = mkVV (v1 "وجب" a i) ; -- s = table VVForm [["بي هَثي تْ"] ; "مُست" ; ["هَد تْ"] ; -- ["هَد تْ"] ; ["هَثِنغ تْ"] ; "مُستنءت" ; ["هَدنءت تْ"]] ; ---- -- isAux = True From fcf13dc89fd258fa256691b2aee82d9fc22c0620 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 1 Oct 2018 12:04:17 +0200 Subject: [PATCH 2/7] (Ara) Fix ComplVV: now uses subjunctive and agrees with subject. --- src/arabic/VerbAra.gf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/arabic/VerbAra.gf b/src/arabic/VerbAra.gf index a70e875a4..53258b6d0 100644 --- a/src/arabic/VerbAra.gf +++ b/src/arabic/VerbAra.gf @@ -17,12 +17,12 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in { a = {pgn = Per3 Masc Sg ; isPron = False} } --FIXME (predV v) ;-} - ComplVV vv vp = --- IL - predV vv ** { - s2 = vv.c2 ; -- add the preposition of the VV. TODO: do we need a separate field in the VP? - pred = compVP vp ; -- add VP complement in pred. TODO: what agreement features are needed? - isPred = False } ; {- Despite verb complement being in pred, it's not predicative. - Changing this to True causes PredVP to not include the verb. -} + ComplVV vv vp = let vvVP = predV vv in --- IL + vp ** { + s = \\pgn,vpf => vvVP.s ! pgn ! vpf + ++ vv.c2 -- أَنْ‎ + ++ vp.s ! pgn ! VPImpf Cnj + } ; -- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ; -- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ; From fb9ebf782f95cc881d89bfe06ee96ac9234a80f1 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 1 Oct 2018 12:06:14 +0200 Subject: [PATCH 3/7] (Ara) ComplSlash: retain old object. Slash3V3: insert c3 into new c2. --- src/arabic/ResAra.gf | 6 ++++-- src/arabic/VerbAra.gf | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index 0d070d43e..c048bd84f 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -1189,6 +1189,8 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> isPred = False }; + predVSlash : Verb ** {c2 : Str} -> VPSlash = \v -> + predV v ** {c2 = v.c2} ; -- in verbal sentences, the verb agrees with the subject -- in Gender but not in number @@ -1198,8 +1200,8 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> _ => pgn }; - insertObj : NP -> VP -> VP = \np,vp -> vp ** - { obj = {s = np.s ! Acc ; a = np.a} }; + insertObj : NP -> VPSlash -> VP = \np,vp -> vp ** + { obj = {s = vp.obj.s ++ vp.c2 ++ np.s ! Acc ; a = np.a} }; insertPred : {s : AAgr => Case => Str} -> VP -> VP = \p,vp -> vp ** { pred = p; diff --git a/src/arabic/VerbAra.gf b/src/arabic/VerbAra.gf index 53258b6d0..9602b19b1 100644 --- a/src/arabic/VerbAra.gf +++ b/src/arabic/VerbAra.gf @@ -6,8 +6,8 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in { UseV = predV ; SlashVV vv vps = vps ** predV vv ; ----IL - SlashV2a v = predV v ** {c2 = v.c2}; - Slash3V3 v np = insertObj np (predV v) ** {c2 = v.c2}; + SlashV2a v = predVSlash v ; + Slash3V3 v np = insertObj np (predVSlash v) ** {c2 = v.c3}; ComplSlash vp np = insertObj np vp ; From a3243776616d876d7202ba627882676ad048c6e8 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 2 Oct 2018 10:57:43 +0200 Subject: [PATCH 4/7] (Ara) Update documentation for new verb paradigms --- src/arabic/ParadigmsAra.gf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index 6edfea7c3..fe8bc4d59 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -159,7 +159,7 @@ resource ParadigmsAra = open = regV ; mkV : (root : Str) -> (perf,impf : Vowel) -> V -- verb form I ; vowel = a|i|u = v1 ; - mkV : (root : Str) -> VerbForm -> V -- FormI .. FormVIII (no VII) ; default vowels a u for I + mkV : (root : Str) -> VerbForm -> V -- FormI .. FormX (no VII, IX) ; default vowels a u for I = formV ; } ; @@ -195,6 +195,8 @@ resource ParadigmsAra = open v8 : Str -> V ; +-- Verb Form X 'istaf`ala + v10 : Str -> V ; --3 Two-place verbs From 96249527030b44eb4d74b10feb9e9a381f28ab33 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 2 Oct 2018 14:59:49 +0200 Subject: [PATCH 5/7] =?UTF-8?q?(Ara)=20Fix=20dual=20for=20nouns=20ending?= =?UTF-8?q?=20in=20=D8=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/arabic/ParadigmsAra.gf | 5 +++-- src/arabic/ResAra.gf | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index fe8bc4d59..ba6473fda 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -559,8 +559,9 @@ resource ParadigmsAra = open mkA2V v p = mkA2 v p ** {lock_A2 = <>} ; -smartN : Str -> N = \s -> case last s of { - "ة" => mkFullN (sndf s) Fem NoHum ; +smartN : Str -> N = \s -> case s of { + _ + "ة" => mkFullN (sndf s) Fem NoHum ; + _ + "ة" + #vow => mkFullN (sndf s) Fem NoHum ; _ => mkFullN (sndm s) Masc NoHum } ; diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index c048bd84f..3cc153581 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -856,7 +856,9 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> \caSaA -> case caSaA of { lemma + ("ا"|"ى") => \\s,c => defArt s lemma + "ي" + dl ! s ! c ; - _ => \\s,c => defArt s caSaA + dl ! s ! c + lemma + "ة" => + \\s,c => defArt s (lemma + "ت") + dl ! s ! c ; + _ => \\s,c => defArt s caSaA + dl ! s ! c }; -- takes a singular word and gives the corresponding sound @@ -953,12 +955,12 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> Const => table { Nom => "َا"; - _ => "َي" + _ => "َيْ‎" }; _ => table { Nom => "َانِ"; - _ => "َينِ" + _ => "َيْ‎نِ" } }; From 0e6f0d85207c54ef07db8740135948fc9538b80d Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 2 Oct 2018 15:25:36 +0200 Subject: [PATCH 6/7] (Ara) Bugfix in the dual feminine suffix. --- src/arabic/ResAra.gf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index 3cc153581..0a977cf65 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -960,7 +960,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> _ => table { Nom => "َانِ"; - _ => "َيْ‎نِ" + _ => "َيْنِ" } }; From ecda59d1887d220215b9757ecd78c7001a43a6c9 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 2 Oct 2018 15:31:12 +0200 Subject: [PATCH 7/7] (Ara) Irregular plural for year_N --- src/arabic/LexiconAra.gf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arabic/LexiconAra.gf b/src/arabic/LexiconAra.gf index 30d3675e6..a0dcfd821 100644 --- a/src/arabic/LexiconAra.gf +++ b/src/arabic/LexiconAra.gf @@ -330,7 +330,7 @@ flags wind_N = brkN "ريح" "فِعل" "فِعال" Fem NoHum; wing_N = brkN "جنح" "فَعال" "أَفعِلة" Masc NoHum ; worm_N = brkN "دود" "فُعلة" "فِيعان" Fem NoHum ; - year_N = sdfN "سن" "فَعة" Fem NoHum ; + year_N = mkN "سَنَة" "سَنَوَات" Fem NoHum ; blow_V = regV "يَنفُخ" ; breathe_V = dirV2 (v5 "نفس") ;