xref: /freebsd/contrib/byacc/test/err_syntax21.y (revision 0c8de5b03c61eb9097b89cb41e9180db6d606de1)
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
27*0c8de5b0SBaptiste Daroussin yylex(void)
28*0c8de5b0SBaptiste Daroussin {
29*0c8de5b0SBaptiste Daroussin     return -1;
30*0c8de5b0SBaptiste Daroussin }
31*0c8de5b0SBaptiste Daroussin 
32*0c8de5b0SBaptiste Daroussin static void
33*0c8de5b0SBaptiste Daroussin yyerror(const char* s)
34*0c8de5b0SBaptiste Daroussin {
35*0c8de5b0SBaptiste Daroussin     printf("%s\n", s);
36*0c8de5b0SBaptiste Daroussin }
37