|
|
1.1 root 1: %{
2: #include "patchl.h"
3: #include "y.tab.h"
4: #undef input
5: #define input() arg_getc()
6: %}
7: %%
8:
9: "?" return PEEK;
10: "=" return ASSIGN;
11: ":" return COLON;
12: "in" return IN;
13: "out" return OUT;
14: "makedev" return MAKEDEV;
15: "(" return LPAREN;
16: ")" return RPAREN;
17: "," return COMMA;
18: [csil] return SIZE;
19:
20: 0 {
21: yylval.num = 0;
22: return NUMBER;
23: }
24:
25: [1-9][0-9]* {
26: sscanf(yytext, "%d", &yylval.num);
27: return NUMBER;
28: }
29:
30: "0x"[0-9a-fA-F]+ {
31: sscanf(yytext+2, "%x", &yylval.num);
32: return NUMBER;
33: }
34:
35: "0"[0-7]+ {
36: sscanf(yytext+1, "%o", &yylval.num);
37: return NUMBER;
38: }
39:
40: "0o"[0-7]+ {
41: sscanf(yytext+2, "%o", &yylval.num);
42: return NUMBER;
43: }
44:
45: [_$a-zA-Z][_$a-zA-Z0-9]* {
46: strncpy(yylval.name, yytext, PATCH_VAR_NAME_LENGTH);
47: return VARIABLE;
48: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.