File:  [Research Unix] / researchv10no / cmd / basic / bite / src / error.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

/* Copyright Bell Telephone Laboratories Whippany, N.J.

 *	***********************************
 *	***********************************
 *	****** ERROR MESSAGE PRINTER ******
 *	*** R. B. Drake WH 8C-005 X4163 ***
 *	**** Fri Aug 24 17:21:10 1979 *****
 *	***********************************
 *	***********************************
 *
 * MOD,J.P.Hawkins,17-SEP-79, added error 44 and 45
 * MOD,J.P.Hawkins,31-JAN-81, String handling errors

*/
/*   "@(#) error.c:  V 1.6  11/29/81" */

#include	"bas.h"
#ifndef	LSX
static char *mesg[] =
{
	"REFERS TO A NON EXISTING LINE NUMBER",		/* 0 */
	"UNRECOGNIZABLE OPERATION",			/* 1 */
	"CANNOT OPEN FILE",				/* 2 */
	"ILLEGAL VARIABLE NAME",			/* 3 */
	"BAD FILENAME",					/* 4 */
	"WORKING STORAGE AREA EMPTY",			/* 5 */
	"RUNS NESTED TOO DEEPLY",			/* 6 */
	"UNASSIGNED VARIABLE",				/* 7 */
	"EXPRESSION SYNTAX",				/* 8 */
	"BAD KEYWORD IN STATEMENT",			/* 9 */
	"IMPROPER OR NO RELATIONAL OPERATOR",		/* 10 */
	"UNBALANCED QUOTES",				/* 11 */
	"FILE EDITING NOT PERMITTED IN SINGLE STEP MODE",	/* 12 */
	"MISSING OR ILLEGAL DELIMITER",			/* 13 */
	"GOSUB WITH NO RETURN",				/* 14 */
	"IS FATAL",					/* 15 */
	"UNBALANCED PARENTHESIS",			/* 16 */
	"UNKNOWN MATH FUNCTION",			/* 17 */
	"NEXT WITH NO OR WRONG FOR IN PROGRESS",	/* 18 */
	"CANNOT PROCESS IMAGINARY NUMBER",		/* 19 */
	"WHAT ?",					/* 20 */
	"BAD DIMENSION SYNTAX",				/* 21 */
	"TOO MANY DIMENSIONS",				/* 22 */
	"REDUNDANT DIM STATEMENT",			/* 23 */
	"NOT ENOUGH WORKING STORAGE SPACE",		/* 24 */
	"VARIABLE NOT DIMENSIONED",			/* 25 */
	"WRONG NUM OF DIMS",				/* 26 */
	"ONE OR MORE DIMS LARGER THAN ASSIGNED",	/* 27 */
	"NEG. OR ZERO DIMENSION ILLEGAL",		/* 28 */
	"DIVIDE BY ZERO",				/* 29 */
	"BAD TAB SPEC. IN PRINT",			/* 30 */
	"SYS CALL FAILED",				/* 31 */
	"BAD FILE DECLARE SYNTAX",			/* 32 */
	"OUT OF DATA",					/* 33 */
	"FILE-NAME TOO LONG",				/* 34 */
	"FILE DES. USED UP",				/* 35 */
	"FILE NOT OPEN FOR OUTPUT",			/* 36 */
	"FILE NOT OPEN FOR INPUT",			/* 37 */
	"EXPRESSION YIELDS AN IMPOSSIBLE VALUE",	/* 38 */
	"PRINTF: ARG COUNT MISMATCH",			/* 39 */
	"PRINTF: MORE THAN 10 ARGS",			/* 40 */
	"LINE TOO LONG FOR STRIP PRINTER",		/* 41 */
	"MOV REQUIRES 3 LINE #'s SPACING IS OPTIONAL",	/*42*/
	"BAD NAME OR LINE NUMBER AT BEGINNING OF SUBROUTINE", /* 43 */
	"ELSE WITH NO IF",				/* 44 */
	"ENDIF WITH NO IF",				/* 45 */
	"GOTO NOT ALLOWED INSIDE STRUCTURED 'IF'",	/* 46 */
	"BREAK OR CONTINUE WITH NO FOR IN PROGRESS",		/* 47 */
	"FOR WITHOUT MATCHING NEXT",			/* 48 */
#ifdef	STRINGS
	"STRING VARIABLE IN NUMERICAL EXPR.",		/* 49 */
	"NON-STRING IN STRING ASSIGNMENT",		/* 50 */
	"NUMERIC IN STRING EXPRESSION",			/* 51 */
	"INVALID STRING OPERATOR",			/* 52 */
	"CANNOT COMPARE STRING WITH NUM. TYPES",	/* 53 */
	"UNKNOWN STRING FUNCTION",			/* 54 */
	"OUT OF STRING RANGE",				/* 55 */
#else
	0,						/* 49 */
	0,						/* 50 */
	0,						/* 51 */
	0,						/* 52 */
	0,						/* 53 */
	0,						/* 54 */
	0,						/* 55 */
#endif
	"FACTORIAL NEG. OR TOO LARGE",			/* 56 */
	"SEEK: SYNTAX ERR.",				/* 57 */
	"SEEK FAILED",					/* 58 */
	"ILLEGAL SEEK MODE",				/* 59 */
	"REWIND: SYNTAX ERR.",				/* 60 */
};
#endif

/*
 *
 * //////// TEST SET AND INSTRUMENT ERRORS ////////
 */
/*  	"MISSING ' DELIMITER BEFORE BUS ADDR",		   100 */
/*  	"PS: VOLTAGE OUT OF RANGE",			   101 */
/*  	"PS: CURRENT OUT OF RANGE",			   102 */
/*  	"PS: OVERVOLTAGE OUT OF RANGE",			   103 */
/*  	"RELAY ERR",					   104 */
/*  	"RELAY: INVALID FUNC.",				   105 */
/*  	"RELAY: INVALID NUMBER",			   106 */
/*  	"DVM: INVALID MODE",				   107 */
/*  	"DVM: INVALID RANGE",				   108 */
/*  	"LODSET: IMPROPER NUMBER OF ARGUMENTS",		   109 */
/*  	"LODSET: IMPROPER MODE",			   110 */
/*  	"LODSET: UNABLE TO SET LOAD",			   111 */

error(line,num)
{
	error2(line,num,'\n');
}

error2(line,num,c)
char	c;
int line,num;
{
#ifndef	LSX
	char	*msgadr;

	msgadr = mesg[num];
#endif

	if(line != 0)
#ifdef	LSX
		printf("ERROR #%d, LINE %d.\n",num,line);
#endif
#ifndef	LSX
		printf("ERROR LINE %d: %s%c",line,msgadr,c);
#endif
	else
#ifdef	LSX
		printf("ERROR #%d.\n",num);
#endif
#ifndef	LSX
		printf("ERROR %s%c",msgadr,c);
#endif
}

unix.superglobalmegacorp.com

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