Google
 

Trailing-Edge - PDP-10 Archives - BB-H138A-BM - 3a-sources/xr3n.bli
There are 18 other files named xr3n.bli in the archive. Click here to see a list.
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1972,1973,1974,1977,1978 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 01754
		EXTERNAL OUTPUT;
!FILENAE:	H3XREF.BLI
!DATE:		10 JULY 73	MGM/FLD

%3.2%	GLOBAL BIND H3XRV=2;	!MODULE VERSION NUMBER

	OWN NUMPLINE,		! NUMBER OF ENTRIES PER LINE
	    NUMTLINE;		! NUMBER OF ENTRIES ALREADY ON THIS LINE




FORWARD XINS,XPRINLEV;
ROUTINE XSORT =
	BEGIN
	LOCAL T1,T2,T3;
	INCR I FROM 0 TO HTSIZE -1 DO 
		IF (T1_.XHT[.I]) NEQ 0 THEN
		BEGIN
		XHT[.I]_0;
	DO (
		XINS(.T1);
		T1_.XT[.T1,2]<0,18>;
	   ) UNTIL .T1 EQL 0;
		END;
	END;

ROUTINE XFIX(PTR)=
	BEGIN
	LOCAL T1;
	T1_XT[.PTR,-1]<1,7>;
	INCR I FROM 1 TO 10 DO IF SCANI(T1) EQL #177 THEN
		REPLACEN(T1,0);
	END;

ROUTINE XOUTSTN(I)=
	IF NOT .LSTFLG THEN
	BEGIN EXTERNAL OUTPUT; LOCAL P,N,C; MACHOP ILDB=#134;
	P_ST[.I,-1]<1,7>; N_0;
	WHILE (C_ILDB(3,P)) NEQ 0 AND .N LSS 10 DO (OUTPUT(2,.C);N_.N+1);
	.N
	END;
ROUTINE XINS(PTR)=
	BEGIN
	LOCAL T1,T2,T3;
	XFIX(.PTR);	! CLEAN UP RUBOUTS
	IF .XHED EQL 0 THEN (XHED_.PTR; XT[.PTR,3]<18,18>_0;RETURN);
	IF .XT[.PTR,0] LSS .XT[.XHED,0] THEN
		(XT[.PTR,3]<18,18>_.XHED;XHED_.PTR;RETURN);
	IF .XT[.PTR,0] EQL .XT[.XHED,0] THEN
		IF .XT[.PTR,1] LSS .XT[.XHED,1] THEN
		(XT[.PTR,3]<18,18>_.XHED; XHED_.PTR; RETURN);
	T1_.XHED;
	DO (T2_.T1; T1_.XT[.T1,3]<18,18>) UNTIL
	   (IF .T1 EQL 0 THEN 1 ELSE IF .XT[.PTR,0] EQL .XT[.T1,0] THEN
		.XT[.PTR,1] LSS .XT[.T1,1] ELSE
		.XT[.PTR,0] LSS .XT[.T1,0]);
	XT[.PTR,3]<18,18>_.T1;
	XT[.T2,3]<18,18>_.PTR;
	END;

ROUTINE XNEWTIT=
	BEGIN
	EXTERNAL XR2COMPACT;
	LOCAL GOAL;
	IF .XR2COMPACT THEN
	    BEGIN
	    OUTSTR("Modul",5);
	    OUTSTR("e    ",5);
	    OUTSTR("  ",2);
	    END;
	OUTSTR("Ident",5);
	OUTSTR("ifier",5);
	OUTSTR(" BL  ",5);
	OUTSTR("Decl ",5);
!5.200.41 .....
	OUTSTR("TYP U",5);
	OUTSTR("SED",3);
! ..... 5.200.41
	NEWLINE();
	IF .XR2COMPACT
	    THEN GOAL=8
	    ELSE GOAL=6;
	INCR I FROM 1 TO .GOAL DO OUTSTR("-----",5);
	END;

ROUTINE XNEWLINE=
	BEGIN
	NEWLINE();
	IF .NLINES EQL 0 THEN (XNEWTIT();NEWLINE());
	END;

!5.200.40 .....
ROUTINE XR2TIT=
	BEGIN
	INCR I FROM 1 TO 10 DO OUTSTR("!XREF",5);
	NEWLINE();
	END;
! .... 5.200.40
ROUTINE XPRINT(X,Y) =
	BEGIN
%5.200.30 .... %
	ROUTINE OUTNUMITEM(N)=
		BEGIN
		IF .N<17,1> THEN (N_-(.N+#777777^18);CHAR_"R")
			    ELSE CHAR_" ";
	%3.20%	OUTNUM(.N/16,10,5,0);OUTPUT(2,.CHAR)
		END;

% ... 5.200.30%

! 5.200.40 ...
	EXTERNAL XR2COMPACT,XR3COMPACT;

	ROUTINE OUTXID(X,Y)=
	BEGIN

! 5.200.41 ....	TO PRINT OUT DECLARED TYPES

	LOCAL DTYP;
	BIND DECLTYP=PLIT(
		" UNK"," NIL"," GLO"," OWN"," EXT",
		" LOC"," BND"," PRM"," RTN"," EXP",
		" G-R"," FUN"," S-F"," PLT"," LBL",
		" FWD"," REG"," G-A"," G-P","    ",
		4:"   "," STR",
		" MCR"," LXM",3:"   ",
		"    ","    "," MCH"," SPF"," ABS",
		" SPU"," PTR"," LNK");
! .....