42 |
#include <radtest.h> |
#include <radtest.h> |
43 |
#include <debugmod.h> |
#include <debugmod.h> |
44 |
|
|
45 |
int source_line_num; |
extern LOCUS source_locus; |
|
char *source_filename = ""; |
|
46 |
|
|
47 |
char *print_ident(Variable *var); |
char *print_ident(Variable *var); |
48 |
int subscript(Variable *var, char *attr_name, int all, Variable *ret_var); |
int subscript(Variable *var, char *attr_name, int all, Variable *ret_var); |
287 |
|
|
288 |
pair : NAME op string |
pair : NAME op string |
289 |
{ |
{ |
290 |
$$ = install_pair(source_filename, |
$$ = install_pair(&source_locus, $1, $2, $3); |
|
source_line_num, |
|
|
$1, $2, $3); |
|
291 |
efree($3); |
efree($3); |
292 |
} |
} |
293 |
; |
; |
394 |
int |
int |
395 |
yyerror(char *s) |
yyerror(char *s) |
396 |
{ |
{ |
397 |
fprintf(stderr, "%s:%d: %s\n", |
fprintf(stderr, "%s:%lu: %s\n", |
398 |
source_filename, |
source_locus.file, (unsigned long) source_locus.line, |
|
source_line_num, |
|
399 |
s); |
s); |
400 |
} |
} |
401 |
|
|
402 |
void |
void |
403 |
parse_error |
parse_error(const char *fmt, ...) |
|
#if STDC_HEADERS |
|
|
(const char *fmt, ...) |
|
|
#else |
|
|
(va_alist) |
|
|
va_dcl |
|
|
#endif |
|
404 |
{ |
{ |
405 |
va_list ap; |
va_list ap; |
406 |
#if !STDC_HEADERS |
|
|
char *fmt; |
|
|
|
|
|
va_start(ap); |
|
|
fmt = va_arg(ap, char*); |
|
|
#else |
|
407 |
va_start(ap, fmt); |
va_start(ap, fmt); |
408 |
#endif |
fprintf(stderr, "%s:%lu: ", source_locus.file, source_locus.line); |
|
fprintf(stderr, "%s:%d: ", source_filename, source_line_num); |
|
409 |
vfprintf(stderr, fmt, ap); |
vfprintf(stderr, fmt, ap); |
410 |
va_end(ap); |
va_end(ap); |
411 |
fprintf(stderr, "\n"); |
fprintf(stderr, "\n"); |