|
|
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: %%
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.