forked from GitHub/gf-rgl
(Ara) VV and related functions
This commit is contained in:
@@ -84,7 +84,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
||||
V2, V2A = ResAra.Verb ** {c2 : Str} ;
|
||||
V2V, V2S, V2Q = ResAra.Verb ** {c2 : Str} ; --- AR
|
||||
V3 = ResAra.Verb ** {c2, c3 : Str} ;
|
||||
VV = ResAra.Verb ** {isAux : Bool} ; --- IL
|
||||
VV = ResAra.Verb ** {c2 : Str ; isAux : Bool} ; --- IL
|
||||
-- VV = {s : VVForm => Str ; isAux : Bool} ;
|
||||
|
||||
A = ResAra.Adj ;
|
||||
|
||||
@@ -219,7 +219,10 @@ resource ParadigmsAra = open
|
||||
mkV0 : V -> V0 ;
|
||||
mkVS : V -> VS ;
|
||||
mkV2S : V -> Str -> V2S ;
|
||||
mkVV : V -> VV ;
|
||||
mkVV = overload {
|
||||
mkVV : V -> VV = regVV ;
|
||||
mkVV : V -> Str -> VV = c2VV
|
||||
} ;
|
||||
mkV2V : V -> Str -> Str -> V2V ;
|
||||
mkVA : V -> VA ;
|
||||
mkV2A : V -> Str -> V2A ;
|
||||
@@ -514,7 +517,8 @@ resource ParadigmsAra = open
|
||||
mkVS v = v ** {lock_VS = <>} ;
|
||||
mkVQ v = v ** {lock_VQ = <>} ;
|
||||
|
||||
mkVV v = lin VV v ** {isAux = False} ;
|
||||
regVV : V -> VV = \v -> lin VV v ** {isAux = False; c2 = []} ;
|
||||
c2VV : V -> Str -> VV = \v,prep -> regVV v ** {c2 = prep} ;
|
||||
|
||||
V0 : Type = V ;
|
||||
---- V2S, V2V, V2Q, V2A : Type = V2 ;
|
||||
|
||||
@@ -17,7 +17,7 @@ concrete PhraseAra of Phrase = CatAra ** open
|
||||
|
||||
UttCN cn = {s = \\_ => cn.s ! Sg ! Def ! Nom} ; --IL
|
||||
UttNP np = {s = \\_ => np.s ! Nom} ;
|
||||
UttVP vp = {s = \\_ => linVP vp} ; --IL
|
||||
UttVP vp = {s = \\g => (compVP vp).s ! {g=g ; n=Sg} ! Nom} ; --IL
|
||||
UttS,
|
||||
UttAdv,
|
||||
UttIAdv = \s -> {s = \\_ => s.s} ; ---- OK? AR
|
||||
|
||||
@@ -1054,11 +1054,16 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
||||
s2 : Str
|
||||
};
|
||||
|
||||
linVP : VP -> Str = \vp -> --used for the first dummy implementation of ComplVV --IL
|
||||
vp.s ! Per3 Masc Sg ! VPPerf ++ vp.s2 ++
|
||||
case vp.isPred of {
|
||||
True => vp.pred.s ! {g=Masc ; n=Sg} ! Acc ;
|
||||
False => vp.obj.s } ;
|
||||
-- For complements of VV.
|
||||
-- TODO: does verbal complement agree with the noun
|
||||
compVP : VP -> Comp = \vp -> ---- IL
|
||||
{ s = table {
|
||||
aagr@{g=g ; n=n} => \\c =>
|
||||
vp.s ! Per3 g n ! VPImpf Ind ---- IL guesswork + https://arabic.desert-sky.net/g_modals.html
|
||||
++ vp.s2
|
||||
++ vp.pred.s ! aagr ! Acc
|
||||
++ vp.obj.s }
|
||||
} ;
|
||||
|
||||
predV : Verb -> VP = \v ->
|
||||
{ s = \\pgn,vf =>
|
||||
|
||||
@@ -50,7 +50,7 @@ concrete StructuralAra of Structural = CatAra **
|
||||
-- more_CAdv = ss "مْري" ;
|
||||
most_Predet = mkPredet "أَكثَر" True ;
|
||||
much_Det = mkDet "الكَثِير مِنَ" Pl Const ;
|
||||
-- must_VV = {
|
||||
must_VV = mkVV (v1 "وجب" a i) "أن" ;
|
||||
-- s = table VVForm [["بي هَثي تْ"] ; "مُست" ; ["هَد تْ"] ;
|
||||
-- ["هَد تْ"] ; ["هَثِنغ تْ"] ; "مُستنءت" ; ["هَدنءت تْ"]] ; ----
|
||||
-- isAux = True
|
||||
|
||||
@@ -17,9 +17,13 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in {
|
||||
a = {pgn = Per3 Masc Sg ; isPron = False} } --FIXME
|
||||
(predV v) ;-}
|
||||
|
||||
-- First dummy implementation / IL 2018-09-06
|
||||
ComplVV v vp = insertStr (linVP vp) (predV v) ;
|
||||
--
|
||||
ComplVV vv vp = --- IL
|
||||
predV vv ** {
|
||||
s2 = vv.c2 ; -- add the preposition of the VV. TODO: do we need a separate field in the VP?
|
||||
pred = compVP vp ; -- add VP complement in pred. TODO: what agreement features are needed?
|
||||
isPred = False } ; {- Despite verb complement being in pred, it's not predicative.
|
||||
Changing this to True causes PredVP to not include the verb. -}
|
||||
|
||||
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
||||
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user