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