error.c

Go to the documentation of this file.
00001 /* routines for printing error messages  */
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 }

Generated on Fri Apr 14 22:56:39 2006 for minix by  doxygen 1.4.6