Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. %{
  2. #include <stdio.h> /* printf() */
  3. #include <string.h> /* strcpy() */
  4. #include "defs.h"
  5.  
  6. int level = 0;
  7. int pos = 0;
  8.  
  9. int IDENT_LENGHT = 2;
  10. int LINE_WIDTH = 78;
  11.  
  12. void ident(int depth_level);
  13. %}
  14.  
  15. %union {
  16. char s[ MAXSTRLEN + 1 ];
  17. }
  18.  
  19. %start DOCUMENT
  20. %token <s> PI_TAG_BEG PI_TAG_END STAG_BEG ETAG_BEG TAG_END ETAG_END CHAR S
  21. %type <s> START_TAG END_TAG WORD
  22.  
  23. %%
  24. DOCUMENT: PREFACE ELEMENT
  25.  
  26. PREFACE: PI_LIST ;
  27.  
  28. PI_LIST: PI_TAG
  29. | PI_LIST PI_TAG
  30. | PI_LIST '\n'
  31. ;
  32.  
  33. PI_TAG: PI_TAG_BEG PI_TAG_END ;
  34.  
  35. ELEMENT: EMPTY_ELEMENT
  36. | TAGS_PAIR
  37. ;
  38.  
  39. EMPTY_ELEMENT: STAG_BEG ETAG_END ;
  40.  
  41. TAGS_PAIR: START_TAG CONTENT END_TAG ;
  42.  
  43. START_TAG: STAG_BEG TAG_END ;
  44.  
  45. END_TAG: ETAG_BEG TAG_END ;
  46.  
  47. CONTENT: CONTET_ELEMENT_LIST ;
  48.  
  49. CONTET_ELEMENT_LIST: CONTET_ELEMENT
  50. | CONTET_ELEMENT_LIST CONTET_ELEMENT
  51. ;
  52.  
  53. CONTET_ELEMENT: ELEMENT
  54. | S
  55. | '\n'
  56. | WORD
  57. ;
  58.  
  59. WORD: CHAR
  60. | WORD CHAR
  61. ;
  62.  
  63.  
  64. %%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement