アセットxchange形式のパーサーを構築しています。また、bisonファイルに%token-tableディレクティブを含めていますが、フレックスコードからは、テーブルまたはそれに関連付けられている定数にアクセスできません。これは、このコードをコンパイルしようとするときです。
Frame|FrameTransformMatrix|Mesh|MeshNormals|MeshMaterialList|Material {
printf("A keyword: %s\n", yytext);
yylval.charptr_type = yytext;
int i;
for (i = 0; i < YYNTOKENS; i++)
{
if (yytname[i] != 0
&& yytname[i][0] == '"'
&& !strncmp(yytname[i] + 1, yytext, strlen(yytext))
&& yytname[i][strlen(yytext) + 1] == '"'
&& yytname[i][strlen(yytext) + 2] == 0)
return i;
}
}
gccは、YYNTOKENSとyytnameの両方が宣言されていないと言います。では、トークンテーブルは最終的に非推奨になり、ワイプされたのでしょうか、それともどうしたのでしょうか。