From 02700acc8dbababe5da0c2296319b9d265f8047f Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Sat, 29 Dec 2018 18:44:16 +0200 Subject: [PATCH] (Ara) add a string (e.g. "that") in VS --- src/arabic/CatAra.gf | 2 +- src/arabic/ParadigmsAra.gf | 10 ++++++++-- src/arabic/VerbAra.gf | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/arabic/CatAra.gf b/src/arabic/CatAra.gf index 051a40b8..48e5d221 100644 --- a/src/arabic/CatAra.gf +++ b/src/arabic/CatAra.gf @@ -80,7 +80,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in { V2, V2A = ResAra.Verb2 ; VV = ResAra.Verb2 ** {sc : Preposition} ; -- c2 is for verb V2S, V2Q = ResAra.Verb2 ; - VS = ResAra.Verb ** {o : Order} ; + VS = ResAra.Verb ** {o : Order; s2 : Str} ; V3 = ResAra.Verb3 ; V2V = ResAra.Verb3 ** {sc : Preposition} ; -- c3 is for verb, c2 is for dir.obj diff --git a/src/arabic/ParadigmsAra.gf b/src/arabic/ParadigmsAra.gf index bae27faa..e9c8966a 100644 --- a/src/arabic/ParadigmsAra.gf +++ b/src/arabic/ParadigmsAra.gf @@ -274,7 +274,10 @@ resource ParadigmsAra = open -- questions, verb phrases, and adjectives. mkV0 : V -> V0 ; - mkVS : V -> VS ; + -- mkVS = overload { + -- mkVS : V -> VS ; + -- mkVS : V -> Str -> VS + -- } ; mkV2S : V -> Str -> V2S ; mkVV = overload { mkVV : V -> VV = regVV ; @@ -737,7 +740,10 @@ resource ParadigmsAra = open dirdirV3 v = dirV3 v (casePrep acc) ; - mkVS v = lin VS (v ** {o = Subord}) ; + mkVS = overload { + mkVS : V -> VS = \v -> lin VS (v ** {o = Subord; s2 = []}) ; + mkVS : V -> Str -> VS = \v,s -> lin VS (v ** {o = Subord; s2 = s}) + } ; mkVQ v = lin VQ v ; regVV : V -> VV = \v -> lin VV v ** {c2 = mkPreposition "أَنْ" ; sc = noPrep} ; diff --git a/src/arabic/VerbAra.gf b/src/arabic/VerbAra.gf index 63c483f2..0f36da2a 100644 --- a/src/arabic/VerbAra.gf +++ b/src/arabic/VerbAra.gf @@ -51,7 +51,7 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in { -- : VS -> S -> VP ; -- say that she runs ComplVS vs s = predV vs ** { -- IL - obj = emptyObj ** {s = s.s ! vs.o} + obj = emptyObj ** {s = vs.s2 ++ s.s ! vs.o} } ; -- : VQ -> QS -> VP ; -- wonder who runs