Annotation of researchv10dc/cmd/oworm/scsi/lex.l, revision 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.