1 %{ 2 3 #define UNDEFINED 0 4 #define HCONSTANT 1 5 #define OCONSTANT 2 6 #define DCONSTANT 3 7 8 %} 9 10 D [0-9] 11 O [0-7] 12 H [a-fA-F0-9] 13 IS (u|U|l|L)* 14 15 %% 16 0[xX]{H}+{IS}? { return HCONSTANT; } 17 0{O}+{IS}? { return OCONSTANT; } 18 {D}+{IS}? { return DCONSTANT; } 19 [ \t\n]+ 20 . { return UNDEFINED; } 21 %% 22 23 static char name[4][16] = { 24 "nezname", "sestnactkove", "osmickove", "desitkove" 25 }; 26 27 int main() { 28 int token; 29 while (token = yylex()) { 30 printf("Nalezeno %s cislo\n", name[token]); 31 } 32 }