Google
 

Trailing-Edge - PDP-10 Archives - bb-jr93i-bb - 7,6/ap016/p2s1.c16
There are 8 other files named p2s1.c16 in the archive. Click here to see a list.
 REP 24/1	;16C1
	GLOBAL BIND P2S1V = #11^24 + 0^18 + #4560;	! Version Date:	22-Dec-86
 WIT
	GLOBAL BIND P2S1V = #11^24 + 0^18 + #4563;	! Version Date:	11-Feb-87
 INS 265/1	;16C2
	4563	MEM	11-Feb-87
		Add edit 4555 as 4563.

 DEL 377/1	;16C3
	%4510%	E165,		! Substring bound out of range error
 REP 51/18	;16C4
	%4510%
	%4510%	! Get the length  of the character  variable or array  element
	%4510%	! we're taking the substring from.
	%4510%
	%4510%	IF .ANODE[OPRCLS] NEQ ARRAYREF
	%4510%	THEN CHLEN = .ANODE[IDCHLEN]	! ANODE is scalar, get its length
	%4510%	ELSE 
	%4510%	BEGIN	! ARRAYREF
	%4510%
	%4510%		CHLEN = .ANODE[ARG1PTR];	! Array name
	%4510%		CHLEN = .CHLEN[IDCHLEN];	! Length of array element
	%4510%
	%4510%	END;	! ARRAYREF
	%4510%
	%4510%	IF .LNODE[OPR1] EQL CONSTFL
	%4510%	THEN IF .LNODE[CONST2] LSS 1	! Lower bound must be >= 1
	%4510%		OR			! and < CHLEN
	%4510%		(.CHLEN NEQ LENSTAR AND .LNODE[CONST2] GTR .CHLEN)
	%4510%	THEN FATLERR(.ISN,E165<0,0>);	! Give bounds error
	%4510%
	%4510%	IF .UNODE[OPR1] EQL CONSTFL
	%4510%	THEN
	%4510%	BEGIN	! Upper bound is constant
	%4510%
	%4510%		IF .UNODE[CONST2] LSS 1		! Upper bound must be >= 1
	%4510%			OR			! and <= CHLEN
	%4510%			(.CHLEN NEQ LENSTAR AND .UNODE[CONST2] GTR .CHLEN)
	%4510%		THEN FATLERR(.ISN,E165<0,0>);	! Give bounds error
	%4510%
	%4510%
	%4510%		IF .LNODE[OPR1] EQL CONSTFL
	%4510%		THEN
	%4510%		BEGIN	! Upper and lower bounds are both constant
	%4510%
	%4510%			! Give a bounds error if the lower bound minus
	%4510%			! one  is  >=  the  upper  bound  (i.e.,   the
	%4510%			! user-specified lower  bound is  > the  upper
	%4510%			! bound).
	%4510%
	%4510%			IF .LNODE[CONST2] GTR .UNODE[CONST2]
	%4510%			THEN FATLERR(.ISN,E165<0,0>)	! Give bounds error
	%4510%		END;
	%4510%	END;
	%4510%
 WIT
	%4563%
 SUM 142564