From 26e3c6dbacb308de08393474f0b5be3b54387dcd Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 19 Dec 2018 17:17:31 +0100 Subject: [PATCH] (Ara) Add AdvIAdv --- src/arabic/MissingAra.gf | 1 - src/arabic/QuestionAra.gf | 32 +++++++++++++++++--------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/arabic/MissingAra.gf b/src/arabic/MissingAra.gf index e714eb0e5..c8234cbae 100644 --- a/src/arabic/MissingAra.gf +++ b/src/arabic/MissingAra.gf @@ -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" ; diff --git a/src/arabic/QuestionAra.gf b/src/arabic/QuestionAra.gf index 6e1212156..d2ce38cf5 100644 --- a/src/arabic/QuestionAra.gf +++ b/src/arabic/QuestionAra.gf @@ -63,26 +63,28 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA s = \\isPred,g,s,c => ip.s ! isPred ! g ! s ! c ++ adv.s ; } ; - -- : IDet -> IP - IdetIP idet = idet ** { - s = \\isPred => idet.s ; - a = { pgn = agrP3 NoHum Masc idet.n ; isPron = False } - } ; + AdvIAdv iadv adv = {s = iadv.s ++ adv.s} ; - -- : IDet -> CN -> IP - IdetCN idet cn = { - s = \\isPred,g,s,c + -- : IDet -> IP + IdetIP idet = idet ** { + s = \\isPred => idet.s ; + a = { pgn = agrP3 NoHum Masc idet.n ; isPron = False } + } ; + + -- : IDet -> CN -> IP + IdetCN idet cn = { + s = \\isPred,g,s,c => idet.s ! cn.g ! s ! c ++ cn2str cn idet.n idet.d Gen ; - a = { pgn = agrP3 NoHum cn.g idet.n ; isPron = False } - } ; + a = { pgn = agrP3 NoHum cn.g idet.n ; isPron = False } + } ; -- : IQuant -> Num -> IDet - IdetQuant iquant num = { - s = \\g,s,c => + IdetQuant iquant num = { + s = \\g,s,c => let gend = detGender g num.n -- gender flips with some numbers in iquant.s ! s ! c ++ num.s ! gend ! s ! c ; - n = sizeToNumber num.n ; - d = Indef ---- TODO check - } ; + n = sizeToNumber num.n ; + d = Indef ---- TODO check + } ; }