collect_real_subject

  1. {
  2. $arg.extracted = value(~cleft|topic);
  3. S >> VSubj;
  4. VSubj =>
  5. desc.ht.imp = value(-),
  6. desc.extraction = value(~topic)
  7. ;
  8. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9. %% Impersonnal Subject
  10. VSubj < imp_subj_alt;
  11. S >> imp_subj_alt;
  12. imp_subj_alt < V;
  13. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  14. %% ça subject, redundant with a true subject
  15. %% example: les chats ça mange les souris
  16. %% example: ça ça serait vraiment euh sensationnel
  17. %% example: La moto ça lui plait aussi .
  18. S >> çasubj;
  19. imp_subj_alt < çasubj;
  20. çasubj < V;
  21. node çasubj : [cat: pro, id: subject, lex: ça|cela|ce, type: coanchor];
  22. çasubj =>
  23. desc.dummy.çasubj = value(+),
  24. desc.extraction = value(-),
  25. desc.dummy.presubj = value(+),
  26. $arg.real = value(~cln)
  27. ;
  28. ~ çasubj =>
  29. desc.dummy.çasubj = value(-)
  30. ;
  31. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  32. %% Post Verbal Subject
  33. %% (in first approximation) may only occur for sentence with some extraction
  34. %% but not for an extracted subject
  35. %% May also occur for impersonal construction
  36. %% example: il se raconte une rumeur
  37. %% example: il se raconte qu'il vient
  38. %% 'une rumeur' and 'qu'll vient' may be seen as the deep semantic subject
  39. %% while 'il' is just a surface impersonal subject
  40. V >> postsubj;
  41. VMod < postsubj;
  42. node postsubj : [id:vmod,cat:VMod,type:std, bot : [position: post]];
  43. %% node(VMod).top = node(postsubj).bot;
  44. postsubj >> postsubjGroup;
  45. node(postsubj).top = node(postsubj).bot;
  46. node postsubjGroup: [type: alternative,top:[real:N2|S|CS|PP]];
  47. node(postsubjGroup).top = node(postsubjGroup).bot;
  48. %% - postsubj::agreement; postsubj = postsubj::N;
  49. postsubj =>
  50. desc.dummy.presubj = value(-),
  51. $arg.extracted = value(-),
  52. $arg.real = node(postsubjGroup).top.real;
  53. %% A post-verbal subject is only possible for finite moods
  54. %% but for infinitive in the case of causative
  55. %% Causative sentence only possible for personal verbs
  56. %% example: Paul fait manger Marie
  57. %% example: Paul fait manger une pomme à Marie
  58. %% example: Paut fait manger une pomme par Marie
  59. postsubj =>
  60. desc.short_sentence = value(-),
  61. node(V).top.mode = value(~infinitive|imperative|gerundive|participle),
  62. node(S).top.control = value(-)
  63. |
  64. desc.short_sentence = value(-),
  65. node(V).top.mode = value(infinitive),
  66. node(S).top.control = value(causative|control_with_postsubj),
  67. desc.ht.imp = value(-)
  68. |
  69. %% short sentence like 'finies les vacances'
  70. %% see class S_pseudo_passive_sentence
  71. desc.short_sentence = value(+),
  72. node(V).top.mode = value(participle),
  73. desc.@diathesis = value(passive)
  74. |
  75. %% passive participale
  76. %% example: étant donnée la situation, je préfère partir
  77. desc.short_sentence = value(-),
  78. node(V).top.mode = value(gerundive),
  79. desc.@diathesis = value(passive)
  80. % ,node(S).bot.sat = value(ppart)
  81. |
  82. %% short sentence like 'difficile de venir ce soir'
  83. %% see class S_pseudo_adj_sentence
  84. desc.short_sentence = value(+),
  85. node(v).cat = value(adj)
  86. ;
  87. %% A subject may be inverted if either
  88. %% - there is an extraction, not on the subject
  89. %% example: le livre que veut lire Paul
  90. %% - there is no extraction, but the verb is non-transitive
  91. %% Vient un moment ou il faut choisir
  92. %% - some impersonel constructions (deep subjects)
  93. %% Il se propage des rumeurs
  94. %% no aggrement when deep subject for impersonals
  95. %% example: il se raconte des histoires
  96. postsubj =>
  97. desc.ht.imp = value(+),
  98. $arg.kind = value(subj) % rule out 'nosubj' (impersonal without a deep subject)
  99. |
  100. desc.ht.imp = value(-),
  101. node(Infl).bot.inv = value(+),
  102. $arg.real = value(N2),
  103. node(V).bot.number = node(postsubjGroup).top.number,
  104. node(V).bot.gender = node(postsubjGroup).top.gender,
  105. node(V).bot.person = node(postsubjGroup).top.person,
  106. (
  107. desc.extraction = value(~-|adjx)
  108. |
  109. desc.extraction = value(-),
  110. $arg2::arg.kind = value(-|prepobj),
  111. (
  112. desc.ht.diathesis=value(active),
  113. $arg1::arg.kind = value(-|prepobj)
  114. |
  115. desc.ht.diathesis=value(passive)
  116. )
  117. )
  118. ;
  119. ~ postsubj =>
  120. node(Infl).bot.inv = value(~+),
  121. % node(S).top.control = value(~control_with_postsubj),
  122. ( desc.dummy.presubj = value(+)
  123. |
  124. desc.dummy.presubj = value(-),
  125. node(Infl).bot.inv = value(cl),
  126. $arg.real = value(cln)
  127. |
  128. desc.extraction = value(rel|wh),
  129. $arg.kind=value(subj)
  130. |
  131. $arg.real = value(-)
  132. )
  133. ;
  134. postsubj >> causative_prep;
  135. node causative_prep: [type: coanchor, id: causative_prep, cat:prep, bot: [pcas: par|à]];
  136. causative_prep < postsubjGroup;
  137. causative_prep =>
  138. node(v).cat = value(~adj),
  139. node(S).bot.control = value(causative)
  140. ;
  141. causative_prep =>
  142. node(causative_prep).bot.pcas = value(à),
  143. desc.ht.arg1.pcas = value(~à),
  144. desc.ht.arg2.pcas = value(~à)
  145. |
  146. node(causative_prep).bot.pcas = value(par),
  147. desc.ht.arg1.pcas = value(~par),
  148. desc.ht.arg2.pcas = value(~par)
  149. ;
  150. ~ causative_prep =>
  151. node(S).bot.control = value(~causative)
  152. |
  153. desc.ht.arg1.kind = value(-),
  154. desc.ht.arg2.kind = value(-)
  155. ;
  156. %% example: il se raconte des histoires
  157. - post_noun::true_subject;
  158. node post_noun::Subject : [cat:N2,type:subst,top:[wh:-,sat:+, case: nom]];
  159. post_noun::SubjectGroup = postsubjGroup;
  160. %% post_noun::Subject +
  161. %% node(postsubj).bot.cat = value(csu|S|adv)
  162. %% ;
  163. %% example: il se raconte qu'il ne vient plus
  164. - post_s::true_subject;
  165. node post_s::Subject : [cat:CS, type:subst, top: [que: que]];
  166. post_s::SubjectGroup = postsubjGroup;
  167. post_noun::Subject < post_s::Subject;
  168. post_s::Subject +
  169. node(V).top.mode = value(~subjonctive)
  170. ;
  171. %% node(postsubj).bot.cat = value(adv)
  172. %% example:
  173. - post_v::true_subject;
  174. node post_v::Subject : [cat:S,
  175. type:subst,
  176. top:[mode: infinitive,
  177. sat: -,
  178. extraction: -,
  179. control: ~causative ]];
  180. post_v::SubjectGroup = postsubjGroup;
  181. post_s::Subject < post_v::Subject;
  182. % post_v::Subject +
  183. % node(postsubj).bot.cat = value(adv)
  184. % ;
  185. %% example: il lui arrive de courir vite
  186. - post_PP::true_subject;
  187. node post_PP::Subject : [cat:PP,type:subst,top:[real: S, pcas: de]];
  188. post_PP::SubjectGroup = postsubjGroup;
  189. post_v::Subject < post_PP::Subject;
  190. % post_PP::Subject +
  191. % node(postsubj).bot.cat = value(adv)
  192. % ;
  193. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View