Annotation of 40BSD/cmd/cifplot/pat.l, revision 1.1.1.1

1.1       root        1: %{
                      2: /*******************************************************************
                      3: *                                                                  *
                      4: *    File: CIFPLOT/pat.l                                           *
                      5: *    Written by Dan Fitzpatrick                                    *
                      6: *    copyright 1980 -- Regents of the University of California     *
                      7: *                                                                  *
                      8: ********************************************************************/
                      9: 
                     10: #define STRING  2
                     11: #define INTEGER 1
                     12: 
                     13: #undef input()
                     14: #undef unput(x)
                     15: #define input()  (((pat_ch = getc(patfile)) == EOF) ? 0:pat_ch)
                     16: #define unput(x)  ungetc(x,patfile)
                     17: 
                     18: extern int patval;
                     19: extern char *patstr;
                     20: extern FILE *patfile;
                     21: 
                     22: char pat_ch;
                     23: int lncnt = 1;
                     24: %}
                     25: 
                     26: %%
                     27: \"[^\"\n]*\"   { patstr = (char *) unquote(&(yytext[0])); return(STRING); }
                     28: 0[0-7]*                { sscanf(&(yytext[0]),"%o",&patval); return(INTEGER); }
                     29: 0x[0-9a-fA-F]+ { sscanf(&(yytext[2]),"%x",&patval); return(INTEGER); }
                     30: 0X[0-9a-fA-F]+ { sscanf(&(yytext[2]),"%x",&patval); return(INTEGER); }
                     31: [1-9][0-9]*    { sscanf(&(yytext[0]),"%d",&patval); return(INTEGER); }
                     32: [\ \t","";""{""}"]+    {}
                     33: \n             { lncnt++; }
                     34: .              { fprintf(stderr,"Unknown character(%o) on line %d in pattern file\n",yytext[0],lncnt);
                     35:                  abort();      }
                     36: %%

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.