forked from GitHub/gf-rgl
(Ara) Add paradigm for assimilated measure 8 verbs
This commit is contained in:
@@ -353,10 +353,10 @@ resource ParadigmsAra = open
|
||||
\rootStr ->
|
||||
let {
|
||||
rbT = mkRoot3 rootStr ;
|
||||
} in {
|
||||
s = (v8sound rbT).s ;
|
||||
lock_V = <>
|
||||
};
|
||||
v8fun = case rbT.f of {
|
||||
("و"|"ي"|"ّ") => v8assimilated ;
|
||||
_ => v8sound }
|
||||
} in lin V (v8fun rbT) ;
|
||||
|
||||
Preposition = Str ;
|
||||
|
||||
@@ -562,6 +562,6 @@ formV : (root : Str) -> VerbForm -> V = \s,f -> case f of {
|
||||
} ;
|
||||
|
||||
param VerbForm =
|
||||
FormI | FormIII | FormIII | FormIV | FormV | FormVI | FormVIII ;
|
||||
FormI | FormII | FormIII | FormIV | FormV | FormVI | FormVIII ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -48,6 +48,7 @@ flags coding=utf8 ;
|
||||
eiftacal = { h = "إِ"; m1 = "ْتَ" ; m2 = "َ" ; t = "" } ;
|
||||
eufcil = { h = "أُ"; m1 = "ْ" ; m2 = "ِ" ; t = "" } ;
|
||||
euftucil = { h = "أُ"; m1 = "ْتُ" ; m2 = "ِ" ; t = "" } ;
|
||||
euttucil = euftucil ** { h = "تُّأُ" ; m1 = "" } ; ---- IL assimilated VIII
|
||||
afcul = { h = "َ" ; m1 = "ْ" ; m2 = "ُ" ; t = "" } ;
|
||||
faccalo = { h = "" ; m1 = "َ" ; m2 = "َّ" ; t = "ْ" } ;
|
||||
facal = { h = "" ; m1 = "َ" ; m2 = "َ" ; t = "" } ;
|
||||
@@ -77,6 +78,8 @@ flags coding=utf8 ;
|
||||
ficlp = { h = "" ; m1 = "ِ" ; m2 = "ْ" ; t = "َة" } ;
|
||||
ftacal = { h = "" ; m1 = "ْتَ" ; m2 = "َ" ; t = "" } ;
|
||||
ftacil = { h = "" ; m1 = "ْتَ" ; m2 = "ِ" ; t = "" } ;
|
||||
ttacal = ftacal ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
ttacil = ftacil ** { m1 = "" ; h = "تَّ" } ; ---- IL assimilated VIII
|
||||
fuccAl = { h = "" ; m1 = "ُ" ; m2 = "َّا" ; t = "" } ;
|
||||
fuccil = { h = "" ; m1 = "ُ" ; m2 = "ِّ" ; t = "" } ;
|
||||
fuccilo = { h = "" ; m1 = "ُ" ; m2 = "ِّ" ; t = "ْ" } ;
|
||||
|
||||
@@ -76,12 +76,11 @@ resource ResAra = PatternsAra ** open Prelude, Predef, ParamX in {
|
||||
|
||||
-- takes a weak pattern and a triliteral root and makes
|
||||
-- a word, deducing which root consonant is weak
|
||||
mkWeak : Pattern -> Str -> Str = \pat,root ->
|
||||
let fcl = mkRoot3 root in
|
||||
case root of {
|
||||
_ + ("و"|"ي"|"ّ") => mkDefective pat fcl;
|
||||
_ + ("و"|"ي") + _ => mkHollow pat fcl;
|
||||
("و"|"ي") + _ => mkAssimilated pat fcl
|
||||
mkWeak : Pattern -> Root3 -> Str = \pat,fcl ->
|
||||
case <fcl.f,fcl.c,fcl.l> of {
|
||||
<_,_,("و"|"ي"|"ّ")> => mkDefective pat fcl;
|
||||
<_,("و"|"ي"),_> => mkHollow pat fcl;
|
||||
<("و"|"ي"),_,_> => mkAssimilated pat fcl
|
||||
};
|
||||
|
||||
mkBilit : Pattern -> Root2 -> Str = \p,fcl ->
|
||||
@@ -95,7 +94,7 @@ resource ResAra = PatternsAra ** open Prelude, Predef, ParamX in {
|
||||
w@_ + "ف" + x@_ + "ع" + y@_ =>
|
||||
let pat = { h = w ; m1 = x; m2 = ""; t = y} in
|
||||
case <length rS : Ints 100> of {
|
||||
6 | 5 => mkWeak pat rS ; --3=>
|
||||
6 | 5 => mkWeak pat (mkRoot3 rS) ; --3=>
|
||||
4 | 3 => mkBilit pat (mkRoot2 rS) ; --2=>
|
||||
_ => rS ---- AR error "expected 3--6"
|
||||
}
|
||||
@@ -431,8 +430,8 @@ patHol3 : Vowel => Pattern =
|
||||
fvc : Vowel => Pattern =
|
||||
table {
|
||||
u => fuc ;
|
||||
i => fic ;
|
||||
a => fac
|
||||
i => fic ;
|
||||
a => fac
|
||||
} ;
|
||||
|
||||
|
||||
@@ -545,22 +544,22 @@ patDef2 : Vowel => Pattern =
|
||||
|
||||
v2sound : Root3 -> Verb = \qsm ->
|
||||
let {
|
||||
qassam = mkStrong faccal qsm ;
|
||||
qassam = mkStrong faccal qsm ;
|
||||
qussim = mkStrong fuccil qsm ;
|
||||
qassim = mkStrong faccil qsm ;
|
||||
qassim = mkStrong faccil qsm ;
|
||||
uqassim = "ُ" + qassim ;
|
||||
uqassam = "ُ" + qassam ;
|
||||
uqassam = "ُ" + qassam ;
|
||||
muqassam = "مُ" + qassam
|
||||
} in
|
||||
verb qassam qussim uqassim uqassam qassim muqassam;
|
||||
|
||||
v2defective : Root3 -> Verb = \gny ->
|
||||
let {
|
||||
ganna = mkDefective facca gny ;
|
||||
gannay = mkStrong faccalo gny ;
|
||||
gunni = mkDefective fucci gny ;
|
||||
gunnu = mkDefective fuccu gny ;
|
||||
gunniy = mkStrong fuccilo gny ;
|
||||
ganna = mkDefective facca gny ;
|
||||
gannay = mkStrong faccalo gny ;
|
||||
gunni = mkDefective fucci gny ;
|
||||
gunnu = mkDefective fuccu gny ;
|
||||
gunniy = mkStrong fuccilo gny ;
|
||||
ganni = mkDefective facci gny;
|
||||
uganni = "ُ" + ganni;
|
||||
gannu = mkDefective faccu gny;
|
||||
@@ -644,6 +643,20 @@ v8sound : Root3 -> Verb =
|
||||
murtabaT = "م" + urtabaT
|
||||
} in verb eirtabaT eurtubiT artabiT urtabaT eirtabiT murtabaT;
|
||||
|
||||
v8assimilated : Root3 -> Verb = --- IL 8a1
|
||||
\wfq ->
|
||||
let {
|
||||
ttafiq = mkWeak ttacil wfq ;
|
||||
ttafaq = mkWeak ttacal wfq ;
|
||||
eittafaq = "إِ" + ttafaq ;
|
||||
euttufiq = mkWeak euttucil wfq ;
|
||||
attafiq = "َ" + ttafiq ;
|
||||
uttafaq = "ُ" + ttafaq ;
|
||||
eittafiq = "إِ" + ttafiq ;
|
||||
muttafaq = "م" + uttafaq
|
||||
} in verb eittafaq euttufiq attafiq uttafaq eittafiq muttafaq;
|
||||
|
||||
|
||||
patV1Perf : Vowel => Pattern =
|
||||
table {
|
||||
a => facal ; --katab
|
||||
|
||||
Reference in New Issue
Block a user