Révisions

  1. {
  2. %% used for scomp, vcomp and whcomp arguments
  3. %% also used for acomp args
  4. %% Realization of arg as scomp done through adjunction to allow
  5. %% embeded extraction such as
  6. %% qui Jean pense que Paul aime
  7. node SArg : [cat: S, id:xcomp|comp];
  8. node(SArg).id = node(SArg).dummy.nodeid;
  9. %% no extraction on current arg
  10. SComp +
  11. $arg.extracted = value(-|cleft),
  12. $arg.kind = value(scomp|whcomp|vcomp|vcompcaus|prepscomp|prepvcomp|acomp|vcompprog),
  13. $arg.real = value(CS|S|PP)
  14. ;
  15. SArg +
  16. $arg.real = value(CS),
  17. $arg.kind = value(scomp),
  18. node(SArg).top.mode = value(~infinitive|participle)
  19. |
  20. $arg.real = value(S),
  21. node(v).cat = value(v),
  22. (
  23. $arg.kind = value(whcomp),
  24. ( node(SArg).top.extraction = value(wh),
  25. node(SArg).top.wh = value(+)
  26. |
  27. node(SArg).top.wh = value(-),
  28. node(si).dummy.is_present = value(+)
  29. )
  30. |
  31. node(SArg).top.mode = value(infinitive),
  32. (
  33. $arg.kind = value(vcomp),
  34. node(SArg).top.control = value(-),
  35. %% vcomp args are usually handled by modal verbs by adjoining,
  36. %% except
  37. (
  38. %% when there is an impersonal subject
  39. %% example: il faut manger
  40. desc.ht.imp = value(+)
  41. |
  42. %% when there is (potentially) another argument
  43. %% or when the argument has not the object function
  44. %% example: il entend Paul chanter
  45. %% example: il lui assure partir prochainement
  46. %% example: il va manger
  47. ( desc.ht.arg2.function = value(~-)
  48. | desc.ht.arg2.function = value(-),
  49. $arg.function = value(~obj)
  50. ),
  51. %% handling control
  52. %% will block vcomp if the control arg is missing
  53. %% and will leave a trace in ht of the controlling argument
  54. ( desc.ht.ctrsubj = desc.ht.arg0.function
  55. | desc.ht.ctrsubj = desc.ht.arg1.function
  56. | desc.ht.ctrsubj = desc.ht.arg2.function
  57. )
  58. )
  59. |
  60. $arg.kind = value(vcompcaus),
  61. node(SArg).top.control = value(causative)
  62. )
  63. |
  64. $arg.kind = value(acomp),
  65. node(v).top.être = value(-),
  66. node(SArg).top.control = value(-),
  67. node(SArg).top.mode = value(participle),
  68. node(SArg).top.sat = value(-|ppart),
  69. (
  70. ( $arg.kind = desc.@kind1
  71. | desc.@diathesis = value(passive)
  72. ),
  73. (
  74. node(SArg).top.number = node(Infl).top.number,
  75. node(SArg).top.gender = node(Infl).top.gender
  76. |
  77. node(Infl).top.number = value(pl),
  78. node(Infl).top.person = value(2),
  79. node(SArg).top.number = value(sg)
  80. |
  81. node(Infl).top.number = value(sg),
  82. node(Infl).top.person = value(3),
  83. node(Infl).top.gender = value(on)
  84. )
  85. |
  86. desc.@diathesis = value(active),
  87. desc.@kind1 = value(obj),
  88. ( node(SArg).top.number = desc.dummy.objinfo.number
  89. |
  90. desc.dummy.objinfo.person = value(2),
  91. desc.dummy.objinfo.number = value(pl),
  92. node(SArg).top.number = value(sg)
  93. ),
  94. node(SArg).top.gender = desc.dummy.objinfo.gender
  95. )
  96. )
  97. |
  98. $arg.real = value(PP),
  99. (
  100. $arg.kind = value(prepscomp),
  101. node(SArg).top.mode = value(~infinitive|participle)
  102. |
  103. $arg.kind = value(prepvcomp),
  104. node(SArg).top.mode = value(infinitive),
  105. node(SArg).top.control = value(~causative),
  106. %% handling control
  107. %% will block vcomp if the control arg is missing
  108. %% and will leave a trace in ht of the controlling argument
  109. ( desc.ht.ctrsubj = desc.ht.arg0.function
  110. | desc.ht.ctrsubj = desc.ht.arg1.function
  111. | desc.ht.ctrsubj = desc.ht.arg2.function
  112. )
  113. )
  114. ;
  115. %% node(v).lex = value(~être|suis|es|est|sommes|êtes|sont|serais|étais|était|été|sera|fut|fûmes|fûtes|soit)
  116. %% node(SArg).top.mode = value(participle)
  117. node SComp : [cat:ArgComp, bot: [arg: $arg]];
  118. node prep: [cat: prep, id:prep, type: coanchor];
  119. SComp >> prep;
  120. prep =>
  121. $arg.kind = value(prepscomp|prepvcomp),
  122. $arg.pcas = value(à|de|pour|sur|par),
  123. $arg.pcas = node(prep).top.pcas;
  124. ~ prep =>
  125. $arg.pcas = value(-),
  126. $arg.kind = value(~prepscomp|prepvcomp);
  127. %% comme is added for whcomp, but it is actually used for indirect exclamative
  128. %% rather than indirect wh (but the two notion are close)
  129. %% example: regarde comme il est beau !
  130. node si : [type: coanchor, id: siwh, cat: csu, lex:si|comme];
  131. SComp >> si;
  132. prep < si;
  133. si =>
  134. $arg.kind = value(whcomp),
  135. node(si).dummy.is_present = value(+)
  136. ;
  137. ~ si =>
  138. node(si).dummy.is_present = value(-)
  139. ;
  140. node ce : [type:coanchor,lex:ce,cat:ce, id:ce];
  141. SComp >> ce;
  142. si < ce;
  143. ce =>
  144. $arg.kind = value(prepscomp);
  145. ~ ce =>
  146. $arg.kind = value(~prepscomp);
  147. node csu : [cat: que, adj: no, id: csu, type: coanchor ];
  148. SComp >> csu;
  149. csu =>
  150. $arg.kind = value(scomp|prepscomp);
  151. ~ csu =>
  152. $arg.kind = value(~scomp|prepscomp);
  153. ce < csu;
  154. SComp >> SArg;
  155. csu < SArg;
  156. node(SArg).top.mode = value(~gerundive|imperative);
  157. SArg +
  158. $arg.kind = value(acomp),
  159. node(SArg).dummy.nodeid = value(comp)
  160. |
  161. $arg.kind = value(~acomp),
  162. node(SArg).dummy.nodeid = value(xcomp)
  163. ;
  164. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View