32 |
|
|
33 |
%option reentrant |
%option reentrant |
34 |
|
|
35 |
|
%x INSTRING |
36 |
|
|
37 |
DIGIT [0-9] |
DIGIT [0-9] |
38 |
|
|
39 |
%% |
%% |
50 |
DESTROY { return DESTROY; } |
DESTROY { return DESTROY; } |
51 |
LIST { return LIST; } |
LIST { return LIST; } |
52 |
LOAD { return LOAD; } |
LOAD { return LOAD; } |
53 |
|
LOAD_BACKGROUND { return LOAD_BACKGROUND; } |
54 |
REMOVE { return REMOVE; } |
REMOVE { return REMOVE; } |
55 |
SET { return SET; } |
SET { return SET; } |
56 |
SUBSCRIBE { return SUBSCRIBE; } |
SUBSCRIBE { return SUBSCRIBE; } |
80 |
BYTES { return BYTES; } |
BYTES { return BYTES; } |
81 |
PERCENTAGE { return PERCENTAGE; } |
PERCENTAGE { return PERCENTAGE; } |
82 |
RESET { return RESET; } |
RESET { return RESET; } |
83 |
|
MISCELLANEOUS { return MISCELLANEOUS; } |
84 |
QUIT { return QUIT; } |
QUIT { return QUIT; } |
85 |
0|([1-9]{DIGIT}*) { yylval->Number = atoi(yytext); return NUMBER; } |
0|([1-9]{DIGIT}*) { yylval->Number = atoi(yytext); return NUMBER; } |
86 |
|
"\'" { yylval->String = ""; BEGIN(INSTRING); } |
87 |
|
<INSTRING>[^\'\\]+ { yylval->String += yytext; } |
88 |
|
<INSTRING>"\\n" { yylval->String += '\n'; } |
89 |
|
<INSTRING>"\\r" { yylval->String += '\r'; } |
90 |
|
<INSTRING>"\\t" { yylval->String += '\t'; } |
91 |
|
<INSTRING>"\\\\" { yylval->String += '\\'; } |
92 |
|
<INSTRING>"\\\"" { yylval->String += '\"'; } |
93 |
|
<INSTRING>"\\\'" { yylval->String += '\''; } |
94 |
|
<INSTRING>"\\"[^nrt\"\\] { yylval->String += yytext; } |
95 |
|
<INSTRING>"\'" { BEGIN(INITIAL); return STRINGVAL; } |
96 |
. { yylval->Char = yytext[0]; return CHAR; } |
. { yylval->Char = yytext[0]; return CHAR; } |
97 |
|
|
98 |
%% |
%% |