Annotation of researchv10dc/cmd/oworm/scsi/lex.l, revision 1.1.1.1

1.1       root        1: %{
                      2: #undef ECHO
                      3: #include       "x.tab.h"
                      4: #include       <string.h>
                      5: #undef getc
                      6: #define        getc(x)         Fgetc(0)
                      7: #undef output
                      8: #define        output(x)       (void)(x)
                      9: %}
                     10: %%
                     11: a              return(SIDEA);
                     12: all            return(ALL);
                     13: alt            return(ALTERNATE);
                     14: alternate      return(ALTERNATE);
                     15: b              return(SIDEB);
                     16: capacity       return(CAPACITY);
                     17: config         return(CONFIG);
                     18: copy           return(COPY);
                     19: diag           return(DIAGNOSTIC);
                     20: diagnostic     return(DIAGNOSTIC);
                     21: disk           return(DISK);
                     22: echo           return(ECHO);
                     23: eject          return(EJECT);
                     24: err            return(ERROR);
                     25: error          return(ERROR);
                     26: ext            return(EXT);
                     27: help           return(HELP);
                     28: id             return(ID);
                     29: inq            return(INQUIRY);
                     30: inquiry                return(INQUIRY);
                     31: internal       return(INTERNAL);
                     32: media          return(MEDIA);
                     33: read           return(READ);
                     34: rel            return(RELEASE);
                     35: release                return(RELEASE);
                     36: reset          return(RESET);
                     37: sense          return(SENSE);
                     38: set            return(SET);
                     39: sleep          return(SLEEP);
                     40: start          return(START);
                     41: status         return(STATUS);
                     42: stop           return(STOP);
                     43: test           return(TEST);
                     44: worm           return(WORM);
                     45: write          return(WRITE);
                     46: [0123456789]+  { yylval.num = atoi(yytext); return(NUMBER); }
                     47: \n             { yylineno++; return('\n'); }
                     48: \"[^"]*\"      { yytext[yyleng-1] = 0; yylval.str = strdup(yytext+1); return(STRING); }
                     49: #.*            { ; /* comment */ }
                     50: [ \t]+         { ; /* white space */ }
                     51: ^!.*           { system(yytext+1); print("!\n"); }
                     52: .              { return(yytext[0]); }
                     53: 
                     54: %%

unix.superglobalmegacorp.com

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