Jak rozwiązać ostrzeżenie Bison „… nie ma zadeklarowanego typu”
Uruchamianie żubra w tym pliku:
<code>%{ #include <iostream> int yylex(); void yyerror(const char*); %} %union { char name[100]; int val; } %token NUM ID %right '=' %left '+' '-' %left '*' %% exp : NUM {$$.val = $1.val;} | ID {$$.val = vars[$1.name];} | exp '+' exp {$$.val = $1.val + $3.val;} | ID '=' exp {$$.val = vars[$1.name] = $3.val;} ; %% </code>
Prowadzi do ostrzeżeń:
ostrzeżenie: $ z „exp” nie ma zadeklarowanego typu.
Co to znaczy i jak je rozwiązać?