[BACK]Return to reader.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / yacc

Diff for /src/usr.bin/yacc/reader.c between version 1.1 and 1.2

version 1.1, 1995/10/18 08:47:06 version 1.2, 1996/02/04 08:37:02
Line 250 
Line 250 
             return (UNION);              return (UNION);
         if (strcmp(cache, "ident") == 0)          if (strcmp(cache, "ident") == 0)
             return (IDENT);              return (IDENT);
           if (strcmp(cache, "expect") == 0)
               return (EXPECT);
     }      }
     else      else
     {      {
Line 890 
Line 892 
 }  }
   
   
   /*
    * %expect requires special handling
    * as it really isn't part of the yacc
    * grammar only a flag for yacc proper.
    */
   declare_expect(assoc)
   int assoc;
   {
       register int c;
   
       if (assoc != EXPECT) ++prec;
   
       /*
        * Stay away from nextc - doesn't
        * detect EOL and will read to EOF.
        */
       c = *++cptr;
       if (c == EOF) unexpected_EOF();
   
       for(;;)
       {
           if (isdigit(c))
           {
               SRexpect = get_number();
               break;
           }
           /*
            * Looking for number before EOL.
            * Spaces, tabs, and numbers are ok,
            * words, punc., etc. are syntax errors.
            */
           else if (c == '\n' || isalpha(c) || !isspace(c))
           {
               syntax_error(lineno, line, cptr);
           }
           else
           {
               c = *++cptr;
               if (c == EOF) unexpected_EOF();
           }
       }
   }
   
   
 declare_types()  declare_types()
 {  {
     register int c;      register int c;
Line 972 
Line 1018 
         case NONASSOC:          case NONASSOC:
             declare_tokens(k);              declare_tokens(k);
             break;              break;
   
           case EXPECT:
               declare_expect(k);
               break;
   
         case TYPE:          case TYPE:
             declare_types();              declare_types();

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2