|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.