Ejecución de bisonte en este archivo:¿Cómo resolver bisonte advertencia "... no tiene tipo declarado"
%{
#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;}
;
%%
Conduce a las advertencias del tipo de:
warning: $$ of 'exp' has no declared type.
¿Qué significa y como lo soluciono?
1: por aparecer en primer lugar cuando googlear 'error bisontes no ha declarado type' – INS
Sólo una pequeña claridad. Tengo '% union {int intValue; int floatValue; } 'pero no me permite usar' $$. intValue' o '$ 1.intValue'. Dice 'error: solicite el miembro 'floatValue' en algo que no sea una estructura o unión'. ¿Porque? – Shashwat