perm filename COMMON.SAI[PUB,TES] blob sn#229496 filedate 1976-07-30 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	8/24/74	DEFINITIONS COMMON TO PASSES 1 AND 2 OF PUB 
C00006 ENDMK
C⊗;
COMMENT 8/24/74	DEFINITIONS COMMON TO PASSES 1 AND 2 OF PUB ;

DEFINE		TES = [COMMENT], RKJ = [COMMENT], CMU = [COMMENT],
		PLK = [COMMENT], PJ = [COMMENT], RT01 = [COMMENT],
		TVR = [COMMENT], BH = [COMMENT], JFR = [COMMENT] ;

IFCR PARCVER THENC REQUIRE "<TESLER>PARCPUB" SOURCE!FILE ; ENDC

DEFINE DSCR=[COMMENT ];
DSCR **** DYNAMIC ARRAY MANIPULATION PACKAGE ****
 ;
DEFINE TEMPO=['14], LPSA=['13];
EXTERNAL INTEGER SIMPLE PROCEDURE LRMAK(INTEGER L,H,D);
EXTERNAL INTEGER SIMPLE PROCEDURE LRCOP(INTEGER A);
EXTERNAL SIMPLE PROCEDURE ARYEL(INTEGER I);

DSCR PTR ← CREATE(LOWBND,HIBND)
CAL MACRO -- EXPRESSION
PAR LOWBND IS LOWER BOUND FOR INTEGER ARRAY
 HIBND IS UPPER BOUND
RES PTR IS AN ARRAY DESCRIPTOR
DES CALLS LRMAK TO GET AN UNMARKED ARRAY
;

DEFINE CREATE(L,H)= [LRMAK(L,H,1)];

DSCR MAKEBE(PTR,ARRAY)
CAL MACRO -- STATEMENT
PAR PTR IS INTEGER HOLDING ARRAY DESCRIPTOR
 ARRAY IS DUMMY TO RECEIVE DESCRIPTOR (DON'T LEAVE THAT BLOCK!)
DES EFFECT IS "ARRAY←PTR", BUT SAIL WON'T DO THAT DIRECTLY
;

DEFINE MAKEBE(I,A)="
 START!CODE
  MOVE TEMPO,I;
  MOVEM  TEMPO,A;
 END ";

TERNAL INTEGER
	DOPASS3,	COMMENT RKJ CMU flag for pass 3;
	XCRIBL,		COMMENT TRUE IF IN XCRIBL MODE;
	LOFONT,HIFONT,	COMMENT WHICH ONES USED ;
	CHARW,		COMMENT WIDTH OF A TYPICAL "CHAR" ;
	WCW,		COMMENT WHATIS CW;
	BASELINE,	COMMENT FOR SU-AI UNDERLINE ;
	MINLFTMAR,	COMMENT (RASTERS) CAN'T PRINT CLOSER THAN THIS ;
	VBPI,		COMMENT DEVICE RASTER (VERTICAL);
	HBPI,		COMMENT DEVICE RASTER (HORIZONTAL) ;
	COMDUMMY ;

TERNAL INTEGER ARRAY FNTFIL[0:35] ; COMMENT HOLDS CW POINTERS ;
TERNAL STRING ARRAY FNTNAME,XFNTNAME[0:35] ;
TERNAL THAFE INTEGER ARRAY FNTINF[0:35] ; COMMENT font info ;
IFC PARCVER THENC TES 10/17/74 ;
TERNAL THAFE INTEGER ARRAY FNTNUMBER[0:35] ;
ENDC

DEFINE  CHARH		= [FNTINF[THISFONT]],
	STDCHARH	= [FNTINF[DEFAULTFONT]],
	CMUKST2		= [FALSE],
	COMDEFINE	= [] ;

DEFINE DEFAULTFONT =
	IFC CMUVER OR ISIVER THENC [10] ELSEC [1] ENDC;  RT01 10/24/74 ;