summaryrefslogtreecommitdiffstats
path: root/contrib/byacc/test/pure_error.y
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/byacc/test/pure_error.y')
-rw-r--r--contrib/byacc/test/pure_error.y41
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);
+}
OpenPOWER on IntegriCloud