00001
00002
00003 #include "defs.h"
00004
00005
00006 fatal(msg)
00007 char *msg;
00008 {
00009 fprintf(stderr, "%s: f - %s\n", myname, msg);
00010 done(2);
00011 }
00012
00013
00014 no_space()
00015 {
00016 fprintf(stderr, "%s: f - out of space\n", myname);
00017 done(2);
00018 }
00019
00020
00021 open_error(filename)
00022 char *filename;
00023 {
00024 fprintf(stderr, "%s: f - cannot open \"%s\"\n", myname, filename);
00025 done(2);
00026 }
00027
00028
00029 unexpected_EOF()
00030 {
00031 fprintf(stderr, "%s: e - line %d of \"%s\", unexpected end-of-file\n",
00032 myname, lineno, input_file_name);
00033 done(1);
00034 }
00035
00036
00037 print_pos(st_line, st_cptr)
00038 char *st_line;
00039 char *st_cptr;
00040 {
00041 register char *s;
00042
00043 if (st_line == 0) return;
00044 for (s = st_line; *s != '\n'; ++s)
00045 {
00046 if (isprint(*s) || *s == '\t')
00047 putc(*s, stderr);
00048 else
00049 putc('?', stderr);
00050 }
00051 putc('\n', stderr);
00052 for (s = st_line; s < st_cptr; ++s)
00053 {
00054 if (*s == '\t')
00055 putc('\t', stderr);
00056 else
00057 putc(' ', stderr);
00058 }
00059 putc('^', stderr);
00060 putc('\n', stderr);
00061 }
00062
00063
00064 syntax_error(st_lineno, st_line, st_cptr)
00065 int st_lineno;
00066 char *st_line;
00067 char *st_cptr;
00068 {
00069 fprintf(stderr, "%s: e - line %d of \"%s\", syntax error\n",
00070 myname, st_lineno, input_file_name);
00071 print_pos(st_line, st_cptr);
00072 done(1);
00073 }
00074
00075
00076 unterminated_comment(c_lineno, c_line, c_cptr)
00077 int c_lineno;
00078 char *c_line;
00079 char *c_cptr;
00080 {
00081 fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n",
00082 myname, c_lineno, input_file_name);
00083 print_pos(c_line, c_cptr);
00084 done(1);
00085 }
00086
00087
00088 unterminated_string(s_lineno, s_line, s_cptr)
00089 int s_lineno;
00090 char *s_line;
00091 char *s_cptr;
00092 {
00093 fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n",
00094 myname, s_lineno, input_file_name);
00095 print_pos(s_line, s_cptr);
00096 done(1);
00097 }
00098
00099
00100 unterminated_text(t_lineno, t_line, t_cptr)
00101 int t_lineno;
00102 char *t_line;
00103 char *t_cptr;
00104 {
00105 fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n",
00106 myname, t_lineno, input_file_name);
00107 print_pos(t_line, t_cptr);
00108 done(1);
00109 }
00110
00111
00112 unterminated_union(u_lineno, u_line, u_cptr)
00113 int u_lineno;
00114 char *u_line;
00115 char *u_cptr;
00116 {
00117 fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \
00118 declaration\n", myname, u_lineno, input_file_name);
00119 print_pos(u_line, u_cptr);
00120 done(1);
00121 }
00122
00123
00124 over_unionized(u_cptr)
00125 char *u_cptr;
00126 {
00127 fprintf(stderr, "%s: e - line %d of \"%s\", too many %%union \
00128 declarations\n", myname, lineno, input_file_name);
00129 print_pos(line, u_cptr);
00130 done(1);
00131 }
00132
00133
00134 illegal_tag(t_lineno, t_line, t_cptr)
00135 int t_lineno;
00136 char *t_line;
00137 char *t_cptr;
00138 {
00139 fprintf(stderr, "%s: e - line %d of \"%s\", illegal tag\n",
00140 myname, t_lineno, input_file_name);
00141 print_pos(t_line, t_cptr);
00142 done(1);
00143 }
00144
00145
00146 illegal_character(c_cptr)
00147 char *c_cptr;
00148 {
00149 fprintf(stderr, "%s: e - line %d of \"%s\", illegal character\n",
00150 myname, lineno, input_file_name);
00151 print_pos(line, c_cptr);
00152 done(1);
00153 }
00154
00155
00156 used_reserved(s)
00157 char *s;
00158 {
00159 fprintf(stderr, "%s: e - line %d of \"%s\", illegal use of reserved symbol \
00160 %s\n", myname, lineno, input_file_name, s);
00161 done(1);
00162 }
00163
00164
00165 tokenized_start(s)
00166 char *s;
00167 {
00168 fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s cannot be \
00169 declared to be a token\n", myname, lineno, input_file_name, s);
00170 done(1);
00171 }
00172
00173
00174 retyped_warning(s)
00175 char *s;
00176 {
00177 fprintf(stderr, "%s: w - line %d of \"%s\", the type of %s has been \
00178 redeclared\n", myname, lineno, input_file_name, s);
00179 }
00180
00181
00182 reprec_warning(s)
00183 char *s;
00184 {
00185 fprintf(stderr, "%s: w - line %d of \"%s\", the precedence of %s has been \
00186 redeclared\n", myname, lineno, input_file_name, s);
00187 }
00188
00189
00190 revalued_warning(s)
00191 char *s;
00192 {
00193 fprintf(stderr, "%s: w - line %d of \"%s\", the value of %s has been \
00194 redeclared\n", myname, lineno, input_file_name, s);
00195 }
00196
00197
00198 terminal_start(s)
00199 char *s;
00200 {
00201 fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s is a \
00202 token\n", myname, lineno, input_file_name, s);
00203 done(1);
00204 }
00205
00206
00207 restarted_warning()
00208 {
00209 fprintf(stderr, "%s: w - line %d of \"%s\", the start symbol has been \
00210 redeclared\n", myname, lineno, input_file_name);
00211 }
00212
00213
00214 no_grammar()
00215 {
00216 fprintf(stderr, "%s: e - line %d of \"%s\", no grammar has been \
00217 specified\n", myname, lineno, input_file_name);
00218 done(1);
00219 }
00220
00221
00222 terminal_lhs(s_lineno)
00223 int s_lineno;
00224 {
00225 fprintf(stderr, "%s: e - line %d of \"%s\", a token appears on the lhs \
00226 of a production\n", myname, s_lineno, input_file_name);
00227 done(1);
00228 }
00229
00230
00231 prec_redeclared()
00232 {
00233 fprintf(stderr, "%s: w - line %d of \"%s\", conflicting %%prec \
00234 specifiers\n", myname, lineno, input_file_name);
00235 }
00236
00237
00238 unterminated_action(a_lineno, a_line, a_cptr)
00239 int a_lineno;
00240 char *a_line;
00241 char *a_cptr;
00242 {
00243 fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n",
00244 myname, a_lineno, input_file_name);
00245 print_pos(a_line, a_cptr);
00246 done(1);
00247 }
00248
00249
00250 dollar_warning(a_lineno, i)
00251 int a_lineno;
00252 int i;
00253 {
00254 fprintf(stderr, "%s: w - line %d of \"%s\", $%d references beyond the \
00255 end of the current rule\n", myname, a_lineno, input_file_name, i);
00256 }
00257
00258
00259 dollar_error(a_lineno, a_line, a_cptr)
00260 int a_lineno;
00261 char *a_line;
00262 char *a_cptr;
00263 {
00264 fprintf(stderr, "%s: e - line %d of \"%s\", illegal $-name\n",
00265 myname, a_lineno, input_file_name);
00266 print_pos(a_line, a_cptr);
00267 done(1);
00268 }
00269
00270
00271 untyped_lhs()
00272 {
00273 fprintf(stderr, "%s: e - line %d of \"%s\", $$ is untyped\n",
00274 myname, lineno, input_file_name);
00275 done(1);
00276 }
00277
00278
00279 untyped_rhs(i, s)
00280 int i;
00281 char *s;
00282 {
00283 fprintf(stderr, "%s: e - line %d of \"%s\", $%d (%s) is untyped\n",
00284 myname, lineno, input_file_name, i, s);
00285 done(1);
00286 }
00287
00288
00289 unknown_rhs(i)
00290 int i;
00291 {
00292 fprintf(stderr, "%s: e - line %d of \"%s\", $%d is untyped\n",
00293 myname, lineno, input_file_name, i);
00294 done(1);
00295 }
00296
00297
00298 default_action_warning()
00299 {
00300 fprintf(stderr, "%s: w - line %d of \"%s\", the default action assigns an \
00301 undefined value to $$\n", myname, lineno, input_file_name);
00302 }
00303
00304
00305 undefined_goal(s)
00306 char *s;
00307 {
00308 fprintf(stderr, "%s: e - the start symbol %s is undefined\n", myname, s);
00309 done(1);
00310 }
00311
00312
00313 undefined_symbol_warning(s)
00314 char *s;
00315 {
00316 fprintf(stderr, "%s: w - the symbol %s is undefined\n", myname, s);
00317 }