forked from GitHub/gf-rgl
(Ara) Small fixes + comments
This commit is contained in:
@@ -28,7 +28,7 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA
|
|||||||
---- IL guessed
|
---- IL guessed
|
||||||
-- : IComp -> NP -> QCl
|
-- : IComp -> NP -> QCl
|
||||||
QuestIComp ic np =
|
QuestIComp ic np =
|
||||||
let vp = UseComp (CompNP np) ;
|
let vp = UseComp (CompNP np) ; -- puts NP in nominative
|
||||||
ip : ResAra.IP = np ** { -- NP's s is already present in VP, we only want its agr
|
ip : ResAra.IP = np ** { -- NP's s is already present in VP, we only want its agr
|
||||||
s = \\_,_,_,_ => ic.s ! pgn2gn np.a.pgn } ;
|
s = \\_,_,_,_ => ic.s ! pgn2gn np.a.pgn } ;
|
||||||
in QuestVP ip vp ;
|
in QuestVP ip vp ;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ concrete RelativeAra of Relative = CatAra **
|
|||||||
s = \\t,p,agr,c =>
|
s = \\t,p,agr,c =>
|
||||||
let
|
let
|
||||||
npS : Case => Str = \\_ => rp.s ! agr2ragr agr c ;
|
npS : Case => Str = \\_ => rp.s ! agr2ragr agr c ;
|
||||||
np : NP = agrNP agr ** {s = npS} ;
|
np : ResAra.NP = agrNP agr ** {s = npS} ;
|
||||||
cl = predVP np vp ;
|
cl = predVP np vp ;
|
||||||
in
|
in
|
||||||
cl.s ! t ! p ! Nominal
|
cl.s ! t ! p ! Nominal
|
||||||
|
|||||||
@@ -1553,7 +1553,7 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
<True, Pres, Pos> => vp.pred.s ! gn ! Nom; --xabar marfooc
|
<True, Pres, Pos> => vp.pred.s ! gn ! Nom; --xabar marfooc
|
||||||
_ => vp.pred.s ! gn ! Acc --xabar kaana wa laysa manSoob
|
_ => vp.pred.s ! gn ! Acc --xabar kaana wa laysa manSoob
|
||||||
};
|
};
|
||||||
sc : Preposition = case o of {Subord => {s=[]; c=Acc} ; Dir => vp.sc} ;
|
sc : Preposition = case o of {Subord => {s=[]; c=Acc} ; _ => vp.sc} ;
|
||||||
subj = np.empty ++ sc.s
|
subj = np.empty ++ sc.s
|
||||||
++ case vp.isPred of {
|
++ case vp.isPred of {
|
||||||
False => (proDrop np).s ! sc.c ; -- prodrop if it's not predicative
|
False => (proDrop np).s ! sc.c ; -- prodrop if it's not predicative
|
||||||
@@ -1588,8 +1588,8 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
|
|
||||||
Obj : Type = {
|
Obj : Type = {
|
||||||
s : Str ;
|
s : Str ;
|
||||||
a : Agr -- default Agr in a VP without real Obj is Per3 Masc Sg
|
a : Agr -- default Agr in a VP without real Obj is Per3 Masc Sg.
|
||||||
};
|
}; -- need isPron for word order in predVP, and pgn for ImpersCl
|
||||||
|
|
||||||
emptyObj : Obj = emptyNP ** {s=[]} ;
|
emptyObj : Obj = emptyNP ** {s=[]} ;
|
||||||
|
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ concrete SentenceAra of Sentence = CatAra ** open
|
|||||||
ImpVP vp = {
|
ImpVP vp = {
|
||||||
s = \\p,g,n =>
|
s = \\p,g,n =>
|
||||||
case p of {
|
case p of {
|
||||||
Pos => vp.s ! (Per2 g n) ! VPImp ++ vp.obj.s ++ vp.s2 ;
|
Pos => vp.s ! Per2 g n ! VPImp ;
|
||||||
Neg => "لا" ++ vp.s ! (Per2 g n) ! (VPImpf Jus) ++ vp.obj.s ++ vp.s2
|
Neg => "لَا" ++ vp.s ! Per2 g n ! VPImpf Jus
|
||||||
}
|
} ++ vp.obj.s ++ vp.pred.s ! {g=g;n=n} ! Acc ++ vp.s2
|
||||||
};
|
};
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra, ParamX in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : VA -> AP -> VP ; -- they become red
|
-- : VA -> AP -> VP ; -- they become red
|
||||||
ComplVA v ap = predV v ** {comp = CompAP ap} ;
|
ComplVA v ap = predV v ** {pred = CompAP ap} ;
|
||||||
|
|
||||||
-- ComplV2A v np ap =
|
-- ComplV2A v np ap =
|
||||||
-- insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
-- insertObj (\\_ => v.c2 ++ np.s ! Acc ++ ap.s ! np.a) (predV v) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user