From b33d260377d55ce934b6c19db253a61fd929f47e Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Tue, 16 Oct 2018 17:46:28 +0200 Subject: [PATCH] (Ara) Add NP field to CN for apposition, to attach poss.suff. correctly --- src/arabic/CatAra.gf | 2 +- src/arabic/NounAra.gf | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/arabic/CatAra.gf b/src/arabic/CatAra.gf index 2dbc2278a..ac01f54e3 100644 --- a/src/arabic/CatAra.gf +++ b/src/arabic/CatAra.gf @@ -47,7 +47,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in { -- Noun - CN = ResAra.Noun ** {adj : NTable}; + CN = ResAra.Noun ** {adj : NTable ; np : Case => Str}; NP, Pron = ResAra.NP; --{s : Case => Str ; a : Agr } ; Num, Ord, diff --git a/src/arabic/NounAra.gf b/src/arabic/NounAra.gf index f383f1806..b7cc77d2f 100644 --- a/src/arabic/NounAra.gf +++ b/src/arabic/NounAra.gf @@ -169,7 +169,9 @@ lin -- isNum = False; isPron = False} ; UseN, - UseN2 = \n -> n ** {adj = \\_,_,_ => []}; + UseN2 = \n -> n ** { + adj = \\_,_,_ => []; + np = \\_ => []}; Use2N3 n3 = n3 ; Use3N3 n3 = n3 ** {c2 = n3.c3} ; @@ -179,16 +181,12 @@ lin ComplN3 n3 np = ComplN2 n3 np ** {c2 = n3.c3} ; - AdjCN ap cn = { - s = \\n,d,c => cn.s ! n ! d ! c; - adj = \\n,d,c => ap.s ! cn.h ! cn.g ! n ! (definite ! d) ! c ; - g = cn.g; - h = cn.h + AdjCN ap cn = cn ** { + adj = \\n,d,c => ap.s ! cn.h ! cn.g ! n ! (definite ! d) ! c }; -- RelCN cn rs = {s = \\n,c => cn.s ! n ! c ++ rs.s ! {n = n ; p = P3}} ; -- AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s} ; -- -- SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s} ; - ApposCN cn np = cn ** { - s = \\n,d,c => cn.s ! n ! d ! c ++ np.s ! c } ; + ApposCN cn np = cn ** { np = np.s } ; }