clitic_sequence

  1. {
  2. node clseq:[cat:clseq,type:std,adj:no];
  3. node cll:[cat: cll,id:cll,type:coanchor,adj:no];
  4. node clg:[cat: clg,id:clg,type:coanchor,adj:no];
  5. node cld12 : [cat:cld,id: cld,type:coanchor,id:preparg,adj:no, bot: [person: 1|2]];
  6. node cla : [cat:cla,type:coanchor,id:object|comp|clr,adj:no];
  7. node cld3 : [cat:cld, id:cld,type:coanchor,id:preparg,adj:no];
  8. clseq >> cll;
  9. cld3 < cll;
  10. clseq >> cld12; cld12 < cla;
  11. cla < cld3;
  12. clseq >> cld3;
  13. clseq >> cla;
  14. clseq >> clg; cll < clg;
  15. %% hack to get the right finite set type for nodeid
  16. node(cla).id = node(cla).dummy.nodeid;
  17. % - cla::exclude; cla::N=cla;
  18. % - cld12::exclude; cld12::N=cld12;
  19. % - cld3::exclude; cld3::N=cld3;
  20. % - cll::exclude; cll::N=cll;
  21. % - clg::exclude; clg::N=clg;
  22. cla =>
  23. node(cla).present = value(+),
  24. node(clseq).hascl = value(~ -),
  25. desc.ht.diathesis = value(active),
  26. desc.@cla.arg = value([kind: obj|scomp|acomp|-, pcas: -, real: cla|clr]),
  27. ( desc.@cla.arg.function = value(att),
  28. node(cla).dummy.nodeid = value(comp),
  29. desc.ht.ctrsubj = value(suj),
  30. desc.@cla.arg.real = value(cla),
  31. desc.@cla.arg.kind = value(acomp)
  32. |
  33. desc.@cla.arg.function = value(~att|-),
  34. node(cla).dummy.nodeid = value(object),
  35. desc.@cla.arg.real = value(cla),
  36. desc.@cla.arg.kind = value(~acomp|-)
  37. |
  38. desc.@cla.arg.function = value(-),
  39. desc.@cla.arg.kind = value(-),
  40. desc.@cla.arg.real = value(clr),
  41. node(cla).dummy.nodeid = value(clr)
  42. ),
  43. desc.@cla.objinfo.number = node(cla).top.number,
  44. desc.@cla.objinfo.gender = node(cla).top.gender,
  45. desc.@cla.objinfo.person = node(cla).top.person
  46. ;
  47. ~cla =>
  48. node(cla).present = value(-),
  49. node(clseq).hascl = value(~ cla),
  50. desc.@cla.arg = value([kind: -, pcas: -, real: -])
  51. ;
  52. cld12 =>
  53. node(cld12).present = value(+),
  54. node(clseq).hascl = value(~ -),
  55. node(clseq).excl = value(ante),
  56. desc.@cld.person = node(cld12).top.person,
  57. desc.@cld.arg = value([kind: prepobj, pcas: à, real: cld12])
  58. ;
  59. ~cld12 =>
  60. node(cld12).present = value(-),
  61. node(clseq).hascl = value(~ cld12),
  62. desc.@cld.arg = value([kind: prepobj, pcas: à, real: -|cld3])
  63. ;
  64. cld3 =>
  65. node(cld3).present = value(+),
  66. node(clseq).hascl = value(~ -),
  67. node(cld3).exists = value(+),
  68. desc.@cld.arg = value([kind: prepobj, pcas: à, real: cld3]),
  69. desc.@cld.person = node(cld3).top.person
  70. ;
  71. cld3 =>
  72. node(clseq).excl = value(ante),
  73. node(cld3).top.person = value(3|-)
  74. |
  75. node(clseq).excl = value(post)
  76. ;
  77. ~cld3 =>
  78. node(cld3).present = value(-),
  79. node(clseq).hascl = value(~ cld3),
  80. desc.@cld.arg = value([kind: prepobj, pcas: à, real: -|cld12])
  81. ;
  82. cll =>
  83. node(cll).present = value(+),
  84. node(clseq).hascl = value(~ -),
  85. desc.@cll.arg = value([function: loc|dloc|obl|obl2, pcas: ~-|pour|contre|avec|par|en, real: cll ]),
  86. desc.@cll.lex = node(cll).lex
  87. ;
  88. ~ cll =>
  89. node(cll).present = value(-),
  90. node(clseq).hascl = value(~ cll),
  91. desc.@cll.arg = value(@emptyarg_fs),
  92. desc.@cll.lex = value(-)
  93. ;
  94. clg =>
  95. node(clg).present = value(+),
  96. node(clseq).hascl = value(~ -),
  97. desc.ht.diathesis = value(active),
  98. desc.@clg.arg = value([kind: obj|acomp|prepobj, pcas: -|de, real: ~cla|-, function: obj|objde|att])
  99. ;
  100. ~clg =>
  101. node(clg).present = value(-),
  102. node(clseq).hascl = value(~ clg),
  103. desc.@clg.arg = value([kind: -, pcas: -, real: -])
  104. ;
  105. node(clseq).hascl = value(-|cla|cld12|cld3|cll|clg);
  106. clseq =>
  107. node(clseq).hascl = value(~ -)
  108. ;
  109. ~ clseq =>
  110. node(clseq).hascl = value(-)
  111. ;
  112. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View