C, , ++.
, YY_DECL .l :
#define YY_DECL int alpha_yylex(yylval_) void *yylval_;
int alpha_yylex(yylval_) - , void *yylval - .
, , , , .
(extern int alpha_yylex(void *yylval_);) .y.
Flex/Bison .c.
, .l - , .y - . , -, union .y ():
%union {
union {
int Integer;
double Double;
char Character;
char* String;
} value;
}
, , yylval.value.String = strdup(yytext) .l file , , $$.Double = $1.Double + $3.Double .y.
, , , , :)
P.S: ( FAQ -, , โ , xD: D xD)