Мне нужно объединить фразы как предложение и передать их как слова.
У меня есть правило YACC, которое гласит:
words : words WORD {
if($1 == NULL)
{
$$ = $2;
}
else
{
printf("\t$1 = %s\n",$1);
printf("\t$2 = %s\n",$2);
strBuffer[0]='\0';
strcat((char *)strBuffer,$1);
$$ = strcat((char *)strBuffer,$2);
printf("\t$$ = %s\n\n",$$);
}
}
char strBuffer [200] - достаточно большой глобальный массив.
Но когда я запускаю парсер, я получаю:
$1 = The G
$2 = nats and
$$ = nats and
Что я должен сделать, чтобы и 1, и 2 доллара превратились в $$?