xref: /freebsd/contrib/byacc/test/err_syntax21.y (revision 6cec9cad762b6476313fb1f8e931a1647822db6b)
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 Daroussin yylex(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 Daroussin yyerror(const char* s)
34*0c8de5b0SBaptiste Daroussin {
35*0c8de5b0SBaptiste Daroussin     printf("%s\n", s);
36*0c8de5b0SBaptiste Daroussin }
37