mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
223 lines
4.3 KiB
Plaintext
223 lines
4.3 KiB
Plaintext
concrete SmallPredChi of SmallPred =
|
|
RGLBaseChi - [Pol,Tense,Ant],
|
|
|
|
NDPredChi [
|
|
Ant,NP,Utt,IP,IAdv,IComp,Conj,
|
|
PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
|
|
PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
|
|
|
|
Tense ,
|
|
Pol ,
|
|
TPres, TPast, TFut, TCond,
|
|
PPos, PNeg,
|
|
ASimul, AAnter,
|
|
PrAdv_none ,
|
|
PrS,
|
|
PrAP_none ,
|
|
PrCN_none,
|
|
UttPrS
|
|
|
|
],
|
|
|
|
NDLiftChi [
|
|
CN,AP,V,V2,VV,VS,VA,VQ,V2V,V2S,V2Q,V2A,V3,
|
|
PrV_none, PrV_np , PrV_v , PrV_s , PrV_q , PrV_a , PrV_n ,
|
|
PrV_np_np , PrV_np_v , PrV_np_s , PrV_np_q , PrV_np_a , PrV_np_n ,
|
|
|
|
LiftV,
|
|
LiftV2,
|
|
LiftVS,
|
|
LiftVQ,
|
|
LiftVV,
|
|
LiftVA,
|
|
LiftVN,
|
|
|
|
LiftV3,
|
|
LiftV2S,
|
|
LiftV2Q,
|
|
LiftV2V,
|
|
LiftV2A,
|
|
LiftV2N,
|
|
|
|
LiftAP,
|
|
LiftCN,
|
|
|
|
LiftAdv,
|
|
LiftAdV
|
|
],
|
|
|
|
ChunkChi [
|
|
Chunks,
|
|
Chunk,
|
|
|
|
OneChunk,
|
|
PlusChunk,
|
|
|
|
ChunkPhr,
|
|
|
|
AP_Chunk,
|
|
AdA_Chunk,
|
|
Adv_Chunk,
|
|
AdV_Chunk,
|
|
AdN_Chunk,
|
|
CN_Pl_Chunk,
|
|
CN_Sg_Chunk,
|
|
CN_Pl_Gen_Chunk,
|
|
CN_Sg_Gen_Chunk,
|
|
Conj_Chunk,
|
|
IAdv_Chunk,
|
|
IP_Chunk,
|
|
NP_Nom_Chunk,
|
|
NP_Acc_Chunk,
|
|
NP_Gen_Chunk,
|
|
Numeral_Nom_Chunk,
|
|
Numeral_Gen_Chunk,
|
|
Ord_Nom_Chunk,
|
|
Ord_Gen_Chunk,
|
|
Predet_Chunk,
|
|
Prep_Chunk,
|
|
RP_Nom_Chunk,
|
|
RP_Gen_Chunk,
|
|
RP_Acc_Chunk,
|
|
Subj_Chunk,
|
|
|
|
V_none_prespart_Chunk, V_none_pastpart_Chunk,
|
|
V_np_prespart_Chunk, V_np_pastpart_Chunk,
|
|
V_s_prespart_Chunk, V_s_pastpart_Chunk,
|
|
V_v_prespart_Chunk, V_v_pastpart_Chunk,
|
|
V_q_prespart_Chunk, V_q_pastpart_Chunk,
|
|
V_a_prespart_Chunk, V_a_pastpart_Chunk,
|
|
|
|
V_np_np_prespart_Chunk, V_np_np_pastpart_Chunk,
|
|
V_np_s_prespart_Chunk, V_np_s_pastpart_Chunk,
|
|
V_np_v_prespart_Chunk, V_np_v_pastpart_Chunk,
|
|
V_np_q_prespart_Chunk, V_np_q_pastpart_Chunk,
|
|
V_np_a_prespart_Chunk, V_np_a_pastpart_Chunk,
|
|
|
|
refl_SgP1_Chunk,
|
|
refl_SgP2_Chunk,
|
|
refl_SgP3_Chunk,
|
|
refl_PlP1_Chunk,
|
|
refl_PlP2_Chunk,
|
|
refl_PlP3_Chunk,
|
|
neg_Chunk,
|
|
copula_Chunk,
|
|
copula_neg_Chunk,
|
|
copula_inf_Chunk,
|
|
past_copula_Chunk,
|
|
past_copula_neg_Chunk,
|
|
future_Chunk,
|
|
future_neg_Chunk,
|
|
cond_Chunk,
|
|
cond_neg_Chunk,
|
|
perfect_Chunk,
|
|
perfect_neg_Chunk,
|
|
past_perfect_Chunk,
|
|
past_perfect_neg_Chunk
|
|
|
|
|
|
]
|
|
|
|
** open (P=PredChi), PredInstanceChi, ResChi in {
|
|
|
|
lincat
|
|
PrVP_none , PrVP_np , PrVP_v , PrVP_s , PrVP_q , PrVP_a , PrVP_n ,
|
|
PrVP_np_np , PrVP_np_v , PrVP_np_s , PrVP_np_q , PrVP_np_a , PrVP_np_n
|
|
= {
|
|
v : Str
|
|
} ;
|
|
|
|
PrCl_none
|
|
= {s : Str} ;
|
|
PrQCl_none
|
|
= {s : Str} ;
|
|
|
|
lin
|
|
UseV_none,
|
|
UseV_np,
|
|
UseV_v,
|
|
UseV_s,
|
|
UseV_a,
|
|
UseV_q,
|
|
UseV_n,
|
|
UseV_np_np,
|
|
UseV_np_v,
|
|
UseV_np_s,
|
|
UseV_np_a,
|
|
UseV_np_q,
|
|
UseV_np_n
|
|
= \a,t,p,v -> mkVP (P.UseV P.aNone a t p v) ;
|
|
|
|
oper
|
|
mkVP : PrVerbPhrase -> SmallPredChi.PrVP_none = \vp ->
|
|
lin PrVP_none {
|
|
v =
|
|
let
|
|
vv = vp.v ! UUnit ;
|
|
vpa = UUnit ;
|
|
in
|
|
vv.p1 ++ vp.adV ++ vv.p2 ++ vv.p3 ++ vp.adj ! vpa ++
|
|
appPrep vp.c1 (vp.obj1.p1 ! vpa) ++ appPrep vp.c2 (vp.obj2.p1 ! vpa) ++ vp.adv ++ vp.ext
|
|
} ;
|
|
|
|
lin
|
|
UseAdv_none = \a,t,p,v -> mkVP (P.UseAdv P.aNone a t p v) ;
|
|
UseCN_none = \a,t,p,v -> mkVP (P.UseCN P.aNone a t p v) ;
|
|
UseNP_none = \a,t,p,v -> mkVP (P.UseNP a t p v) ;
|
|
|
|
QuestCl_none cl = {s = cl.s ++ question_s} ;
|
|
|
|
UseCl_none cl = lin PrS {s = cl.s} ;
|
|
UseQCl_none cl = lin PrS cl ;
|
|
|
|
PredVP_none, PredVP_np, PredVP_v, PredVP_a, PredVP_q, PredVP_s,
|
|
PredVP_np_np, PredVP_np_v, PredVP_np_a, PredVP_np_q, PredVP_np_s
|
|
= \np, vp -> {
|
|
s = np.s ++ vp.v
|
|
} ;
|
|
|
|
Pred2VP_none, Pred2VP_np, Pred2VP_v, Pred2VP_a, Pred2VP_q, Pred2VP_s,
|
|
Pred2VP_np_np, Pred2VP_np_v, Pred2VP_np_a, Pred2VP_np_q, Pred2VP_np_s
|
|
= \s,v,o -> {
|
|
s = s.s ++ v.v ++ o.s ;
|
|
} ;
|
|
|
|
PredAP_none
|
|
= \a, t, p, np, ap ->
|
|
let cl = P.PredVP P.aNone np (P.UseAP P.aNone a t p ap) in {
|
|
s = declCl cl ;
|
|
q = questCl (P.QuestCl P.aNone cl) ;
|
|
} ;
|
|
|
|
Cl_Chunk cl = cl ;
|
|
QCl_Chunk cl = cl ;
|
|
|
|
VP_none_Chunk,
|
|
VP_np_Chunk,
|
|
VP_s_Chunk,
|
|
VP_v_Chunk,
|
|
VP_a_Chunk,
|
|
VP_q_Chunk,
|
|
VP_np_np_Chunk,
|
|
VP_np_s_Chunk,
|
|
VP_np_a_Chunk,
|
|
VP_np_q_Chunk,
|
|
VP_np_v_Chunk
|
|
= \vp ->
|
|
{s = vp.v} ;
|
|
|
|
VP_none_inf_Chunk,
|
|
VP_np_inf_Chunk,
|
|
VP_s_inf_Chunk,
|
|
VP_a_inf_Chunk,
|
|
VP_q_inf_Chunk,
|
|
VP_v_inf_Chunk,
|
|
VP_np_np_inf_Chunk,
|
|
VP_np_s_inf_Chunk,
|
|
VP_np_a_inf_Chunk,
|
|
VP_np_q_inf_Chunk,
|
|
VP_np_v_inf_Chunk
|
|
= \vp -> {s = vp.v} ;
|
|
|
|
}
|