Я пишу сканер в прогибается, и я следующие два определения:Странная ситуация по поводу соответствия в гибком
%%
"int" printf("JUST_INT");
"int"[ \t\n]+"matrix" printf("MATRIX_INT");
[A-Za-z][A-Za-z0-9]* printf("IDENTIFIER");
%%
Когда вход в сканере int matrixM = 3;
выход MATRIX_INT IDENTIFIER
. Он видит ввод как int matrix M=3
. Но на самом деле это не matrix
, имя идентификатора matrixM
. Выходной сигнал должен быть JUST_INT IDENTIFIER
. Почему это происходит? Это из-за моих определений?