[BACK]Return to scan.l CVS log [TXT][DIR] Up to [local] / src / usr.bin / bc

Diff for /src/usr.bin/bc/scan.l between version 1.13 and 1.14

version 1.13, 2003/11/17 11:20:13 version 1.14, 2003/12/02 09:00:07
Line 40 
Line 40 
 %}  %}
   
 DIGIT           [0-9A-F]  DIGIT           [0-9A-F]
   ALPHA           [a-z_]
   ALPHANUM        [a-z_0-9]
   
 %x              comment string number  %x              comment string number
   
 %%  %%
Line 162 
Line 165 
 "{"             return LBRACE;  "{"             return LBRACE;
 "}"             return RBRACE;  "}"             return RBRACE;
   
 [a-z]           yylval.str = yytext; return LETTER;  {ALPHA}{ALPHANUM}* {
                           /* alloc an extra byte for the type marker */
                           char *p = malloc(yyleng + 2);
                           if (p == NULL)
                                   err(1, NULL);
                           strlcpy(p, yytext, yyleng + 1);
                           yylval.astr = p;
                           return LETTER;
                   }
   
 \\\n            lineno++;  \\\n            lineno++;
 \n              lineno++; return NEWLINE;  \n              lineno++; return NEWLINE;
   
 #[^\n]*         ;  #[^\n]*         ;
 [ \t]           ;  [ \t]           ;
   <<EOF>>         return QUIT;
 .               yyerror("illegal character");  .               yyerror("illegal character");
   
 %%  %%
Line 191 
Line 203 
   
         arglen = strlen(str);          arglen = strlen(str);
   
         if (strlen(strbuf) + arglen + 1> strbuf_sz) {          if (strlen(strbuf) + arglen + 1 > strbuf_sz) {
                 size_t newsize;                  size_t newsize;
                 char *p;                  char *p;
   

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14