{
node(S2).bot.extraction = value(rel);
node(S).top.extraction = value(adjx);
node(S).bot.extraction = value(adjx);
%% node(S2).adj = value(no);
node(S2).top = node(S2).bot;
node(S2).adjleft = value(no);
node XGroup : [type: alternative];
%% Generally not possible to extract infinitive relative (for args)
%% mode should be tested at level of S
%% to allow for .. la fille que [Jean croit] aimer
%% where [Jean croit] is adjoined upon an infinitive relative
%% but infinitive relative are however possible in
%% example: c'est la personne à qui parler
%% only possible for prepargs (but not all)
%% possible for object, but using prep à
%% example: une bonne pomme à manger
%% example: une occasion à saisir
%% TO BE IMPLEMENTED
node(S).top.mode = value(conditional|subjonctive|indicative|adjective|infinitive);
node(S).top.sat = value(-);
node(S).top.inv = value(~cl);
%% Realization of a subject, object or attribute by a relative pronoun
node prel_arg : [cat:prel,id:subject|object|comp|preparg,
type:coanchor,
bot:[case: nom|acc|loc|gen]];
XGroup >> prel_arg;
- prel_arg::
agreement;
prel_arg = prel_comp::
N;
%% 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(prel_arg).id = node(prel_arg).dummy.nodeid;
prel_arg +
node(XGroup).extracted.real = value(prel),
node(XGroup).extracted.pcas = value(-|de|loc),
node(S2).bot.xarg.trace = value(-),
node(S2).bot.xarg.lex = node(prel_arg).lex
;
prel_arg +
node(S2).bot.xarg.case = value(nom),
node(prel_arg).dummy.nodeid = value(subject),
node(prel_arg).bot.case = value(nom),
node(XGroup).extracted.kind = value(subj),
node(Infl).bot.inv = value(-),
node(XGroup).extracted.pcas = value(-),
node(S).top.mode = value(~infinitive)
|
node(S2).bot.xarg.case = value(acc),
node(prel_arg).dummy.nodeid = value(object),
node(prel_arg).bot.case = value(acc),
node(XGroup).extracted.kind = value(obj|scomp|vcomp),
desc.dummy.objinfo.number = node(XGroup).top.number,
desc.dummy.objinfo.gender = node(XGroup).top.gender,
desc.dummy.objinfo.person = node(XGroup).top.person,
node(XGroup).extracted.pcas = value(-),
node(S).top.mode = value(~infinitive)
|
node(prel_arg).lex = value(dont),
node(S2).bot.xarg.case = value(other),
node(prel_arg).dummy.nodeid = value(preparg),
node(XGroup).extracted.function = value(objde),
node(XGroup).extracted.kind = value(prepobj),
node(XGroup).extracted.pcas = value(de),
node(S).top.mode = value(~infinitive)
|
node(prel_arg).lex = value(où),
node(S2).bot.xarg.case = value(other),
node(prel_arg).dummy.nodeid = value(preparg),
node(XGroup).extracted.function = value(loc),
node(XGroup).extracted.kind = value(prepobj),
node(XGroup).extracted.pcas = value(loc),
node(S).top.mode = value(~infinitive)
|
node(S2).bot.xarg.case = value(other),
node(prel_arg).dummy.nodeid = value(comp),
node(prel_arg).bot.case = value(nom|acc|loc),
node(XGroup).extracted.kind = value(acomp),
node(XGroup).extracted.pcas = value(-)
;
%% Realization as a relative pronoun with a preposition
XGroup >> prelPP;
node prelPP : [type: sequence];
prelPP >> prep;
prelPP >> prel2;
prep < prel2;
node prep : [cat:prep,id:prep,type:coanchor,bot: [pcas: ~-]];
node prel2 : [cat:prel,id:preparg,type:coanchor];
node(prel2).secondary = node(prep).id;
node(prel2).secondary_label = value(N2);
prel_arg < prelPP;
prelPP +
node(S2).bot.xarg.case = value(other),
node(XGroup).extracted.real = value(PP),
node(XGroup).extracted.kind = value(prepobj|prepvcomp|prepscomp|prepacomp),
node(XGroup).extracted.pcas = node(prep).top.pcas,
node(S2).bot.xarg.trace = value(-);
XGroup >> RelSTrace;
prelPP < RelSTrace;
node RelSTrace : [cat:strace,type:subst,id:reltrace];
RelSTrace +
node(S2).bot.xarg.case = value(nom),
node(S2).bot.xarg.trace = value(+);
%% Realization as a trace for nominative case
%% Temporary solution ! (just check there is a coordination just before!)
%% example: les amis qui rient et chantent me plaisent
XGroup >> prepà;
RelSTrace < prepà;
node prepà : [cat: prep, id: object,type: coanchor, bot: [pcas: à]];
prepà +
node(S2).bot.xarg.case = value(acc),
node(XGroup).extracted.real = value(prel),
node(XGroup).extracted.kind = value(obj|scomp|vcomp),
desc.dummy.objinfo.number = node(XGroup).top.number,
desc.dummy.objinfo.gender = node(XGroup).top.gender,
desc.dummy.objinfo.person = node(XGroup).top.person,
node(XGroup).extracted.pcas = value(-),
node(S).top.mode = value(infinitive)
;
node(XGroup).top.number = node(S2).bot.xarg.number;
node(XGroup).top.gender = node(S2).bot.xarg.gender;
}
Ajouter un commentaire