{
desc.short_sentence = value(-);
%% We introduce a node S2 to handle argument extractions
node S2 : [ id: S2, cat: S, bot: [sat: -]];
S2 >> S;
%% Agreement between S and S2 on almost all features
%% node(S2).top = node(S2).bot;
node(S2).bot.gender = node(S).bot.gender;
node(S2).bot.number = node(S).bot.number;
node(S2).bot.person = node(S).bot.person;
node(S2).bot.mode = node(S).top.mode;
node(S2).bot.neg = node(S).top.neg;
node(S2).bot.sat = node(S).top.sat;
node(S2).bot.tense = node(S).top.tense;
node(S2).bot.wh = node(S).top.wh;
node(S2).bot.inv = node(S).top.inv;
node(S2).bot.quant = node(S).top.quant;
node(S2).bot.quant = node(S2).top.quant;
S2 >> XGroupMod;
node XGroupMod : [id:vmod,cat:VMod,type:std,bot: [position: -|post, neg: -, cat: S|CS|adv|N2|pres|csu|pro]];
node(S2).bot.quant = node(XGroupMod).top.quant;
XGroupMod < S;
XGroupMod >> XGroup;
%% node(Infl).top.mode = value(~imperative|participle|gerundive);
%% we may have extraction in participles
%% example: par quoi trouve-t-il Paul changé ?
%% but extracted participles should have no autonomie
%% ie, should require adjoining on S
node(Infl).top.mode = value(~imperative|gerundive);
%% the following should force adjunction when participle
v +
node(Infl).top.mode = value(participle),
node(S).top.extraction = value(adjx)
|
node(Infl).top.mode = value(~participle)
;
desc.extraction = value(rel|wh|cleft|topic);
node(XGroup).extracted.extracted = desc.extraction;
node(XGroup).top = node(XGroup).bot;
%% At most one extracted arg
v +
desc.ht.arg0 = node(XGroup).extracted,
desc.@extracted1 = value(-),
desc.@extracted2 = value(-)
|
desc.ht.arg1 = node(XGroup).extracted,
desc.@extracted0 = value(-),
desc.@extracted2 = value(-)
|
desc.ht.arg2 = node(XGroup).extracted,
desc.@extracted0 = value(-),
desc.@extracted1 = value(-)
;
node XGroup : [];
v +
node(XGroup).extracted.kind = value(subj),
node(XGroup).extracted.pcas = value(-),
node(XGroup).top.number = node(S2).bot.number,
node(XGroup).top.gender = node(S2).bot.gender,
node(XGroup).top.person = node(S2).bot.person
|
node(XGroup).extracted.kind = value(~subj)
;
node(S).top.extraction = value(adjx|rel|wh|cleft|topic|estceaux);
}
Ajouter un commentaire