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 %token second 7*0c8de5b0SBaptiste Daroussin 8*0c8de5b0SBaptiste Daroussin %% 9*0c8de5b0SBaptiste Daroussin 10*0c8de5b0SBaptiste Daroussin firstx 11*0c8de5b0SBaptiste Daroussin : '(' secondx 12*0c8de5b0SBaptiste Daroussin ; 13*0c8de5b0SBaptiste Daroussin 14*0c8de5b0SBaptiste Daroussin second : 15*0c8de5b0SBaptiste Daroussin ')' 16*0c8de5b0SBaptiste Daroussin ; 17*0c8de5b0SBaptiste Daroussin 18*0c8de5b0SBaptiste Daroussin S: error 19*0c8de5b0SBaptiste Daroussin %% 20*0c8de5b0SBaptiste Daroussin 21*0c8de5b0SBaptiste Daroussin #include <stdio.h> 22*0c8de5b0SBaptiste Daroussin 23*0c8de5b0SBaptiste Daroussin int 24*0c8de5b0SBaptiste Daroussin main(void) 25*0c8de5b0SBaptiste Daroussin { 26*0c8de5b0SBaptiste Daroussin printf("yyparse() = %d\n", yyparse()); 27*0c8de5b0SBaptiste Daroussin return 0; 28*0c8de5b0SBaptiste Daroussin } 29*0c8de5b0SBaptiste Daroussin 30*0c8de5b0SBaptiste Daroussin int yylex(void)31*0c8de5b0SBaptiste Daroussinyylex(void) 32*0c8de5b0SBaptiste Daroussin { 33*0c8de5b0SBaptiste Daroussin return -1; 34*0c8de5b0SBaptiste Daroussin } 35*0c8de5b0SBaptiste Daroussin 36*0c8de5b0SBaptiste Daroussin static void yyerror(const char * s)37*0c8de5b0SBaptiste Daroussinyyerror(const char* s) 38*0c8de5b0SBaptiste Daroussin { 39*0c8de5b0SBaptiste Daroussin printf("%s\n", s); 40*0c8de5b0SBaptiste Daroussin } 41