Google
 

Trailing-Edge - PDP-10 Archives - bb-l014q-bm_tops20_v6_1_atpch17 - autopatch/p2s1.c17
There are 10 other files named p2s1.c17 in the archive. Click here to see a list.
 REP 24/1	;17C1
	GLOBAL BIND P2S1V = #11^24 + 0^18 + #4560;	! Version Date:	22-Dec-86
 WIT
	GLOBAL BIND P2S1V = #11^24 + 0^18 + #4566;	! Version Date:	15-Jun-87
 DEL 206/1	;17C2
	***** End Revision History *****

 REP 262/1	;17C3
	4560	MEM	22-Dec-85
		Remove edit 4555 until its bugs are fixed.
 WIT
	4560	MEM	22-Dec-86
		Remove edit 4555 until its bugs are fixed.

	***** End V10 Development *****

	4563	MEM	11-Feb-87
		Add edit 4555 as 4563.

	4566	JB	15-Jun-87
		In STRIPCONST when an ADD node is being processed, check the
		A2NETFLG, and set NEGFLG so that the negation is retained.

	***** End Revision History *****
 DEL 377/1	;17C4
	%4510%	E165,		! Substring bound out of range error
 REP 48/17	;17C5

 WIT
	%4566%			IF .BOUND[A2NEGFLG] EQL 1
	%4566%			THEN NEGFLG = 1;			
 REP 51/18	;17C6
	%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