Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %{
- #include <stdio.h> /* printf() */
- #include <string.h> /* strcpy() */
- #include "defs.h"
- int level = 0;
- int pos = 0;
- int IDENT_LENGHT = 2;
- int LINE_WIDTH = 78;
- void ident(int depth_level);
- %}
- %union {
- char s[ MAXSTRLEN + 1 ];
- }
- %start DOCUMENT
- %token <s> PI_TAG_BEG PI_TAG_END STAG_BEG ETAG_BEG TAG_END ETAG_END CHAR S
- %type <s> START_TAG END_TAG WORD
- %%
- DOCUMENT: PREFACE ELEMENT
- PREFACE: PI_LIST ;
- PI_LIST: PI_TAG
- | PI_LIST PI_TAG
- | PI_LIST '\n'
- ;
- PI_TAG: PI_TAG_BEG PI_TAG_END ;
- ELEMENT: EMPTY_ELEMENT
- | TAGS_PAIR
- ;
- EMPTY_ELEMENT: STAG_BEG ETAG_END ;
- TAGS_PAIR: START_TAG CONTENT END_TAG ;
- START_TAG: STAG_BEG TAG_END ;
- END_TAG: ETAG_BEG TAG_END ;
- CONTENT: CONTET_ELEMENT_LIST ;
- CONTET_ELEMENT_LIST: CONTET_ELEMENT
- | CONTET_ELEMENT_LIST CONTET_ELEMENT
- ;
- CONTET_ELEMENT: ELEMENT
- | S
- | '\n'
- | WORD
- ;
- WORD: CHAR
- | WORD CHAR
- ;
- %%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement