Bison 3 requires that instances of YYPARSE_PARAM be replaced with
%parse-param. This in turn alters the arguments of the generated
yyerror function, so relevant function prototypes have to be updated.

Index: libgnomeprint/grammar.y
===================================================================
--- libgnomeprint/grammar.y.orig
+++ libgnomeprint/grammar.y
@@ -6,8 +6,6 @@
 #include <libgnomeprint/types.h>
 #include <libgnomeprint/gnome-print-filter.h>
 
-#define YYPARSE_PARAM graph
-
 static void
 set_value_from_string (GParamSpec *pspec, GValue *v, const gchar *s)
 {
@@ -99,7 +97,7 @@ gnome_print_filter_parse_prop (GnomePrin
 }
 
 static int yylex (void *lvalp);
-static int yyerror (const char *s);
+static int yyerror (void *graph, const char *s);
 %}
 
 %union {
@@ -116,7 +114,8 @@ static int yyerror (const char *s);
 %type <f> filter
 %type <p> pool
 
-%pure_parser
+%define api.pure
+%parse-param {void *graph}
 
 %start graph
 %%
@@ -185,7 +184,7 @@ graph: filter {
 %%
 
 static int
-yyerror (const char *s)
+yyerror (void *graph, const char *s)
 {
 	return -1;
 }
