xref: /freebsd/contrib/byacc/test/pure_error.y (revision b652778e426d00b6a1df29bbd86869db86f36e25)
1*98e903e7SBaptiste Daroussin %{
2*98e903e7SBaptiste Daroussin 
3*98e903e7SBaptiste Daroussin #ifdef YYBISON
4*98e903e7SBaptiste Daroussin #define YYSTYPE int
5*98e903e7SBaptiste Daroussin #define YYLEX_PARAM &yylval
6*98e903e7SBaptiste Daroussin #define YYLEX_DECL() yylex(YYSTYPE *yylval)
7*98e903e7SBaptiste Daroussin #define YYERROR_DECL() yyerror(const char *s)
8*98e903e7SBaptiste Daroussin int YYLEX_DECL();
9*98e903e7SBaptiste Daroussin static void YYERROR_DECL();
10*98e903e7SBaptiste Daroussin #endif
11*98e903e7SBaptiste Daroussin 
12*98e903e7SBaptiste Daroussin %}
13*98e903e7SBaptiste Daroussin 
14*98e903e7SBaptiste Daroussin %%
15*98e903e7SBaptiste Daroussin S: error
16*98e903e7SBaptiste Daroussin %%
17*98e903e7SBaptiste Daroussin 
18*98e903e7SBaptiste Daroussin #include <stdio.h>
19*98e903e7SBaptiste Daroussin 
20*98e903e7SBaptiste Daroussin #ifdef YYBYACC
21*98e903e7SBaptiste Daroussin extern int YYLEX_DECL();
22*98e903e7SBaptiste Daroussin #endif
23*98e903e7SBaptiste Daroussin 
24*98e903e7SBaptiste Daroussin int
main(void)25*98e903e7SBaptiste Daroussin main(void)
26*98e903e7SBaptiste Daroussin {
27*98e903e7SBaptiste Daroussin     printf("yyparse() = %d\n", yyparse());
28*98e903e7SBaptiste Daroussin     return 0;
29*98e903e7SBaptiste Daroussin }
30*98e903e7SBaptiste Daroussin 
31*98e903e7SBaptiste Daroussin int
yylex(YYSTYPE * value)32*98e903e7SBaptiste Daroussin yylex(YYSTYPE *value)
33*98e903e7SBaptiste Daroussin {
34*98e903e7SBaptiste Daroussin     return value ? 0 : -1;
35*98e903e7SBaptiste Daroussin }
36*98e903e7SBaptiste Daroussin 
37*98e903e7SBaptiste Daroussin static void
yyerror(const char * s)38*98e903e7SBaptiste Daroussin yyerror(const char* s)
39*98e903e7SBaptiste Daroussin {
40*98e903e7SBaptiste Daroussin     printf("%s\n", s);
41*98e903e7SBaptiste Daroussin }
42