Имам този токен в моя .lex файл:
[a-zA-Z0-9]+ { yylval = yytext; return ALPHANUM; }
и този код в моя .y файл:
Sentence: "Sphere(" ALPHANUM ")."
{
FILE* file = fopen("C:/test.txt", "a+");
char st1[] = "polySphere -name ";
strcat(st1, $2);
strcat(st1, ";");
fprintf(file,"%s", st1);
fclose(file);
}
Получавам тази грешка, когато се опитвам да компилирам:
предупреждение: предаването на аргумент 2 на „strcat“ прави указател от цяло число без преобразуване
Така че $2 е int, как да го направя низ?
Например: "Сфера (световен глобус)." Искам $2 да има стойността на низа worldGlobe тук.
Благодаря за всяка помощ
#define YYSTYPE char*
в проложната част на .y файла. - person MtnViewJohn   schedule 26.12.2011