%{ #include extern int yylex(); void yyerror(char *); %} %token '=' %token X Y %token WIDTH HEIGHT %token BGCOLOR %token HREF NAME %token TITLE RESIZABLE TEXT %token INT_V COLOR_V STRING_V PERCENT_V %% ListAttr: | ListAttr Attr Attr: AttrInt | AttrColor | AttrPercent | AttrString AttrInt: X '=' INT_V {fprintf(stderr, "");} | Y '=' INT_V {fprintf(stderr, "");} AttrColor: BGCOLOR '=' COLOR_V {fprintf(stderr, "");} AttrPercent: WIDTH '=' PERCENT_V {fprintf(stderr, "");} | HEIGHT '=' PERCENT_V {fprintf(stderr, "");} AttrString: HREF '=' STRING_V {fprintf(stderr, "");} | NAME '=' STRING_V {fprintf(stderr, "");} | TITLE '=' STRING_V {fprintf(stderr, "");} | RESIZABLE '=' STRING_V {fprintf(stderr, "<RESIZABLE = STRING_V>");} | TEXT '=' STRING_V {fprintf(stderr, "<TEXT = STRING_V>");}