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