Распознавание чисел и идентификаторов

Необходимо распознать целые числа и идентификаторы с помощью flex (генератор лексических анализаторов). Вот правила:

[a-zA-Z][a-zA-Z0-9]*    printf("Identifier\n");
-?[0-9]+                printf("Number\n");
[ \n\r\t]               ;
.                       return 1;

Например, при вводе 123acb должна выдастся ошибка, но вместо этого flex распознает эту лексему как идентификатор и число одновременно. Как можно исправить эту ситуацию?


Ответы (0 шт):