[BACK]Return to error.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / yacc

Annotation of src/usr.bin/yacc/error.c, Revision 1.1.1.1

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