From 45df74b36b77b6f57a4d259ae855021705ef934a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 21 Nov 2018 16:02:10 +0100 Subject: [PATCH] (Ara) Renaming and consistency with prepositions --- src/arabic/LexiconAra.gf | 4 ++-- src/arabic/ResAra.gf | 16 ++++++++++++---- src/arabic/StructuralAra.gf | 7 ++++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/arabic/LexiconAra.gf b/src/arabic/LexiconAra.gf index 3b8ad2fd0..ca5571cfb 100644 --- a/src/arabic/LexiconAra.gf +++ b/src/arabic/LexiconAra.gf @@ -73,7 +73,7 @@ flags door_N = brkN "بوب" "فاع" "أَفعَال" Masc NoHum ; drink_V2 = dirV2 (regV "شَرِب") ; -- drink_V2 = dirV2 (v1 "شرب" i a) ; - easy_A2V = mkA2 (sndA "سهل" "فَعل") datPrep ; + easy_A2V = mkA2 (sndA "سهل" "فَعل") liPrep ; eat_V2 = dirV2 (mkV "ءكل" FormI) ; empty_A = sndA "فرغ" "فاعِل" ; enemy_N = brkN "عدو" "فَعُلّ" "أَفعَاء" Masc Hum ; @@ -203,7 +203,7 @@ flags switch8off_V2 = dirV2 (v4 "طفء") ; switch8on_V2 = dirV2 (v4 "شعل") ; table_N = sdfN "طول" "فاعِلة" Fem NoHum ; - talk_V3 = mkV3 (v5 "حدث") datPrep (mkPrep "عَن") ; + talk_V3 = mkV3 (v5 "حدث") liPrep (mkPrep "عَن") ; teacher_N = sdmN "علم" "مُفَعِّل" Masc Hum ; --mucal~imö teach_V2 = dirV2 (v2 "علم") ; television_N = mkN (sndf "تِلِفِزيُون") Masc NoHum ; diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index 8fb6ff660..497caa97b 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -127,7 +127,15 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in { } ; noPrep : Preposition = mkPreposition [] Nom ; - datPrep : Preposition = mkPreposition ("لِ" ++ BIND) Dat ; + liPrep : Preposition = mkPreposition ( + pre { #pronSuffAndOther => "لِ" ; + #pronSuff => "لَ" ; + _ => "لِ" + } ++ BIND) Dat ; + biPrep : Preposition = mkPreposition ("بِ"++BIND) ; + + pronSuff : pattern Str = #("كَ"|"كِ"|"كُمَا"|"كُمْ"|"كُنَّ"|"هُ"|"ها"|"هُمَا"|"هُمْ"|"هُنَّ") ; + pronSuffAndOther : pattern Str = #( "كَم" ) ; -- TODO list words that begin like pron.suff. but aren't Adj : Type = {s : AForm => Str} ; Adj2 : Type = Adj ** {c2 : Preposition} ; @@ -1341,9 +1349,9 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> { s = table { (Nom|Bare) => ana; - Acc => BIND ++ nI; -- object suffix - Gen => BIND ++ I; -- possessive suffix - Dat => I -- will only be used with preposition لِ, which already has a BIND + Acc => nI ; -- object suffix + Gen => I ; -- possessive suffix + Dat => I -- will only be used with preposition لِ }; a = {pgn = pgn; isPron = True }; empty = [] diff --git a/src/arabic/StructuralAra.gf b/src/arabic/StructuralAra.gf index 4502cba1f..7ae7afd31 100644 --- a/src/arabic/StructuralAra.gf +++ b/src/arabic/StructuralAra.gf @@ -18,8 +18,8 @@ concrete StructuralAra of Structural = CatAra ** between_Prep = mkPrep "بَيْنَ" ; -- both7and_DConj = sd2 "بْته" "َند" ** {n = Pl} ; -- but_PConj = ss "بُت" ; - by8agent_Prep = mkPrep "بِ" ; - by8means_Prep = mkPrep "بِ" ; + by8agent_Prep, + by8means_Prep = biPrep ; can_VV = mkVV (mkV "طوع" FormX) ; -- can8know_VV = { -- s = table VVForm [["بي َبلي تْ"] ; "عَن" ; "عُْلد" ; @@ -34,6 +34,7 @@ concrete StructuralAra of Structural = CatAra ** -- everywhere_Adv = ss "ثريوهري" ; few_Det = mkDet "بَعض" Pl Const ; -- first_Ord = ss "فِرست" ; + for_Prep = liPrep ; from_Prep = mkPrep "مِنَ" ; he_Pron = ResAra.he_Pron ; here_Adv = ss "هُنا" ; @@ -68,7 +69,7 @@ concrete StructuralAra of Structural = CatAra ** -- otherwise_PConj = ss "ْتهروِسي" ; part_Prep = mkPrep "مِنَ" ; -- please_Voc = ss "ةلَسي" ; - possess_Prep = mkPrep "ل" ; + possess_Prep = liPrep ; -- quite_Adv = ss "قُِتي" ; she_Pron = ResAra.she_Pron ; -- so_AdA = ss "سْ" ;