cnoun_as_noun_mod_name

  1. {
  2. %% unsaturated N2 may post-modify other nouns to name them
  3. %% example: le département recherche est en déclin
  4. %% example: le département recherche et développement est en déclin
  5. %% example: la démarche essai-erreur est parfaite.
  6. %% we should have some kind of semantic restri
  7. %% question: is it equivalent to apposition ?
  8. %% (but we don't have commutation: * essai-erreur, la démarche, est
  9. %% parfaite)
  10. %% we should also try to block multiple adjoining of such names
  11. <: cnoun;
  12. desc.@kind0 = value(-);
  13. node(N2).bot.sat = value(-);
  14. % node(Foot).top = node(Root).bot;
  15. % - Foot::full_agreement; Foot::N=Foot;
  16. node(Foot).top.headcat = value(nc);
  17. node(Root).top.headcat = value(nc);
  18. node(Foot).top.number = node(Root).bot.number;
  19. node(Foot).top.hum = node(Root).bot.hum;
  20. node(Foot).top.gender = node(Root).bot.gender;
  21. node(Foot).top.wh = node(Root).bot.wh;
  22. node(Foot).top.hum = node(Root).bot.hum;
  23. node(Foot).top.enum = node(Root).bot.enum;
  24. node(Root).cat = value(N);
  25. node(Root).adj = value(no);
  26. Root >> N2Root;
  27. Foot < N2Root;
  28. node(Root).cat = value(N);
  29. node(Monsieur).dummy.is_present = value(-);
  30. node(Root).top.enum = value(appos); %play similar role than appos
  31. node(N2).top.enum = value(~appos);
  32. node(N2).bot.enum = value(~appos);
  33. node(N2).adjleft = value(no);
  34. %% we may have some dash as noun separator not handled by sxpipe
  35. %% example: le débat université - grandes écoles
  36. node Dash: [type: lex, lex: '-'];
  37. Dash =>
  38. node(Root).top.depth = value(dash)
  39. ;
  40. ~ Dash =>
  41. node(Root).top.depth = value(~dash)
  42. ;
  43. Root >> Dash;
  44. Foot < Dash;
  45. Dash < N2Root;
  46. node(N).adjright = value(atmostone);
  47. node(N).adjleft = value(atmostone);
  48. node(N).adjwrap = value(no);
  49. node(Root).top.depth = value(a|b|dash);
  50. node(Foot).top.depth = value(-);
  51. node(N).bot.depth = value(-);
  52. node(N).top.depth = value(dash|b|-);
  53. node(Root).top.depth = value(b|dash);
  54. N +
  55. node(Root).top.depth = value(a),
  56. node(N).top.depth = value(b)
  57. |
  58. node(Root).top.depth = value(b|dash),
  59. node(N).top.depth = value(-|dash)
  60. ;
  61. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View