|
|
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.