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 %%