Annotation of researchv10no/cmd/basic/bite/src/error.c, revision 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.