Annotation of researchv10dc/cmd/oworm/oscsi/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: b              return(SIDEB);
                     14: capacity       return(CAPACITY);
                     15: copy           return(COPY);
                     16: diag           return(DIAGNOSTIC);
                     17: diagnostic     return(DIAGNOSTIC);
                     18: disk           return(DISK);
                     19: echo           return(ECHO);
                     20: eject          return(EJECT);
                     21: err            return(ERROR);
                     22: error          return(ERROR);
                     23: ext            return(EXT);
                     24: help           return(HELP);
                     25: id             return(ID);
                     26: inq            return(INQUIRY);
                     27: inquiry                return(INQUIRY);
                     28: media          return(MEDIA);
                     29: read           return(READ);
                     30: rel            return(RELEASE);
                     31: release                return(RELEASE);
                     32: reset          return(RESET);
                     33: sense          return(SENSE);
                     34: set            return(SET);
                     35: sleep          return(SLEEP);
                     36: start          return(START);
                     37: status         return(STATUS);
                     38: stop           return(STOP);
                     39: worm           return(WORM);
                     40: write          return(WRITE);
                     41: [0123456789]+  { yylval.num = atoi(yytext); return(NUMBER); }
                     42: \n             { yylineno++; return('\n'); }
                     43: \"[^"]*\"      { yytext[yyleng-1] = 0; yylval.str = strdup(yytext+1); return(STRING); }
                     44: #.*            { ; /* comment */ }
                     45: [ \t]+         { ; /* white space */ }
                     46: ^!.*           { system(yytext+1); print("!\n"); }
                     47: .              { return(yytext[0]); }
                     48: 
                     49: %%

unix.superglobalmegacorp.com

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