341 |
anyof return ANYOF; |
anyof return ANYOF; |
342 |
allof return ALLOF; |
allof return ALLOF; |
343 |
not return NOT; |
not return NOT; |
344 |
/* Other tokens */ |
/* Identifiers */ |
345 |
{IDENT} { ident (yytext); return IDENT; } |
{IDENT} { ident (yytext); return IDENT; } |
346 |
:{IDENT} { ident (yytext + 1); return TAG; } |
:{IDENT} { ident (yytext + 1); return TAG; } |
347 |
|
/* Numbers */ |
348 |
0[0-7]*{SIZESUF}* { return number (); } |
0[0-7]*{SIZESUF}* { return number (); } |
349 |
0x[0-9a-fA-F][0-9a-fA-F]+{SIZESUF}* { return number (); } |
0x[0-9a-fA-F][0-9a-fA-F]+{SIZESUF}* { return number (); } |
350 |
[1-9][0-9]*{SIZESUF}* { return number (); } |
[1-9][0-9]*{SIZESUF}* { return number (); } |
351 |
|
/* Quoted strings */ |
352 |
\"[^\\"\n]*\" { return string (); } |
\"[^\\"\n]*\" { return string (); } |
353 |
\"[^\\"\n]*\\. { BEGIN(STR); |
\"[^\\"\n]*\\. { BEGIN(STR); |
354 |
multiline_begin (); |
multiline_begin (); |
358 |
multiline_add (NULL); |
multiline_add (NULL); |
359 |
multiline_finish (); |
multiline_finish (); |
360 |
return STRING; } |
return STRING; } |
361 |
text:-?[ \t]*#.*\n { BEGIN(ML); multiline_begin (); } |
/* Multiline strings */ |
362 |
text:-?[ \t]*\n { BEGIN(ML); multiline_begin (); } |
text:-?[ \t]*#.*\n { BEGIN(ML); multiline_begin (); sieve_line_num++; } |
363 |
text:-?\\?{IDENT}[ \t]*#.*\n { BEGIN(ML); multiline_begin (); } |
text:-?[ \t]*\n { BEGIN(ML); multiline_begin (); sieve_line_num++; } |
364 |
text:-?\\?{IDENT}[ \t]*\n { BEGIN(ML); multiline_begin (); } |
text:-?\\?{IDENT}[ \t]*#.*\n { BEGIN(ML); multiline_begin (); |
365 |
|
sieve_line_num++; } |
366 |
|
text:-?\\?{IDENT}[ \t]*\n { BEGIN(ML); multiline_begin (); |
367 |
|
sieve_line_num++; } |
368 |
<ML>#[ \t]*include.*\n { if (multiline_delimiter[0] == '\\') |
<ML>#[ \t]*include.*\n { if (multiline_delimiter[0] == '\\') |
369 |
multiline_add (NULL); |
{ |
370 |
|
sieve_line_num++; |
371 |
|
multiline_add (NULL); |
372 |
|
} |
373 |
else |
else |
374 |
sieve_include (); } |
sieve_include (); } |
375 |
<ML>.*\n { char *p = multiline_strip_tabs (yytext); |
<ML>.*\n { char *p = multiline_strip_tabs (yytext); |
387 |
} |
} |
388 |
multiline_add (NULL); } |
multiline_add (NULL); } |
389 |
{WS} ; |
{WS} ; |
390 |
|
/* Other tokens */ |
391 |
\n { sieve_line_num++; } |
\n { sieve_line_num++; } |
392 |
. return yytext[0]; |
. return yytext[0]; |
393 |
|
|