1*357f1050SThomas Veerman /* 2*357f1050SThomas Veerman * unput.l : An example of what *not* 3*357f1050SThomas Veerman * to do with unput(). 4*357f1050SThomas Veerman */ 5*357f1050SThomas Veerman 6*357f1050SThomas Veerman 7*357f1050SThomas Veerman %{ 8*357f1050SThomas Veerman #include <stdio.h> 9*357f1050SThomas Veerman 10*357f1050SThomas Veerman void putback_yytext(void); 11*357f1050SThomas Veerman %} 12*357f1050SThomas Veerman 13*357f1050SThomas Veerman %% 14*357f1050SThomas Veerman foobar putback_yytext(); 15*357f1050SThomas Veerman raboof putback_yytext(); 16*357f1050SThomas Veerman %% 17*357f1050SThomas Veerman 18*357f1050SThomas Veerman void putback_yytext(void) 19*357f1050SThomas Veerman { 20*357f1050SThomas Veerman int i; 21*357f1050SThomas Veerman int l = strlen(yytext); 22*357f1050SThomas Veerman char buffer[YY_BUF_SIZE]; 23*357f1050SThomas Veerman 24*357f1050SThomas Veerman strcpy(buffer,yytext); 25*357f1050SThomas Veerman printf("Got: %s\n",yytext); 26*357f1050SThomas Veerman for(i=0; i<l; i++){ 27*357f1050SThomas Veerman unput(buffer[i]); 28*357f1050SThomas Veerman } 29*357f1050SThomas Veerman } 30*357f1050SThomas Veerman 31*357f1050SThomas Veerman 32*357f1050SThomas Veerman 33