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