verb_extraction_relative

  1. {
  2. node(S2).bot.extraction = value(rel);
  3. node(S).top.extraction = value(adjx);
  4. node(S).bot.extraction = value(adjx);
  5. %% node(S2).adj = value(no);
  6. node(S2).top = node(S2).bot;
  7. node(S2).adjleft = value(no);
  8. node XGroup : [type: alternative];
  9. %% Generally not possible to extract infinitive relative (for args)
  10. %% mode should be tested at level of S
  11. %% to allow for .. la fille que [Jean croit] aimer
  12. %% where [Jean croit] is adjoined upon an infinitive relative
  13. %% but infinitive relative are however possible in
  14. %% example: c'est la personne à qui parler
  15. %% only possible for prepargs (but not all)
  16. %% possible for object, but using prep à
  17. %% example: une bonne pomme à manger
  18. %% example: une occasion à saisir
  19. %% TO BE IMPLEMENTED
  20. node(S).top.mode = value(conditional|subjonctive|indicative|adjective|infinitive);
  21. node(S).top.sat = value(-);
  22. node(S).top.inv = value(~cl);
  23. %% Realization of a subject, object or attribute by a relative pronoun
  24. node prel_arg : [cat:prel,id:subject|object|comp|preparg,
  25. type:coanchor,
  26. bot:[case: nom|acc|loc|gen]];
  27. XGroup >> prel_arg;
  28. - prel_arg::agreement; prel_arg = prel_comp::N;
  29. %% This one is a hack to get the right finite set type !!
  30. %% Should be possible to explicetely state a type
  31. %% rather than relying on implicit typing
  32. node(prel_arg).id = node(prel_arg).dummy.nodeid;
  33. prel_arg +
  34. node(XGroup).extracted.real = value(prel),
  35. node(XGroup).extracted.pcas = value(-|de|loc),
  36. node(S2).bot.xarg.trace = value(-),
  37. node(S2).bot.xarg.lex = node(prel_arg).lex
  38. ;
  39. prel_arg +
  40. node(S2).bot.xarg.case = value(nom),
  41. node(prel_arg).dummy.nodeid = value(subject),
  42. node(prel_arg).bot.case = value(nom),
  43. node(XGroup).extracted.kind = value(subj),
  44. node(Infl).bot.inv = value(-),
  45. node(XGroup).extracted.pcas = value(-),
  46. node(S).top.mode = value(~infinitive)
  47. |
  48. node(S2).bot.xarg.case = value(acc),
  49. node(prel_arg).dummy.nodeid = value(object),
  50. node(prel_arg).bot.case = value(acc),
  51. node(XGroup).extracted.kind = value(obj|scomp|vcomp),
  52. desc.dummy.objinfo.number = node(XGroup).top.number,
  53. desc.dummy.objinfo.gender = node(XGroup).top.gender,
  54. desc.dummy.objinfo.person = node(XGroup).top.person,
  55. node(XGroup).extracted.pcas = value(-),
  56. node(S).top.mode = value(~infinitive)
  57. |
  58. node(prel_arg).lex = value(dont),
  59. node(S2).bot.xarg.case = value(other),
  60. node(prel_arg).dummy.nodeid = value(preparg),
  61. node(XGroup).extracted.function = value(objde),
  62. node(XGroup).extracted.kind = value(prepobj),
  63. node(XGroup).extracted.pcas = value(de),
  64. node(S).top.mode = value(~infinitive)
  65. |
  66. node(prel_arg).lex = value(),
  67. node(S2).bot.xarg.case = value(other),
  68. node(prel_arg).dummy.nodeid = value(preparg),
  69. node(XGroup).extracted.function = value(loc),
  70. node(XGroup).extracted.kind = value(prepobj),
  71. node(XGroup).extracted.pcas = value(loc),
  72. node(S).top.mode = value(~infinitive)
  73. |
  74. node(S2).bot.xarg.case = value(other),
  75. node(prel_arg).dummy.nodeid = value(comp),
  76. node(prel_arg).bot.case = value(nom|acc|loc),
  77. node(XGroup).extracted.kind = value(acomp),
  78. node(XGroup).extracted.pcas = value(-)
  79. ;
  80. %% Realization as a relative pronoun with a preposition
  81. XGroup >> prelPP;
  82. node prelPP : [type: sequence];
  83. prelPP >> prep;
  84. prelPP >> prel2;
  85. prep < prel2;
  86. node prep : [cat:prep,id:prep,type:coanchor,bot: [pcas: ~-]];
  87. node prel2 : [cat:prel,id:preparg,type:coanchor];
  88. node(prel2).secondary = node(prep).id;
  89. node(prel2).secondary_label = value(N2);
  90. prel_arg < prelPP;
  91. prelPP +
  92. node(S2).bot.xarg.case = value(other),
  93. node(XGroup).extracted.real = value(PP),
  94. node(XGroup).extracted.kind = value(prepobj|prepvcomp|prepscomp|prepacomp),
  95. node(XGroup).extracted.pcas = node(prep).top.pcas,
  96. node(S2).bot.xarg.trace = value(-);
  97. XGroup >> RelSTrace;
  98. prelPP < RelSTrace;
  99. node RelSTrace : [cat:strace,type:subst,id:reltrace];
  100. RelSTrace +
  101. node(S2).bot.xarg.case = value(nom),
  102. node(S2).bot.xarg.trace = value(+);
  103. %% Realization as a trace for nominative case
  104. %% Temporary solution ! (just check there is a coordination just before!)
  105. %% example: les amis qui rient et chantent me plaisent
  106. XGroup >> prepà;
  107. RelSTrace < prepà;
  108. node prepà : [cat: prep, id: object,type: coanchor, bot: [pcas: à]];
  109. prepà +
  110. node(S2).bot.xarg.case = value(acc),
  111. node(XGroup).extracted.real = value(prel),
  112. node(XGroup).extracted.kind = value(obj|scomp|vcomp),
  113. desc.dummy.objinfo.number = node(XGroup).top.number,
  114. desc.dummy.objinfo.gender = node(XGroup).top.gender,
  115. desc.dummy.objinfo.person = node(XGroup).top.person,
  116. node(XGroup).extracted.pcas = value(-),
  117. node(S).top.mode = value(infinitive)
  118. ;
  119. node(XGroup).top.number = node(S2).bot.xarg.number;
  120. node(XGroup).top.gender = node(S2).bot.xarg.gender;
  121. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View