coord

  1. class coord
  2. {
  3. node(Anchor).cat = value(coo);
  4. Root >> Incise;
  5. Foot < Incise; node Incise : [cat:incise, id:incise, type:std];
  6. node(Incise).top.sync = node(Incise).bot.sync;
  7. node(Incise).top.sync = value(-);
  8. node(Incise).adjleft = value(atmostone);
  9. node(Incise).adjright = value(sync);
  10. Incise >> SeqLast; node SeqLast : [ type : sequence ];
  11. SeqLast >> Anchor;
  12. SeqLast >>+ Coord3; node Coord3: [cat: $xcat, type: $type, id: coord3];
  13. SeqLast >> Punct3; node Punct3: [type: lex, lex: ',', optional: yes];
  14. Punct3 < Anchor;
  15. %% Last >> dot; node dot : [lex: '...', type: lex];
  16. %% Last => node(Last).dummy.enum = value(+|-);
  17. %% ~ Last => node(Last).dummy.enum = value(-);
  18. %% dot + node(Last).dummy.enum = value(+);
  19. %% SeqLast + node(Last).dummy.enum = value(-);
  20. %% SeqLast < dot;
  21. Seq < SeqLast;
  22. Incise >> Seq; node Seq: [type: sequence, star: *];
  23. Seq >> coo2; node coo2: [type: std, cat: coo, adj: no];
  24. coo2 >> Punct; node Punct: [type: lex, lex: ','];
  25. Seq >> coo21; node coo21: [type: coanchor,
  26. cat: coo,
  27. lex: ni|et|ou|soit|'et-ou'|'ainsi que'|'et puis'|'et encore'|'et même'|'et bien'|'ou alors'|'ou encore'|'ou bien'|'ou même'|'voire'|'voire même'|comme,
  28. adj: no];
  29. coo2 < coo21;
  30. coo21 < Coord2;
  31. coo21 =>
  32. desc.dummy.repeated = value(+)
  33. ;
  34. ~ coo21 =>
  35. desc.dummy.repeated = value(-)
  36. ;
  37. Seq >> Coord2;
  38. coo2 < Coord2; node Coord2: [cat: $xcat, type: $type, id: coord2];
  39. Foot < Seq;
  40. Anchor < Coord3;
  41. desc.ht = value([arg0:@emptyarg_fs,arg1:@emptyarg_fs,arg2:@emptyarg_fs]);
  42. Anchor +
  43. desc.dummy.repeated = value(-)
  44. |
  45. desc.dummy.repeated = value(+),
  46. ( node(coo21).lex = node(Anchor).lex
  47. |
  48. node(coo21).lex = value(ni|soit),
  49. node(Anchor).lex = value(mais)
  50. |
  51. node(coo21).lex = value('ainsi que'),
  52. node(Anchor).lex = value(et)
  53. )
  54. ;
  55. Seq =>
  56. node(Anchor).lex = value(et|ou|'et-ou'|'ainsi que'|plus|'et même'|'et encore'|'et puis'|'et bien'|'ou encore'|'ou bien'|'ou même'|voire)
  57. |
  58. desc.dummy.repeated = value(+)
  59. ;
  60. Seq =>
  61. node(Seq).dummy.coord2 = value(+);
  62. ~Seq =>
  63. desc.dummy.repeated = value(-),
  64. node(Seq).dummy.coord2 = value(-)
  65. ;
  66. %% Last coord may be preceded by an advneg
  67. %% example: il mange rapidemment mais pas salement.
  68. %% example: Paul, et pas son frère, viendra
  69. %% example: je veux Paul mais pas son frère.
  70. %% example: je veux qu'il vienne mais pas qu'il parte
  71. SeqLast >> pas;
  72. Anchor < pas;
  73. pas < Coord3;
  74. node pas: [cat: advneg, id: pas, type: coanchor];
  75. pas =>
  76. node(Anchor).lex = value(mais|et|car),
  77. node(pas).dummy.is_present= value(+)
  78. ;
  79. ~ pas =>
  80. node(pas).dummy.is_present= value(-)
  81. ;
  82. desc.dependency = value(coord);
  83. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View