1
0
forked from GitHub/gf-rgl

(Ara) N2 and N3

This commit is contained in:
Inari Listenmaa
2018-09-26 15:01:14 +02:00
parent 942ef0b0ff
commit f486149267
4 changed files with 23 additions and 16 deletions

View File

@@ -88,10 +88,9 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
A = ResAra.Adj ; A = ResAra.Adj ;
A2 = ResAra.Adj ** {c2 : Str} ; A2 = ResAra.Adj ** {c2 : Str} ;
N, N2 = ResAra.Noun ; N = ResAra.Noun ;
--{s : ResAra.Number => State => Case => Str; g : Gender ; h = Species} ; N2 = ResAra.Noun ** {c2 : Str} ;
-- N2 = {s : ResAra.Number => Case => Str} ** {c2 : Str} ;?? N3 = ResAra.Noun ** {c2, c3 : Str} ;
N3 = ResAra.Noun ** {c2,c3 : Str} ;
PN = {s : Case => Str; g : Gender; h : Species} ; PN = {s : Case => Str; g : Gender; h : Species} ;
} }

View File

@@ -39,7 +39,7 @@ flags
break_V2 = dirV2 (regV "يَكسُر") ; break_V2 = dirV2 (regV "يَكسُر") ;
-- break_V2 = dirV2 (v1 "كسر" a u) ; -- break_V2 = dirV2 (v1 "كسر" a u) ;
broad_A = sndA "وسع" "فاعِل" ; broad_A = sndA "وسع" "فاعِل" ;
brother_N2 = brkN "؟خو" "فَع" "فِعلة" Masc Hum ; --FIXME brother_N2 = mkN2 (brkN "؟خو" "فَع" "فِعلة" Masc Hum) ; --FIXME
brown_A = sndA "بني" "فُعِّل"; brown_A = sndA "بني" "فُعِّل";
butter_N = sdfN "سبد" "فُعلة" Fem NoHum ; butter_N = sdfN "سبد" "فُعلة" Fem NoHum ;
buy_V2 = dirV2 (v8 "شري") ; buy_V2 = dirV2 (v8 "شري") ;
@@ -78,7 +78,7 @@ flags
empty_A = sndA "فرغ" "فاعِل" ; empty_A = sndA "فرغ" "فاعِل" ;
enemy_N = brkN "عدو" "فَعُلّ" "أَفعاء" Masc Hum ; enemy_N = brkN "عدو" "فَعُلّ" "أَفعاء" Masc Hum ;
factory_N = brkN "صنع" "مَفعَل" "مَفاعِل" Masc NoHum ; factory_N = brkN "صنع" "مَفعَل" "مَفاعِل" Masc NoHum ;
father_N2 = brkN "؟ب" "فَع" "أَفعاء" Masc Hum; father_N2 = mkN2 (brkN "؟ب" "فَع" "أَفعاء" Masc Hum);
fear_VS = mkVS (v1 "خشي" i a ); fear_VS = mkVS (v1 "خشي" i a );
find_V2 = dirV2 (v1 "وجد" a i ) ; find_V2 = dirV2 (v1 "وجد" a i ) ;
fish_N = brkN "سمك" "فَعَلة" "أَفعال" Fem NoHum ; fish_N = brkN "سمك" "فَعَلة" "أَفعال" Fem NoHum ;
@@ -133,7 +133,7 @@ flags
meat_N = brkN "لحم" "فَعلة" "فُعُول" Masc NoHum ; meat_N = brkN "لحم" "فَعلة" "فُعُول" Masc NoHum ;
milk_N = brkN "حلب" "فَعِيل" "فَعِيل" Masc NoHum ; --no plur milk_N = brkN "حلب" "فَعِيل" "فَعِيل" Masc NoHum ; --no plur
moon_N = brkN "قمر" "فَعَل" "أَفعال" Masc NoHum ; moon_N = brkN "قمر" "فَعَل" "أَفعال" Masc NoHum ;
mother_N2 = sdfN "؟م" "فُعّ" Fem Hum ; mother_N2 = mkN2 (sdfN "؟م" "فُعّ" Fem Hum) ;
mountain_N = brkN "جبل" "فَعَل" "فِعال" Masc NoHum ; mountain_N = brkN "جبل" "فَعَل" "فِعال" Masc NoHum ;
music_N = mkN (reg "مُوسِيقَى" "مُوسِيقَى") Fem NoHum ; --no plur music_N = mkN (reg "مُوسِيقَى" "مُوسِيقَى") Fem NoHum ; --no plur
narrow_A = sndA "ضيق" "فَعِّل" ; narrow_A = sndA "ضيق" "فَعِّل" ;

View File

@@ -172,13 +172,17 @@ lin
-- MassDet = {s = \\_,_,_,_ => [] ; d = Indef; -- MassDet = {s = \\_,_,_,_ => [] ; d = Indef;
-- isNum = False; isPron = False} ; -- isNum = False; isPron = False} ;
UseN n = n ** {adj = \\_,_,_ => []}; UseN,
-- ComplN2 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c} ; UseN2 = \n -> n ** {adj = \\_,_,_ => []};
-- ComplN3 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ; c2 = f.c3} ; Use2N3 n3 = n3 ;
-- Use3N3 n3 = n3 ** {c2 = n3.c3} ;
-- UseN2 n = n ;
-- UseN3 n = n ; ComplN2 n2 np = UseN n2 ** --- IL
-- {s = \\n,s,c => n2.s ! n ! s ! c ++ n2.c2 ++ np.s ! Gen} ;
ComplN3 n3 np = ComplN2 n3 np ** {c2 = n3.c3} ;
AdjCN ap cn = { AdjCN ap cn = {
s = \\n,d,c => cn.s ! n ! d ! c; s = \\n,d,c => cn.s ! n ! d ! c;
adj = \\n,d,c => ap.s ! cn.h ! cn.g ! n ! (definite ! d) ! c ; adj = \\n,d,c => ap.s ! cn.h ! cn.g ! n ! (definite ! d) ! c ;

View File

@@ -92,7 +92,11 @@ resource ParadigmsAra = open
--3 Relational nouns --3 Relational nouns
mkN2 : N -> Preposition -> N2 ; mkN2 = overload {
mkN2 : N -> Preposition -> N2 = prepN2 ;
mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = []}) ;
mkN2 : Str -> N2 = \str -> lin N2 (smartN str ** {c2 = []})
} ;
mkN3 : N -> Preposition -> Preposition -> N3 ; mkN3 : N -> Preposition -> Preposition -> N3 ;
@@ -402,7 +406,7 @@ resource ParadigmsAra = open
}; };
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ; prepN2 : N -> Str -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ; mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;