64 |
correctly typed access to it. */ |
correctly typed access to it. */ |
65 |
#define yycontrol ((gram_control_t *) gram_control) |
#define yycontrol ((gram_control_t *) gram_control) |
66 |
|
|
67 |
/* Request detailed parse error messages, and pass them to |
/* Request detailed parse error messages, and pass them to GRAM_ERROR. |
68 |
GRAM_ERROR. */ |
FIXME: depends on the undocumented availability of YYLLOC.t */ |
69 |
#undef yyerror |
#undef yyerror |
70 |
#define yyerror(Msg) \ |
#define yyerror(Msg) \ |
71 |
gram_error (yycontrol, &yylloc, Msg) |
gram_error (&yylloc, Msg) |
72 |
|
|
73 |
#define YYPRINT(File, Type, Value) \ |
#define YYPRINT(File, Type, Value) \ |
74 |
yyprint (File, Type, &Value) |
yyprint (File, Type, &Value) |
459 |
} |
} |
460 |
|
|
461 |
void |
void |
462 |
gram_error (gram_control_t *control ATTRIBUTE_UNUSED, |
gram_error (location_t *yylloc, const char *msg) |
|
location_t *yylloc, const char *msg) |
|
463 |
{ |
{ |
464 |
complain_at (*yylloc, "%s", msg); |
complain_at (*yylloc, "%s", msg); |
465 |
} |
} |