1*0c8de5b0SBaptiste Daroussin %{ 2*0c8de5b0SBaptiste Daroussin int yylex(void); 3*0c8de5b0SBaptiste Daroussin static void yyerror(const char *); 4*0c8de5b0SBaptiste Daroussin %} 5*0c8de5b0SBaptiste Daroussin 6*0c8de5b0SBaptiste Daroussin %type <check> expr 7*0c8de5b0SBaptiste Daroussin %type <rechk> recur 8*0c8de5b0SBaptiste Daroussin 9*0c8de5b0SBaptiste Daroussin %% 10*0c8de5b0SBaptiste Daroussin 11*0c8de5b0SBaptiste Daroussin expr : '(' recur ')' 12*0c8de5b0SBaptiste Daroussin { foo( $$ = $0 ); } 13*0c8de5b0SBaptiste Daroussin ; 14*0c8de5b0SBaptiste Daroussin 15*0c8de5b0SBaptiste Daroussin %% 16*0c8de5b0SBaptiste Daroussin 17*0c8de5b0SBaptiste Daroussin #include <stdio.h> 18*0c8de5b0SBaptiste Daroussin 19*0c8de5b0SBaptiste Daroussin int 20*0c8de5b0SBaptiste Daroussin main(void) 21*0c8de5b0SBaptiste Daroussin { 22*0c8de5b0SBaptiste Daroussin printf("yyparse() = %d\n", yyparse()); 23*0c8de5b0SBaptiste Daroussin return 0; 24*0c8de5b0SBaptiste Daroussin } 25*0c8de5b0SBaptiste Daroussin 26*0c8de5b0SBaptiste Daroussin int yylex(void)27*0c8de5b0SBaptiste Daroussinyylex(void) 28*0c8de5b0SBaptiste Daroussin { 29*0c8de5b0SBaptiste Daroussin return -1; 30*0c8de5b0SBaptiste Daroussin } 31*0c8de5b0SBaptiste Daroussin 32*0c8de5b0SBaptiste Daroussin static void yyerror(const char * s)33*0c8de5b0SBaptiste Daroussinyyerror(const char* s) 34*0c8de5b0SBaptiste Daroussin { 35*0c8de5b0SBaptiste Daroussin printf("%s\n", s); 36*0c8de5b0SBaptiste Daroussin } 37