home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / BYACC.ZIP / RCS / ERROR.C_V < prev    next >
Text File  |  1992-06-10  |  6KB  |  342 lines

  1. head    1.1;
  2. access;
  3. symbols;
  4. locks; strict;
  5. comment    @ * @;
  6.  
  7.  
  8. 1.1
  9. date    92.06.10.21.55.08;    author downey;    state Exp;
  10. branches;
  11. next    ;
  12.  
  13.  
  14. desc
  15. @@
  16.  
  17.  
  18. 1.1
  19. log
  20. @Initial revision
  21. @
  22. text
  23. @/* routines for printing error messages  */
  24.  
  25. #include "defs.h"
  26.  
  27.  
  28. fatal(msg)
  29. char *msg;
  30. {
  31.     fprintf(stderr, "%s: f - %s\n", myname, msg);
  32.     done(2);
  33. }
  34.  
  35.  
  36. no_space()
  37. {
  38.     abort();
  39.     fprintf(stderr, "%s: f - out of space\n", myname);
  40.     done(2);
  41. }
  42.  
  43.  
  44. open_error(filename)
  45. char *filename;
  46. {
  47.     fprintf(stderr, "%s: f - cannot open \"%s\"\n", myname, filename);
  48.     done(2);
  49. }
  50.  
  51.  
  52. unexpected_EOF()
  53. {
  54.     fprintf(stderr, "%s: e - line %d of \"%s\", unexpected end-of-file\n",
  55.         myname, lineno, input_file_name);
  56.     done(1);
  57. }
  58.  
  59.  
  60. print_pos(st_line, st_cptr)
  61. char *st_line;
  62. char *st_cptr;
  63. {
  64.     register char *s;
  65.  
  66.     if (st_line == 0) return;
  67.     for (s = st_line; *s != '\n'; ++s)
  68.     {
  69.     if (isprint(*s) || *s == '\t')
  70.         putc(*s, stderr);
  71.     else
  72.         putc('?', stderr);
  73.     }
  74.     putc('\n', stderr);
  75.     for (s = st_line; s < st_cptr; ++s)
  76.     {
  77.     if (*s == '\t')
  78.         putc('\t', stderr);
  79.     else
  80.         putc(' ', stderr);
  81.     }
  82.     putc('^', stderr);
  83.     putc('\n', stderr);
  84. }
  85.  
  86.  
  87. syntax_error(st_lineno, st_line, st_cptr)
  88. int st_lineno;
  89. char *st_line;
  90. char *st_cptr;
  91. {
  92.     fprintf(stderr, "%s: e - line %d of \"%s\", syntax error\n",
  93.         myname, st_lineno, input_file_name);
  94.     print_pos(st_line, st_cptr);
  95.     exit(1);
  96. }
  97.  
  98.  
  99. unterminated_comment(c_lineno, c_line, c_cptr)
  100. int c_lineno;
  101. char *c_line;
  102. char *c_cptr;
  103. {
  104.     fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n",
  105.         myname, c_lineno, input_file_name);
  106.     print_pos(c_line, c_cptr);
  107.     done(1);
  108. }
  109.  
  110.  
  111. unterminated_string(s_lineno, s_line, s_cptr)
  112. int s_lineno;
  113. char *s_line;
  114. char *s_cptr;
  115. {
  116.     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n",
  117.         myname, s_lineno, input_file_name);
  118.     print_pos(s_line, s_cptr);
  119.     done(1);
  120. }
  121.  
  122.  
  123. unterminated_text(t_lineno, t_line, t_cptr)
  124. int t_lineno;
  125. char *t_line;
  126. char *t_cptr;
  127. {
  128.     fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n",
  129.         myname, t_lineno, input_file_name);
  130.     print_pos(t_line, t_cptr);
  131.     done(1);
  132. }
  133.  
  134.  
  135. unterminated_union(u_lineno, u_line, u_cptr)
  136. int u_lineno;
  137. char *u_line;
  138. char *u_cptr;
  139. {
  140.     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \
  141. declaration\n", myname, u_lineno, input_file_name);
  142.     print_pos(u_line, u_cptr);
  143.     done(1);
  144. }
  145.  
  146.  
  147. over_unionized(u_cptr)
  148. char *u_cptr;
  149. {
  150.     fprintf(stderr, "%s: e - line %d of \"%s\", too many %%union \
  151. declarations\n", myname, lineno, input_file_name);
  152.     print_pos(line, u_cptr);
  153.     done(1);
  154. }
  155.  
  156.  
  157. illegal_tag(t_lineno, t_line, t_cptr)
  158. int t_lineno;
  159. char *t_line;
  160. char *t_cptr;
  161. {
  162.     fprintf(stderr, "%s: e - line %d of \"%s\", illegal tag\n",
  163.         myname, t_lineno, input_file_name);
  164.     print_pos(t_line, t_cptr);
  165.     done(1);
  166. }
  167.  
  168.  
  169. illegal_character(c_cptr)
  170. char *c_cptr;
  171. {
  172.     fprintf(stderr, "%s: e - line %d of \"%s\", illegal character\n",
  173.         myname, lineno, input_file_name);
  174.     print_pos(line, c_cptr);
  175.     done(1);
  176. }
  177.  
  178.  
  179. used_reserved(s)
  180. char *s;
  181. {
  182.     fprintf(stderr, "%s: e - line %d of \"%s\", illegal use of reserved symbol \
  183. %s\n", myname, lineno, input_file_name, s);
  184.     done(1);
  185. }
  186.  
  187.  
  188. tokenized_start(s)
  189. char *s;
  190. {
  191.      fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s cannot be \
  192. declared to be a token\n", myname, lineno, input_file_name, s);
  193.      done(1);
  194. }
  195.  
  196.  
  197. retyped_warning(s)
  198. char *s;
  199. {
  200.     fprintf(stderr, "%s: w - line %d of \"%s\", the type of %s has been \
  201. redeclared\n", myname, lineno, input_file_name, s);
  202. }
  203.  
  204.  
  205. reprec_warning(s)
  206. char *s;
  207. {
  208.     fprintf(stderr, "%s: w - line %d of \"%s\", the precedence of %s has been \
  209. redeclared\n", myname, lineno, input_file_name, s);
  210. }
  211.  
  212.  
  213. revalued_warning(s)
  214. char *s;
  215. {
  216.     fprintf(stderr, "%s: w - line %d of \"%s\", the value of %s has been \
  217. redeclared\n", myname, lineno, input_file_name, s);
  218. }
  219.  
  220.  
  221. terminal_start(s)
  222. char *s;
  223. {
  224.     fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s is a \
  225. token\n", myname, lineno, input_file_name, s);
  226.     done(1);
  227. }
  228.  
  229.  
  230. restarted_warning()
  231. {
  232.     fprintf(stderr, "%s: w - line %d of \"%s\", the start symbol has been \
  233. redeclared\n", myname, lineno, input_file_name);
  234. }
  235.  
  236.  
  237. no_grammar()
  238. {
  239.     fprintf(stderr, "%s: e - line %d of \"%s\", no grammar has been \
  240. specified\n", myname, lineno, input_file_name);
  241.     done(1);
  242. }
  243.  
  244.  
  245. terminal_lhs(s_lineno)
  246. int s_lineno;
  247. {
  248.     fprintf(stderr, "%s: e - line %d of \"%s\", a token appears on the lhs \
  249. of a production\n", myname, s_lineno, input_file_name);
  250.     done(1);
  251. }
  252.  
  253.  
  254. prec_redeclared()
  255. {
  256.     fprintf(stderr, "%s: w - line %d of  \"%s\", conflicting %%prec \
  257. specifiers\n", myname, lineno, input_file_name);
  258. }
  259.  
  260.  
  261. unterminated_action(a_lineno, a_line, a_cptr)
  262. int a_lineno;
  263. char *a_line;
  264. char *a_cptr;
  265. {
  266.     fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n",
  267.         myname, a_lineno, input_file_name);
  268.     print_pos(a_line, a_cptr);
  269.     done(1);
  270. }
  271.  
  272.  
  273. dollar_warning(a_lineno, i)
  274. int a_lineno;
  275. int i;
  276. {
  277.     fprintf(stderr, "%s: w - line %d of \"%s\", $%d references beyond the \
  278. end of the current rule\n", myname, a_lineno, input_file_name, i);
  279. }
  280.  
  281.  
  282. dollar_error(a_lineno, a_line, a_cptr)
  283. int a_lineno;
  284. char *a_line;
  285. char *a_cptr;
  286. {
  287.     fprintf(stderr, "%s: e - line %d of \"%s\", illegal $-name\n",
  288.         myname, a_lineno, input_file_name);
  289.     print_pos(a_line, a_cptr);
  290.     done(1);
  291. }
  292.  
  293.  
  294. untyped_lhs()
  295. {
  296.     fprintf(stderr, "%s: e - line %d of \"%s\", $$ is untyped\n",
  297.         myname, lineno, input_file_name);
  298.     done(1);
  299. }
  300.  
  301.  
  302. untyped_rhs(i, s)
  303. int i;
  304. char *s;
  305. {
  306.     fprintf(stderr, "%s: e - line %d of \"%s\", $%d (%s) is untyped\n",
  307.         myname, lineno, input_file_name, i, s);
  308.     done(1);
  309. }
  310.  
  311.  
  312. unknown_rhs(i)
  313. int i;
  314. {
  315.     fprintf(stderr, "%s: e - line %d of \"%s\", $%d is untyped\n",
  316.         myname, lineno, input_file_name, i);
  317.     done(1);
  318. }
  319.  
  320.  
  321. default_action_warning()
  322. {
  323.     fprintf(stderr, "%s: w - line %d of \"%s\", the default action assigns an \
  324. undefined value to $$\n", myname, lineno, input_file_name);
  325. }
  326.  
  327.  
  328. undefined_goal(s)
  329. char *s;
  330. {
  331.     fprintf(stderr, "%s: e - the start symbol %s is undefined\n", myname, s);
  332.     done(1);
  333. }
  334.  
  335.  
  336. undefined_symbol_warning(s)
  337. char *s;
  338. {
  339.     fprintf(stderr, "%s: w - the symbol %s is undefined\n", myname, s);
  340. }
  341. @
  342.