{
node clseq:[cat:clseq,type:std,adj:no];
node cll:[cat: cll,id:cll,type:coanchor,adj:no];
node clg:[cat: clg,id:clg,type:coanchor,adj:no];
node cld12 : [cat:cld,id: cld,type:coanchor,id:preparg,adj:no, bot: [person: 1|2]];
node cla : [cat:cla,type:coanchor,id:object|comp|clr,adj:no];
node cld3 : [cat:cld, id:cld,type:coanchor,id:preparg,adj:no];
clseq >> cll;
cld3 < cll;
clseq >> cld12; cld12 < cla;
cla < cld3;
clseq >> cld3;
clseq >> cla;
clseq >> clg; cll < clg;
%% hack to get the right finite set type for nodeid
node(cla).id = node(cla).dummy.nodeid;
% - cla::exclude; cla::N=cla;
% - cld12::exclude; cld12::N=cld12;
% - cld3::exclude; cld3::N=cld3;
% - cll::exclude; cll::N=cll;
% - clg::exclude; clg::N=clg;
cla =>
node(cla).present = value(+),
node(clseq).hascl = value(~ -),
desc.ht.diathesis = value(active),
desc.@cla.arg = value([kind: obj|scomp|acomp|-, pcas: -, real: cla|clr]),
( desc.@cla.arg.function = value(att),
node(cla).dummy.nodeid = value(comp),
desc.ht.ctrsubj = value(suj),
desc.@cla.arg.real = value(cla),
desc.@cla.arg.kind = value(acomp)
|
desc.@cla.arg.function = value(~att|-),
node(cla).dummy.nodeid = value(object),
desc.@cla.arg.real = value(cla),
desc.@cla.arg.kind = value(~acomp|-)
|
desc.@cla.arg.function = value(-),
desc.@cla.arg.kind = value(-),
desc.@cla.arg.real = value(clr),
node(cla).dummy.nodeid = value(clr)
),
desc.@cla.objinfo.number = node(cla).top.number,
desc.@cla.objinfo.gender = node(cla).top.gender,
desc.@cla.objinfo.person = node(cla).top.person
;
~cla =>
node(cla).present = value(-),
node(clseq).hascl = value(~ cla),
desc.@cla.arg = value([kind: -, pcas: -, real: -])
;
cld12 =>
node(cld12).present = value(+),
node(clseq).hascl = value(~ -),
node(clseq).excl = value(ante),
desc.@cld.person = node(cld12).top.person,
desc.@cld.arg = value([kind: prepobj, pcas: à, real: cld12])
;
~cld12 =>
node(cld12).present = value(-),
node(clseq).hascl = value(~ cld12),
desc.@cld.arg = value([kind: prepobj, pcas: à, real: -|cld3])
;
cld3 =>
node(cld3).present = value(+),
node(clseq).hascl = value(~ -),
node(cld3).exists = value(+),
desc.@cld.arg = value([kind: prepobj, pcas: à, real: cld3]),
desc.@cld.person = node(cld3).top.person
;
cld3 =>
node(clseq).excl = value(ante),
node(cld3).top.person = value(3|-)
|
node(clseq).excl = value(post)
;
~cld3 =>
node(cld3).present = value(-),
node(clseq).hascl = value(~ cld3),
desc.@cld.arg = value([kind: prepobj, pcas: à, real: -|cld12])
;
cll =>
node(cll).present = value(+),
node(clseq).hascl = value(~ -),
desc.@cll.arg = value([function: loc|dloc|obl|obl2, pcas: ~-|pour|contre|avec|par|en, real: cll ]),
desc.@cll.lex = node(cll).lex
;
~ cll =>
node(cll).present = value(-),
node(clseq).hascl = value(~ cll),
desc.@cll.arg = value(@emptyarg_fs),
desc.@cll.lex = value(-)
;
clg =>
node(clg).present = value(+),
node(clseq).hascl = value(~ -),
desc.ht.diathesis = value(active),
desc.@clg.arg = value([kind: obj|acomp|prepobj, pcas: -|de, real: ~cla|-, function: obj|objde|att])
;
~clg =>
node(clg).present = value(-),
node(clseq).hascl = value(~ clg),
desc.@clg.arg = value([kind: -, pcas: -, real: -])
;
node(clseq).hascl = value(-|cla|cld12|cld3|cll|clg);
clseq =>
node(clseq).hascl = value(~ -)
;
~ clseq =>
node(clseq).hascl = value(-)
;
}
Ajouter un commentaire