{
$arg = value(@arg_fs);
node Arg : [type: alternative];
AdjP >> Arg;
adj < Arg;
Arg =>
$arg.extracted = value(-),
node(adj).bot.position = value(post)
;
Arg =>
% $arg.kind = value(subj),
% $arg.real = value(S|CS)
% |
$arg.kind = value(scomp|quevcomp),
$arg.real = value(CS)
|
$arg.kind = value(prepvcomp),
$arg.real = value(PP)
|
$arg.kind = value(obj|queobj),
$arg.real = value(N2)
|
$arg.kind = value(prepobj),
$arg.real = value(PP)
;
~ Arg =>
$arg.kind = value(-|subj),
$arg.real = value(-|N2)
;
node XArg : [type: sequence];
Arg >> XArg;
XArg >> prep;
XArg >> csu;
XArg >> XArgAlt;
node XArgAlt : [type: alternative];
XArgAlt >> SArg;
XArgAlt >> N2Arg;
SArg < N2Arg;
prep < csu;
csu < XArgAlt;
Arg >> obj;
Arg >> PP;
XArg < obj;
obj < PP;
node prep : [cat: prep, id:prep, type: coanchor];
node csu: [cat: que, adj: no, id: csu, type: coanchor ];
node SArg : [cat: S, id: xcomp, type: subst, top: [sat: -, extraction: -]];
node N2Arg : [cat: N2, id: xcomp, type: subst, top: [sat: +]];
prep =>
% $arg.kind = value(subj),
% $arg.real = value(S)
% |
$arg.kind = value(prepvcomp),
$arg.real = value(PP),
$arg.pcas = node(prep).top.pcas
;
prep =>
node(SArg).top.mode = value(infinitive);
~ prep =>
$arg.kind = value(~prepvcomp),
$arg.real = value(~S|PP),
$arg.pcas = value(-)
;
csu =>
$arg.real = value(CS|N2),
node(SArg).top.mode = value(~participle|gerundive|imperative)
;
~csu =>
$arg.real = value(~CS),
$arg.kind = value(~queobj|quevcomp)
;
SArg +
$arg.real = value(CS)
;
SArg +
$arg.kind = value(scomp|prepvcomp),
node(SArg).top.mode=value(~infinitive)
|
$arg.kind = value(quevcomp),
node(SArg).top.mode=value(infinitive)
;
N2Arg +
$arg.real = value(N2),
$arg.kind = value(queobj)
;
% ,node(N2Arg).top.number = node(adj).top.number
node obj : [cat: N2, id: object, type: subst, top: [sat: +]];
obj +
$arg.kind = value(obj),
$arg.real = value(N2)
;
node PP : [ cat:PP, type: subst, id: preparg, top: [real: N2]];
PP +
$arg.kind = value(prepobj),
$arg.pcas = node(PP).top.pcas
;
}
Ajouter un commentaire