mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
(Ara) Add subject case field to VP
This commit is contained in:
@@ -13,7 +13,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
|||||||
SSlash,
|
SSlash,
|
||||||
S = {s : Str} ;
|
S = {s : Str} ;
|
||||||
QS = {s : QForm => Str} ;
|
QS = {s : QForm => Str} ;
|
||||||
RS = {s : Agr => Case => Str} ;
|
RS = {s : Agr => Case => Str} ; -- case because the relative pronoun inflects in case
|
||||||
|
|
||||||
-- Sentence
|
-- Sentence
|
||||||
|
|
||||||
@@ -79,7 +79,8 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
|||||||
|
|
||||||
V, VS, VQ, VA = ResAra.Verb ; -- = {s : VForm => Str} ;
|
V, VS, VQ, VA = ResAra.Verb ; -- = {s : VForm => Str} ;
|
||||||
V2, V2A = ResAra.Verb2 ;
|
V2, V2A = ResAra.Verb2 ;
|
||||||
VV, V2S, V2Q = ResAra.Verb2 ;
|
VV = ResAra.Verb2 ** {sc : Preposition} ;
|
||||||
|
V2S, V2Q = ResAra.Verb2 ;
|
||||||
V2V, V3 = ResAra.Verb3 ;
|
V2V, V3 = ResAra.Verb3 ;
|
||||||
|
|
||||||
A = ResAra.Adj ;
|
A = ResAra.Adj ;
|
||||||
|
|||||||
@@ -1363,6 +1363,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
|
|
||||||
VP : Type = {
|
VP : Type = {
|
||||||
s : PerGenNum => VPForm => Str ;
|
s : PerGenNum => VPForm => Str ;
|
||||||
|
sc : Preposition ; -- subject case: e.g. يُمْكِنُ *لِ*Xِ
|
||||||
obj : Obj;
|
obj : Obj;
|
||||||
pred : Comp;
|
pred : Comp;
|
||||||
isPred : Bool; --indicates if there is a predicate (xabar)
|
isPred : Bool; --indicates if there is a predicate (xabar)
|
||||||
@@ -1382,6 +1383,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
VPImpf m => v.s ! (VImpf m Act pgn);
|
VPImpf m => v.s ! (VImpf m Act pgn);
|
||||||
VPImp => v.s ! (VImp gn.g gn.n)
|
VPImp => v.s ! (VImp gn.g gn.n)
|
||||||
};
|
};
|
||||||
|
sc = noPrep ;
|
||||||
obj = emptyObj ;
|
obj = emptyObj ;
|
||||||
s2 = [];
|
s2 = [];
|
||||||
pred = {s = \\_,_ => []} ;
|
pred = {s = \\_,_ => []} ;
|
||||||
@@ -1431,7 +1433,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
subj = np.empty
|
subj = np.empty
|
||||||
++ case <vp.isPred,np.a.isPron> of {
|
++ case <vp.isPred,np.a.isPron> of {
|
||||||
<False,True> => [] ; -- prodrop if it's not predicative
|
<False,True> => [] ; -- prodrop if it's not predicative
|
||||||
_ => np.s ! Nom
|
_ => vp.sc.s ++ np.s ! vp.sc.c
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
} in
|
} in
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
|
|||||||
s = \\pgn,vpf => vvVP.s ! pgn ! vpf
|
s = \\pgn,vpf => vvVP.s ! pgn ! vpf
|
||||||
++ vv.c2.s -- أَنْ
|
++ vv.c2.s -- أَنْ
|
||||||
++ vp.s ! pgn ! VPImpf Cnj ;
|
++ vp.s ! pgn ! VPImpf Cnj ;
|
||||||
isPred = False
|
isPred = False ;
|
||||||
|
sc = vv.sc
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : VS -> S -> VP ; -- say that she runs
|
-- : VS -> S -> VP ; -- say that she runs
|
||||||
|
|||||||
Reference in New Issue
Block a user