diff options
Diffstat (limited to 'contrib/byacc/test/pure_error.y')
-rw-r--r-- | contrib/byacc/test/pure_error.y | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/contrib/byacc/test/pure_error.y b/contrib/byacc/test/pure_error.y new file mode 100644 index 0000000..fe7a3c3 --- /dev/null +++ b/contrib/byacc/test/pure_error.y @@ -0,0 +1,41 @@ +%{ + +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM &yylval +#define YYLEX_DECL() yylex(YYSTYPE *yylval) +#define YYERROR_DECL() yyerror(const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +%} + +%% +S: error +%% + +#include <stdio.h> + +#ifdef YYBYACC +extern int YYLEX_DECL(); +#endif + +int +main(void) +{ + printf("yyparse() = %d\n", yyparse()); + return 0; +} + +int +yylex(YYSTYPE *value) +{ + return value ? 0 : -1; +} + +static void +yyerror(const char* s) +{ + printf("%s\n", s); +} |