-5

Flex で 2 つのトークンを定義しようとしています。1 つ目は、入力に文字列 "int" がある場合に返される "tINTTYPE" を返します。もう 1 つは、入力に "int matrix" がある場合に返される "TINTTYPE" です。

私のflxファイルの関連部分は次のとおりです。

int {yylval.type_id.Type=1;return tINTTYPE;}
int[ \t\n]+matrix {yylval.type_id.Type=2;return tINTMATRIXTYPE;} 
. return yytext[0];

問題は、入力がint matrixm=4;の場合です。スキャナーはそれをint マトリックス m=4 として認識します。tINTMATRIXTYPEを返しますが、実際にはmatrixmという名前の整数型があり、これとして認識されるようにしたい、つまりtINTTYPEを返す必要があります。これについて何ができますか?

ありがとうございました

4

1 に答える 1

1
int                       {yylval.type_id.Type=1;return tINTTYPE;}
int[ \t\n]+matrix[ \t\n]+ {yylval.type_id.Type=2;return tINTMATRIXTYPE;} 
. return yytext[0];
于 2013-04-12T17:42:31.240 に答える