{
node(S2).bot.extraction = value(wh);
node(XGroup).extracted.real = value(N2|PP);
node XGroup : [type: alternative];
node(XGroupMod).adj = value(no);
%% Realization as wh-N2 for subject, object or acomp
node N2_arg : [cat:N2,id: subject|object|comp|preparg, type:subst,top: [wh:+,sat:+]];
XGroup >> N2_arg;
%% This one is a hack to get the right finite set type !!
%% Should be possible to explicetely state a type
%% rather than relying on implicit typing
node(N2_arg).id = node(N2_arg).dummy.nodeid;
N2_arg +
node(XGroup).extracted.real = value(N2),
node(XGroup).extracted.pcas = value(-|loc),
node(XGroup).extracted.kind = value(subj|obj|acomp|prepobj)
;
N2_arg +
node(XGroup).extracted.kind = value(subj),
node(N2_arg).dummy.nodeid = value(subject),
node(N2_arg).top.case = value(nom),
node(S).top.mode = value(conditional|subjonctive|indicative|adjective),
node(V).top.mode = value(~infinitive),
node(XGroup).bot.number = node(N2_arg).top.number,
node(XGroup).bot.gender = node(N2_arg).top.gender,
node(XGroup).bot.person = node(N2_arg).top.person,
node(Infl).bot.inv = value(~+)
|
node(XGroup).extracted.kind = value(obj),
node(N2_arg).dummy.nodeid = value(object),
desc.dummy.objinfo.number = node(N2_arg).top.number,
desc.dummy.objinfo.gender = node(N2_arg).top.gender,
desc.dummy.objinfo.person = node(N2_arg).top.person,
node(N2_arg).top.case = value(acc)
|
node(XGroup).extracted.kind = value(acomp),
node(N2_arg).dummy.nodeid = value(comp),
node(N2_arg).top.case = value(comp)
|
node(XGroup).extracted.kind = value(prepobj),
node(XGroup).extracted.pcas = value(loc),
node(N2_arg).dummy.nodeid = value(preparg),
node(N2_arg).top.case = value(loc),
node(N2_arg).top.headcat = value(pri)
;
%% Realization as wh-PP
node PP : [cat:PP,id:preparg|comp,type:subst,top: [wh:+,real:pri|N2]];
node(PP).id = node(PP).dummy.nodeid;
XGroup >> PP;
PP +
node(XGroup).extracted.real = value(PP),
node(XGroup).extracted.pcas = node(PP).top.pcas
;
PP +
node(XGroup).extracted.kind = value(prepobj|prepvcomp|prepscomp|prepacomp),
node(PP).dummy.nodeid = value(preparg)
|
node(XGroup).extracted.kind = value(acomp),
node(PP).dummy.nodeid = value(comp),
node(PP).top.pcas = value(de)
;
N2_arg < PP;
%% wh-extraction may be completed by a cleft
S >> CleftQue; CleftQue < VSubj;
node CleftQue: [cat:prel, adj: no, type: coanchor];
node(CleftQue).bot.case = value(nom|acc);
CleftQue =>
node(S).top.extraction = value(estceaux),
node(S).bot.extraction = value(wh);
CleftQue =>
node(XGroup).extracted.kind = value(subj),
node(CleftQue).bot.case = value(nom)
|
node(XGroup).extracted.kind = value(~subj),
node(CleftQue).bot.case = value(acc)
;
~ CleftQue =>
node(S).top.extraction = value(~estceaux),
node(S).bot.extraction = value(adjx)
;
}
Ajouter un commentaire