perm filename COMMON.SAI[PUB,TES]1 blob sn#129329 filedate 1974-11-07 generic text, type T, neo UTF8
00100	COMMENT 8/24/74	DEFINITIONS COMMON TO PASSES 1 AND 2 OF PUB ;
00200	
00210	DEFINE		TES = [COMMENT], RKJ = [COMMENT], CMU = [COMMENT],
00220			PLK = [COMMENT], PJ = [COMMENT], RT01 = [COMMENT],
00240			TVR = [COMMENT], BH = [COMMENT] ;
00260	
00270	IFCR PARCVER THENC REQUIRE "<TESLER>PARCPUB" SOURCE!FILE ; ENDC
00275	
00300	DEFINE DSCR=[COMMENT ];
00400	DSCR **** DYNAMIC ARRAY MANIPULATION PACKAGE ****
00500	 ;
00600	DEFINE TEMPO=['14], LPSA=['13];
00700	EXTERNAL INTEGER SIMPLE PROCEDURE LRMAK(INTEGER L,H,D);
00800	EXTERNAL INTEGER SIMPLE PROCEDURE LRCOP(INTEGER A);
00900	EXTERNAL SIMPLE PROCEDURE ARYEL(INTEGER I);
01000	
01100	DSCR PTR ← CREATE(LOWBND,HIBND)
01200	CAL MACRO -- EXPRESSION
01300	PAR LOWBND IS LOWER BOUND FOR INTEGER ARRAY
01400	 HIBND IS UPPER BOUND
01500	RES PTR IS AN ARRAY DESCRIPTOR
01600	DES CALLS LRMAK TO GET AN UNMARKED ARRAY
01700	;
01800	
01900	DEFINE CREATE(L,H)= [LRMAK(L,H,1)];
02000	
02100	DSCR MAKEBE(PTR,ARRAY)
02200	CAL MACRO -- STATEMENT
02300	PAR PTR IS INTEGER HOLDING ARRAY DESCRIPTOR
02400	 ARRAY IS DUMMY TO RECEIVE DESCRIPTOR (DON'T LEAVE THAT BLOCK!)
02500	DES EFFECT IS "ARRAY←PTR", BUT SAIL WON'T DO THAT DIRECTLY
02600	;
02700	
02800	DEFINE MAKEBE(I,A)="
02900	 START!CODE
03000	  MOVE TEMPO,I;
03100	  MOVEM  TEMPO,A;
03200	 END ";
03300	
03400	TERNAL INTEGER
03500		DOPASS3,	COMMENT RKJ CMU flag for pass 3;
03600		XCRIBL,		COMMENT TRUE IF IN XCRIBL MODE;
03700		LOFONT,HIFONT,	COMMENT WHICH ONES USED ;
03800		CHARW,		COMMENT WIDTH OF A TYPICAL "CHAR" ;
03900		WCW,		COMMENT WHATIS CW;
04000		BASELINE,	COMMENT FOR SU-AI UNDERLINE ;
04100		MINLFTMAR,	COMMENT (RASTERS) CAN'T PRINT CLOSER THAN THIS ;
04200		VBPI,		COMMENT DEVICE RASTER (VERTICAL);
04300		HBPI,		COMMENT DEVICE RASTER (HORIZONTAL) ;
04600		COMDUMMY ;
04700	
04800	TERNAL INTEGER ARRAY FNTFIL[0:35] ; COMMENT HOLDS CW POINTERS ;
04900	TERNAL STRING ARRAY FNTNAME,XFNTNAME[0:35] ;
05000	TERNAL THAFE INTEGER ARRAY FNTINF[0:35] ; COMMENT font info ;
05025	IFC PARCVER THENC TES 10/17/74 ;
05050	TERNAL THAFE INTEGER ARRAY FNTNUMBER[0:35] ;
05075	ENDC
05100	
05200	DEFINE  CHARH		= [FNTINF[THISFONT]],
05300		STDCHARH	= [FNTINF[DEFAULTFONT]],
05400		CMUKST2		= [FALSE],
05500		COMDEFINE	= [] ;
05600	
05700	DEFINE DEFAULTFONT =
05800		IFC CMUVER OR ISIVER THENC [10] ELSEC [1] ENDC;  RT01 10/24/74 ;