по грамматике вы можете вызвать функцию
функция должна быть на третьей части
FIRST PART
%%
second PART
GRAMMAR { CALL YOUR FUNCTION();}
GRAMMAR2 VAR1 VAR2 VAR3 {CALL YOUR FUNCTION2($1,$2,$3);}
%%
third PART
YOUR FUNCTION(){}
YOUR FUNCTION2(int c, char*y , int z){}
int main (void) {
}
void yyerror (char *s) {fprintf (stderr, "%s\n", s);}
ваша функция может напечатать любую вещь, которую вы хотите, и грамматику, потому что вы теперь откуда она вызывает функцию по заданному вами параметру