私はフレックスでスキャナーを書いています、そして私は次の2つの定義を持っています:
%%
"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
。なぜこうなった?それは私の定義によるものですか?