From 2159d4b0be1b38042f24508aea6886588d3af875 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 12 Nov 2018 14:25:16 +0100 Subject: [PATCH] (Ara) Add proDrop function to the API --- src/arabic/ParadigmsAra.gf | 2 ++ src/arabic/ResAra.gf | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index c5a765a4c..a7b31606e 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -536,6 +536,8 @@ resource ParadigmsAra = open lock_NP = <> }; + proDrop : NP -> NP = ResAra.proDrop ; -- Force a NP to lose its string, only contributing with its agreement. + -- e.g. al-jamii3, 2a7ad regNP : Str -> Number -> NP = \word,n -> { s = \\c => fixShd word (dec1sg ! Def ! c) ; diff --git a/src/arabic/ResAra.gf b/src/arabic/ResAra.gf index f9f60c7be..40ec75bfc 100644 --- a/src/arabic/ResAra.gf +++ b/src/arabic/ResAra.gf @@ -1201,6 +1201,14 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf -> a : Agr } ; + proDrop : NP -> NP = \np -> + case np.a.isPron of { + True => np ** {s = \\_ => []}; + _ => np + } ; + + emptyNP : NP = {s = \\_ => [] ; a = {pgn = Per3 Masc Sg ; isPron = False}} ; + IP : Type = { s : Bool -- different forms for "what is this" and "what do you do" => State => Case -- because of PrepIP: e.g. "in which" chooses definite accusative