Révisions

  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. prel_arg +
  38. node(S2).bot.xarg.case = value(nom),
  39. node(prel_arg).dummy.nodeid = value(subject),
  40. node(prel_arg).bot.case = value(nom),
  41. node(XGroup).extracted.kind = value(subj),
  42. node(Infl).bot.inv = value(-),
  43. node(XGroup).extracted.pcas = value(-),
  44. node(S).top.mode = value(~infinitive)
  45. |
  46. node(S2).bot.xarg.case = value(acc),
  47. node(prel_arg).dummy.nodeid = value(object),
  48. node(prel_arg).bot.case = value(acc),
  49. node(XGroup).extracted.kind = value(obj|scomp|vcomp),
  50. desc.dummy.objinfo.number = node(XGroup).top.number,
  51. desc.dummy.objinfo.gender = node(XGroup).top.gender,
  52. desc.dummy.objinfo.person = node(XGroup).top.person,
  53. node(XGroup).extracted.pcas = value(-),
  54. node(S).top.mode = value(~infinitive)
  55. |
  56. node(prel_arg).lex = value(dont),
  57. node(S2).bot.xarg.case = value(other),
  58. node(prel_arg).dummy.nodeid = value(preparg),
  59. node(XGroup).extracted.function = value(objde),
  60. node(XGroup).extracted.kind = value(prepobj),
  61. node(XGroup).extracted.pcas = value(de),
  62. node(S).top.mode = value(~infinitive)
  63. |
  64. node(prel_arg).lex = value(),
  65. node(S2).bot.xarg.case = value(other),
  66. node(prel_arg).dummy.nodeid = value(preparg),
  67. node(XGroup).extracted.function = value(loc),
  68. node(XGroup).extracted.kind = value(prepobj),
  69. node(XGroup).extracted.pcas = value(loc),
  70. node(S).top.mode = value(~infinitive)
  71. |
  72. node(S2).bot.xarg.case = value(other),
  73. node(prel_arg).dummy.nodeid = value(comp),
  74. node(prel_arg).bot.case = value(nom|acc|loc),
  75. node(XGroup).extracted.kind = value(acomp),
  76. node(XGroup).extracted.pcas = value(-)
  77. ;
  78. %% Realization as a relative pronoun with a preposition
  79. XGroup >> prelPP;
  80. node prelPP : [type: sequence];
  81. prelPP >> prep;
  82. prelPP >> prel2;
  83. prep < prel2;
  84. node prep : [cat:prep,id:prep,type:coanchor,bot: [pcas: ~-]];
  85. node prel2 : [cat:prel,id:preparg,type:coanchor];
  86. prel_arg < prelPP;
  87. prelPP +
  88. node(S2).bot.xarg.case = value(other),
  89. node(XGroup).extracted.real = value(PP),
  90. node(XGroup).extracted.kind = value(prepobj|prepvcomp|prepscomp|prepacomp),
  91. node(XGroup).extracted.pcas = node(prep).top.pcas,
  92. node(S2).bot.xarg.trace = value(-);
  93. XGroup >> RelSTrace;
  94. prelPP < RelSTrace;
  95. node RelSTrace : [cat:strace,type:subst,id:reltrace];
  96. RelSTrace +
  97. node(S2).bot.xarg.case = value(nom),
  98. node(S2).bot.xarg.trace = value(+);
  99. %% Realization as a trace for nominative case
  100. %% Temporary solution ! (just check there is a coordination just before!)
  101. %% example: les amis qui rient et chantent me plaisent
  102. XGroup >> prepà;
  103. RelSTrace < prepà;
  104. node prepà : [cat: prep, id: object,type: coanchor, bot: [pcas: à]];
  105. prepà +
  106. node(S2).bot.xarg.case = value(acc),
  107. node(XGroup).extracted.real = value(prel),
  108. node(XGroup).extracted.kind = value(obj|scomp|vcomp),
  109. desc.dummy.objinfo.number = node(XGroup).top.number,
  110. desc.dummy.objinfo.gender = node(XGroup).top.gender,
  111. desc.dummy.objinfo.person = node(XGroup).top.person,
  112. node(XGroup).extracted.pcas = value(-),
  113. node(S).top.mode = value(infinitive)
  114. ;
  115. node(XGroup).top.number = node(S2).bot.xarg.number;
  116. node(XGroup).top.gender = node(S2).bot.xarg.gender;
  117. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View