Annotation of researchv10no/cmd/basic/bite/src/error.c, revision 1.1.1.1

1.1       root        1: /* Copyright Bell Telephone Laboratories Whippany, N.J.
                      2: 
                      3:  *     ***********************************
                      4:  *     ***********************************
                      5:  *     ****** ERROR MESSAGE PRINTER ******
                      6:  *     *** R. B. Drake WH 8C-005 X4163 ***
                      7:  *     **** Fri Aug 24 17:21:10 1979 *****
                      8:  *     ***********************************
                      9:  *     ***********************************
                     10:  *
                     11:  * MOD,J.P.Hawkins,17-SEP-79, added error 44 and 45
                     12:  * MOD,J.P.Hawkins,31-JAN-81, String handling errors
                     13: 
                     14: */
                     15: /*   "@(#) error.c:  V 1.6  11/29/81" */
                     16: 
                     17: #include       "bas.h"
                     18: #ifndef        LSX
                     19: static char *mesg[] =
                     20: {
                     21:        "REFERS TO A NON EXISTING LINE NUMBER",         /* 0 */
                     22:        "UNRECOGNIZABLE OPERATION",                     /* 1 */
                     23:        "CANNOT OPEN FILE",                             /* 2 */
                     24:        "ILLEGAL VARIABLE NAME",                        /* 3 */
                     25:        "BAD FILENAME",                                 /* 4 */
                     26:        "WORKING STORAGE AREA EMPTY",                   /* 5 */
                     27:        "RUNS NESTED TOO DEEPLY",                       /* 6 */
                     28:        "UNASSIGNED VARIABLE",                          /* 7 */
                     29:        "EXPRESSION SYNTAX",                            /* 8 */
                     30:        "BAD KEYWORD IN STATEMENT",                     /* 9 */
                     31:        "IMPROPER OR NO RELATIONAL OPERATOR",           /* 10 */
                     32:        "UNBALANCED QUOTES",                            /* 11 */
                     33:        "FILE EDITING NOT PERMITTED IN SINGLE STEP MODE",       /* 12 */
                     34:        "MISSING OR ILLEGAL DELIMITER",                 /* 13 */
                     35:        "GOSUB WITH NO RETURN",                         /* 14 */
                     36:        "IS FATAL",                                     /* 15 */
                     37:        "UNBALANCED PARENTHESIS",                       /* 16 */
                     38:        "UNKNOWN MATH FUNCTION",                        /* 17 */
                     39:        "NEXT WITH NO OR WRONG FOR IN PROGRESS",        /* 18 */
                     40:        "CANNOT PROCESS IMAGINARY NUMBER",              /* 19 */
                     41:        "WHAT ?",                                       /* 20 */
                     42:        "BAD DIMENSION SYNTAX",                         /* 21 */
                     43:        "TOO MANY DIMENSIONS",                          /* 22 */
                     44:        "REDUNDANT DIM STATEMENT",                      /* 23 */
                     45:        "NOT ENOUGH WORKING STORAGE SPACE",             /* 24 */
                     46:        "VARIABLE NOT DIMENSIONED",                     /* 25 */
                     47:        "WRONG NUM OF DIMS",                            /* 26 */
                     48:        "ONE OR MORE DIMS LARGER THAN ASSIGNED",        /* 27 */
                     49:        "NEG. OR ZERO DIMENSION ILLEGAL",               /* 28 */
                     50:        "DIVIDE BY ZERO",                               /* 29 */
                     51:        "BAD TAB SPEC. IN PRINT",                       /* 30 */
                     52:        "SYS CALL FAILED",                              /* 31 */
                     53:        "BAD FILE DECLARE SYNTAX",                      /* 32 */
                     54:        "OUT OF DATA",                                  /* 33 */
                     55:        "FILE-NAME TOO LONG",                           /* 34 */
                     56:        "FILE DES. USED UP",                            /* 35 */
                     57:        "FILE NOT OPEN FOR OUTPUT",                     /* 36 */
                     58:        "FILE NOT OPEN FOR INPUT",                      /* 37 */
                     59:        "EXPRESSION YIELDS AN IMPOSSIBLE VALUE",        /* 38 */
                     60:        "PRINTF: ARG COUNT MISMATCH",                   /* 39 */
                     61:        "PRINTF: MORE THAN 10 ARGS",                    /* 40 */
                     62:        "LINE TOO LONG FOR STRIP PRINTER",              /* 41 */
                     63:        "MOV REQUIRES 3 LINE #'s SPACING IS OPTIONAL",  /*42*/
                     64:        "BAD NAME OR LINE NUMBER AT BEGINNING OF SUBROUTINE", /* 43 */
                     65:        "ELSE WITH NO IF",                              /* 44 */
                     66:        "ENDIF WITH NO IF",                             /* 45 */
                     67:        "GOTO NOT ALLOWED INSIDE STRUCTURED 'IF'",      /* 46 */
                     68:        "BREAK OR CONTINUE WITH NO FOR IN PROGRESS",            /* 47 */
                     69:        "FOR WITHOUT MATCHING NEXT",                    /* 48 */
                     70: #ifdef STRINGS
                     71:        "STRING VARIABLE IN NUMERICAL EXPR.",           /* 49 */
                     72:        "NON-STRING IN STRING ASSIGNMENT",              /* 50 */
                     73:        "NUMERIC IN STRING EXPRESSION",                 /* 51 */
                     74:        "INVALID STRING OPERATOR",                      /* 52 */
                     75:        "CANNOT COMPARE STRING WITH NUM. TYPES",        /* 53 */
                     76:        "UNKNOWN STRING FUNCTION",                      /* 54 */
                     77:        "OUT OF STRING RANGE",                          /* 55 */
                     78: #else
                     79:        0,                                              /* 49 */
                     80:        0,                                              /* 50 */
                     81:        0,                                              /* 51 */
                     82:        0,                                              /* 52 */
                     83:        0,                                              /* 53 */
                     84:        0,                                              /* 54 */
                     85:        0,                                              /* 55 */
                     86: #endif
                     87:        "FACTORIAL NEG. OR TOO LARGE",                  /* 56 */
                     88:        "SEEK: SYNTAX ERR.",                            /* 57 */
                     89:        "SEEK FAILED",                                  /* 58 */
                     90:        "ILLEGAL SEEK MODE",                            /* 59 */
                     91:        "REWIND: SYNTAX ERR.",                          /* 60 */
                     92: };
                     93: #endif
                     94: 
                     95: /*
                     96:  *
                     97:  * //////// TEST SET AND INSTRUMENT ERRORS ////////
                     98:  */
                     99: /*     "MISSING ' DELIMITER BEFORE BUS ADDR",             100 */
                    100: /*     "PS: VOLTAGE OUT OF RANGE",                        101 */
                    101: /*     "PS: CURRENT OUT OF RANGE",                        102 */
                    102: /*     "PS: OVERVOLTAGE OUT OF RANGE",                    103 */
                    103: /*     "RELAY ERR",                                       104 */
                    104: /*     "RELAY: INVALID FUNC.",                            105 */
                    105: /*     "RELAY: INVALID NUMBER",                           106 */
                    106: /*     "DVM: INVALID MODE",                               107 */
                    107: /*     "DVM: INVALID RANGE",                              108 */
                    108: /*     "LODSET: IMPROPER NUMBER OF ARGUMENTS",            109 */
                    109: /*     "LODSET: IMPROPER MODE",                           110 */
                    110: /*     "LODSET: UNABLE TO SET LOAD",                      111 */
                    111: 
                    112: error(line,num)
                    113: {
                    114:        error2(line,num,'\n');
                    115: }
                    116: 
                    117: error2(line,num,c)
                    118: char   c;
                    119: int line,num;
                    120: {
                    121: #ifndef        LSX
                    122:        char    *msgadr;
                    123: 
                    124:        msgadr = mesg[num];
                    125: #endif
                    126: 
                    127:        if(line != 0)
                    128: #ifdef LSX
                    129:                printf("ERROR #%d, LINE %d.\n",num,line);
                    130: #endif
                    131: #ifndef        LSX
                    132:                printf("ERROR LINE %d: %s%c",line,msgadr,c);
                    133: #endif
                    134:        else
                    135: #ifdef LSX
                    136:                printf("ERROR #%d.\n",num);
                    137: #endif
                    138: #ifndef        LSX
                    139:                printf("ERROR %s%c",msgadr,c);
                    140: #endif
                    141: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.