1*3e12c5d1SDavid du Colombier #include <libl.h> 2*3e12c5d1SDavid du Colombier #include <stdio.h> 3*3e12c5d1SDavid du Colombier 4*3e12c5d1SDavid du Colombier extern char yytext[]; 5*3e12c5d1SDavid du Colombier extern int yyleng; 6*3e12c5d1SDavid du Colombier extern int yyprevious; 7*3e12c5d1SDavid du Colombier 8*3e12c5d1SDavid du Colombier void yyunput(int c); 9*3e12c5d1SDavid du Colombier 10*3e12c5d1SDavid du Colombier void yyless(int x)11*3e12c5d1SDavid du Colombieryyless(int x) 12*3e12c5d1SDavid du Colombier { 13*3e12c5d1SDavid du Colombier char *lastch, *ptr; 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier lastch = yytext+yyleng; 16*3e12c5d1SDavid du Colombier if(x>=0 && x <= yyleng) 17*3e12c5d1SDavid du Colombier ptr = x + yytext; 18*3e12c5d1SDavid du Colombier else 19*3e12c5d1SDavid du Colombier ptr = (char*)x; 20*3e12c5d1SDavid du Colombier while(lastch > ptr) 21*3e12c5d1SDavid du Colombier yyunput(*--lastch); 22*3e12c5d1SDavid du Colombier *lastch = 0; 23*3e12c5d1SDavid du Colombier if (ptr >yytext) 24*3e12c5d1SDavid du Colombier yyprevious = *--lastch; 25*3e12c5d1SDavid du Colombier yyleng = ptr-yytext; 26*3e12c5d1SDavid du Colombier } 27