Bison Laufen auf diese Datei:Wie Bison Warnung lösen „... hat keinen deklarierten Typ“
%{
#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;}
;
%%
führt zu Warnungen der Art von:
warning: $$ of 'exp' has no declared type.
Was ist das und wie löse ich es?
+1: für den ersten erscheinen, wenn googeln 'Bison Fehler kein Baumuster zur – INS
erklärt hat gerade ein kleine Klarheit. Ich habe '% union {int intValue; int FloatWert; } 'aber es erlaubt mir nicht,' $$. intValue' oder '$ 1.intValue' zu verwenden. Es heißt 'error: Anfrage für Mitglied 'floatValue' in etwas nicht eine Struktur oder Union. Warum? – Shashwat