YACC
yacc $$ translate relation
===============================================================================
bintree.y:22:5: warning: passing argument 2 of ‘bintree’ makes pointer from integer without a cast [enabled by default]
| IF '(' cond_expr ')' statement ELSE statement { $$ = bintree("IF_ELSE", $3, $5,$7);}
^
In file included from bintree.y:6:0:
bintree.h:22:15: note: expected ‘char *’ but argument is of type ‘YYSTYPE’
struct Node * bintree( char * s, char * cond_s, struct Node * l,struct Node * r);
^
bintree.y:22:5: warning: passing argument 3 of ‘bintree’ makes pointer from integer without a cast [enabled by default]
| IF '(' cond_expr ')' statement ELSE statement { $$ = bintree("IF_ELSE", $3, $5,$7);}
^
In file included from bintree.y:6:0:
bintree.h:22:15: note: expected ‘struct Node *’ but argument is of type ‘YYSTYPE’
struct Node * bintree( char * s, char * cond_s, struct Node * l,struct Node * r);
=================================================================================
typedef int YYSTYPE;
exern YYSTYPE yylval;
$$ default to be YYSTYPE, if we have more complex struction, then we need to redefine the YYSTYPE;