home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2-YACC.ZIP / YYLESS.C < prev    next >
C/C++ Source or Header  |  1980-01-04  |  970b  |  38 lines

  1. /*
  2.   HEADER: CUG     nnn.nn;
  3.   TITLE:     YACC - Yet Another Compilier-Compilier
  4.   VERSION:     1.0 for IBM-PC
  5.   DATE:      JAN 28, 1985
  6.   DESCRIPTION:     LALR(1) Parser Generator. From UNIX
  7.   KEYWORDS:     Parser Generator Compilier-Compilier YACC
  8.   SYSTEM:     IBM-PC and Compatiables
  9.   FILENAME:      YYLESS.C
  10.   WARNINGS:     This program is not for the casual user. It will
  11.          be useful primarily to expert developers.
  12.   CRC:         N/A
  13.   SEE-ALSO:     LEX and PREP
  14.   AUTHORS:     Scott Guthery 11100 leafwood lane Austin, TX 78750
  15.   COMPILERS:     DESMET-C
  16.   REFERENCES:     UNIX Systems Manuals
  17. */
  18.  
  19. yyless(x)
  20.  
  21.    {
  22.    extern char yytext[];
  23.    register char *lastch, *ptr;
  24.    extern int yyleng;
  25.    extern int yyprevious;
  26.    lastch = yytext+yyleng;
  27.    if (x>=0 && x <= yyleng)
  28.       ptr = x + yytext;
  29.    else
  30.       ptr = x;
  31.    while (lastch > ptr)
  32.       yyunput(*--lastch);
  33.    *lastch = 0;
  34.    if (ptr >yytext)
  35.       yyprevious = *--lastch;
  36.    yyleng = ptr-yytext;
  37.    }
  38.