xref: /freebsd/contrib/byacc/test/err_syntax16.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 %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 Daroussin yylex(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 Daroussin yyerror(const char* s)
38*0c8de5b0SBaptiste Daroussin {
39*0c8de5b0SBaptiste Daroussin     printf("%s\n", s);
40*0c8de5b0SBaptiste Daroussin }
41