yyless(x) { extern char yytext[]; register char *lastch, *ptr; extern int yyleng; extern int yyprevious; lastch = yytext+yyleng; if (x>=0 && x <= yyleng) ptr = x + yytext; else ptr = x; while (lastch > ptr) yyunput(*--lastch); *lastch = 0; if (ptr >yytext) yyprevious = *--lastch; yyleng = ptr-yytext; }