1  %{
 2  #include "cselect.tab.h"
 3  %}
 4
 5  D                       [0-9]
 6  L                       [a-zA-Z_]
 7  H                       [a-fA-F0-9]
 8  E                       [Ee][+-]?{D}+
 9  FS                      (f|F|l|L)
10  IS                      (u|U|l|L)*
11
12  %%
13
14  "if"                    { return IF; }
15  "else"                  { return ELSE; }
16
17  {L}({L}|{D})*           { return IDENTIFIER; }
18
19  0[xX]{H}+{IS}?          { return CONSTANT; }
20  0{D}+{IS}?              { return CONSTANT; }
21  {D}+{IS}?               { return CONSTANT; }
22  L?'(\\.|[^\\'])+'       { return CONSTANT; }
23
24  {D}*"."{D}+({E})?{FS}?  { return CONSTANT; }
25  {D}+"."{D}*({E})?{FS}?  { return CONSTANT; }
26
27  L?\"(\\.|[^\\"])*\"     { return STRING_LITERAL; }
28
29  "=="                    { return EQ_OP; }
30
31  [ \t\n]+
32  .                       { return *yytext; }
33
34  %%