_real_arg_xcomp

  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. node(SArg).top.control = value(-)
  42. |
  43. %% when there is (potentially) another argument
  44. %% or when the argument has not the object function
  45. %% example: il entend Paul chanter
  46. %% example: il lui assure partir prochainement
  47. %% example: il va manger
  48. ( desc.ht.arg2.function = value(~-)
  49. | desc.ht.arg2.function = value(-),
  50. $arg.function = value(~obj)
  51. ),
  52. %% handling control
  53. %% will block vcomp if the control arg is missing
  54. %% and will leave a trace in ht of the controlling argument
  55. ( desc.ht.ctrsubj = desc.ht.arg0.function
  56. | desc.ht.ctrsubj = desc.ht.arg1.function
  57. | desc.ht.ctrsubj = desc.ht.arg2.function
  58. ),
  59. ( node(SArg).top.control = value(-)
  60. % desc.dummy.presubj = value(+)
  61. |
  62. $xcomp_by_adj = value(+),
  63. node(SArg).top.control = value(control_with_postsubj),
  64. desc.dummy.presubj = value(-)
  65. )
  66. )
  67. |
  68. $arg.kind = value(vcompcaus),
  69. node(SArg).top.control = value(causative)
  70. )
  71. |
  72. $arg.kind = value(acomp),
  73. node(v).top.être = value(-),
  74. node(SArg).top.control = value(-),
  75. node(SArg).top.mode = value(participle),
  76. node(SArg).top.sat = value(-|ppart),
  77. (
  78. ( $arg.kind = desc.@kind1
  79. | desc.@diathesis = value(passive)
  80. ),
  81. (
  82. node(SArg).top.number = node(Infl).top.number,
  83. node(SArg).top.gender = node(Infl).top.gender
  84. |
  85. node(Infl).top.number = value(pl),
  86. node(Infl).top.person = value(2),
  87. node(SArg).top.number = value(sg)
  88. |
  89. node(Infl).top.number = value(sg),
  90. node(Infl).top.person = value(3),
  91. node(Infl).top.gender = value(on)
  92. )
  93. |
  94. desc.@diathesis = value(active),
  95. desc.@kind1 = value(obj),
  96. ( node(SArg).top.number = desc.dummy.objinfo.number
  97. |
  98. desc.dummy.objinfo.person = value(2),
  99. desc.dummy.objinfo.number = value(pl),
  100. node(SArg).top.number = value(sg)
  101. ),
  102. node(SArg).top.gender = desc.dummy.objinfo.gender
  103. )
  104. )
  105. |
  106. $arg.real = value(PP),
  107. (
  108. $arg.kind = value(prepscomp),
  109. node(SArg).top.mode = value(~infinitive|participle)
  110. |
  111. $arg.kind = value(prepvcomp),
  112. node(SArg).top.mode = value(infinitive),
  113. node(SArg).top.control = value(~causative),
  114. %% handling control
  115. %% will block vcomp if the control arg is missing
  116. %% and will leave a trace in ht of the controlling argument
  117. ( desc.ht.ctrsubj = desc.ht.arg0.function
  118. | desc.ht.ctrsubj = desc.ht.arg1.function
  119. | desc.ht.ctrsubj = desc.ht.arg2.function
  120. ),
  121. ( node(SArg).top.control = value(-)
  122. % desc.dummy.presubj = value(+)
  123. |
  124. $xcomp_by_adj = value(+),
  125. node(SArg).top.control = value(control_with_postsubj),
  126. desc.dummy.presubj = value(-)
  127. )
  128. )
  129. ;
  130. %% node(v).lex = value(~être|suis|es|est|sommes|êtes|sont|serais|étais|était|été|sera|fut|fûmes|fûtes|soit)
  131. %% node(SArg).top.mode = value(participle)
  132. node SComp : [cat:ArgComp, bot: [arg: $arg]];
  133. node prep: [cat: prep, id:prep, type: coanchor];
  134. SComp >> prep;
  135. prep =>
  136. $arg.kind = value(prepscomp|prepvcomp),
  137. $arg.pcas = value(à|de|pour|sur|par),
  138. $arg.pcas = node(prep).top.pcas;
  139. ~ prep =>
  140. $arg.pcas = value(-),
  141. $arg.kind = value(~prepscomp|prepvcomp);
  142. %% comme is added for whcomp, but it is actually used for indirect exclamative
  143. %% rather than indirect wh (but the two notion are close)
  144. %% example: regarde comme il est beau !
  145. node si : [type: coanchor, id: siwh, cat: csu, lex:si|comme];
  146. SComp >> si;
  147. prep < si;
  148. si =>
  149. $arg.kind = value(whcomp),
  150. node(si).dummy.is_present = value(+)
  151. ;
  152. ~ si =>
  153. node(si).dummy.is_present = value(-)
  154. ;
  155. node ce : [type:coanchor,lex:ce,cat:ce, id:ce];
  156. SComp >> ce;
  157. si < ce;
  158. ce =>
  159. $arg.kind = value(prepscomp);
  160. ~ ce =>
  161. $arg.kind = value(~prepscomp);
  162. node csu : [cat: que, adj: no, id: csu, type: coanchor ];
  163. SComp >> csu;
  164. csu =>
  165. node(csu).dummy.is_present=value(csu);
  166. ~ csu =>
  167. node(csu).dummy.is_present=value(-|colon);
  168. SArg +
  169. node(csu).dummy.is_present=value(-),
  170. $arg.kind = value(~scomp|prepscomp)
  171. |
  172. node(csu).dummy.is_present=value(csu),
  173. $arg.kind = value(scomp|prepscomp)
  174. |
  175. node(csu).dummy.is_present=value(colon),
  176. $arg.kind = value(scomp),
  177. $arg.extracted = value(-)
  178. ;
  179. ce < csu;
  180. %% la ponctuation ":" peut être utilisé comme introducteur de parole rapportée directe
  181. %% example: je n'avais pas le temps de me dire : " Je m'endors."
  182. SComp >> colon;
  183. node colon : [type: lex, lex: ":"];
  184. csu < colon;
  185. colon =>
  186. node(csu).dummy.is_present=value(colon);
  187. ~ colon =>
  188. node(csu).dummy.is_present=value(-|csu);
  189. SComp >> SArg;
  190. colon < SArg;
  191. node(SArg).top.mode = value(~gerundive|imperative);
  192. SArg +
  193. $arg.kind = value(acomp),
  194. node(SArg).dummy.nodeid = value(comp)
  195. |
  196. $arg.kind = value(~acomp),
  197. node(SArg).dummy.nodeid = value(xcomp)
  198. ;
  199. node(SArg).secondary = value(csu);
  200. node(SArg).secondary_label = value(SubS);
  201. node(csu).secondary = value(ce);
  202. node(ce).secondary = value(prep);
  203. node(ce).secondary_label = value(N2);
  204. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View