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