1
0
forked from GitHub/gf-rgl

Merge pull request #103 from inariksit/arabic

Arabic
This commit is contained in:
Inari Listenmaa
2018-12-19 17:26:24 +01:00
committed by GitHub
8 changed files with 23 additions and 34 deletions

View File

@@ -35,7 +35,7 @@ concrete AdjectiveAra of Adjective = CatAra ** open ResAra, Prelude in {
-- } ;
--
AdAP ada ap = {
s = \\sp,g,n,st,c => ada.s ++ ap.s ! sp ! g ! n ! st ! c
s = \\sp,g,n,st,c => ap.s ! sp ! g ! n ! st ! c ++ ada.s
} ;
UseA2 = PositA ;

View File

@@ -11,7 +11,7 @@ concrete AdverbAra of Adverb = CatAra ** open ResAra, Prelude in {
-- s = cadv.s ++ a.s ! AAdv ++ "مِنْ" ++ s.s
-- } ;
PrepNP prep np = {s = prep.s ++ bindIf prep.binds ++ np.s ! prep.c} ;
PrepNP prep np = {s = prep.s ++ bindIf (orB np.a.isPron prep.binds) ++ np.s ! prep.c} ;
AdAdv ad av = cc2 av ad ;

View File

@@ -18,8 +18,7 @@ flags
ask_V2Q = dirV2 (regV "يَسءَل") ;
-- ask_V2Q = dirV2 (v1 "سءل" a a) ;
baby_N = brkN "طفل" "فِعل" "أَفعَال" Masc Hum;
-- bad_A = sndA "سوء" "فَيِّع" ;
bad_A = degrA "سَيِّئ" "سَيِّئَة" "سَيِّئِين" ;
bad_A = sndA "سوء" "فَيِّع" ;
bank_N = brkN "بنك" "فَعل" "فُعُول" Masc NoHum ;
beautiful_A = sndA "جمل" "فَعِيل" ;
become_VA = mkVA (v4 "صبح") ;

View File

@@ -4,7 +4,6 @@ resource MissingAra = open GrammarAra, Prelude in {
oper AdAdv : AdA -> Adv -> Adv = notYet "AdAdv" ;
oper AdVVP : AdV -> VP -> VP = notYet "AdVVP" ;
oper AdnCAdv : CAdv -> AdN = notYet "AdnCAdv" ;
oper AdvIAdv : IAdv -> Adv -> IAdv = notYet "AdvIAdv" ;
oper BaseRS : RS -> RS -> ListRS = notYet "BaseRS" ;
oper CAdvAP : CAdv -> AP -> NP -> AP = notYet "CAdvAP" ;
oper CleftNP : NP -> RS -> Cl = notYet "CleftNP" ;

View File

@@ -368,7 +368,6 @@ resource ParadigmsAra = open
= mkAN ;
mkN : N -> AP -> N
= mkAPN
} ;
attrN : Number -> N -> N -> N = \num,n1,n2 -> n1 ** {

View File

@@ -63,6 +63,8 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA
s = \\isPred,g,s,c => ip.s ! isPred ! g ! s ! c ++ adv.s ;
} ;
AdvIAdv iadv adv = {s = iadv.s ++ adv.s} ;
-- : IDet -> IP
IdetIP idet = idet ** {
s = \\isPred => idet.s ;

View File

@@ -1049,8 +1049,8 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
-- determine the declension and gives the corresponding inf table
brkPl : Str -> State => Case => Str = \word ->
\\s,c => defArt s c (case word of {
lemma + "ِيّ" => fixShd word (decNisba ! s ! c) ;
lemma + "ِي" => fixShd lemma (dec2sg ! s ! c) ;
lemma + "ِيّ" => fixShd word (dec1sg ! s ! c) ; -- nisba
lemma + "ِي" => fixShd lemma (dec2sg ! s ! c) ; -- 2nd declension
_ + ("ا"|"ى") => fixShd word (dec3sg ! s ! c) ;
lemma + (#hamza|#hamzaseat)
=> word + dec1sgNoDoubleAlif ! s ! c ;
@@ -1170,16 +1170,6 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
_ => []
};
--declension 2 (ends in yaa')
decNisba : State => Case => Str = \\s,c =>
case <s,c> of {
<_, Bare> => [] ;
<Indef,Acc> => "اً" ;
<Indef> => "ٍ" ;
<_, Acc> => "َ" ;
_ => []
};
--dual suffixes
dl : State => Case => Str =
table {

View File

@@ -45,7 +45,7 @@ concrete StructuralAra of Structural = CatAra **
s = \\g,s,c => "كَمْ عَدَد" + caseTbl ! c ;
n = Pl ; d = Def
} ; -- IL
how8much_IAdv = ss "كَمْ" ;
if_Subj = mkSubj "إِذَا" Verbal ;
in8front_Prep = mkPrep "مُقَابِلَ" ;
i_Pron = ResAra.i_Pron ;