Google
 

Trailing-Edge - PDP-10 Archives - FORTRAN-10_V7wLink_Feb83 - ioflg.bli
There are 12 other files named ioflg.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) DIGITAL EQUIPMENT CORPORATION 1974, 1983
!AUTHOR: */SJW/TFV/DCE/CDM/AHM

GLOBAL BIND IOFLGV = 7^24 + 0^18 + #1577;	! Version Date:	9-Jul-82

%(

***** Begin Revision History *****

1	-----	-----	REMOVE EOP AND FIRSTSTATEMENT FLAGS

2	-----	-----	ADD THE PROGTYP, MULTENT, AND LABLDUM FLAGS

3	-----	-----	REMOVE THOSE FLAGS THAT I DON'T BELIEVE ARE USED 
			AND NAME ONE THAT I THOUGHT WASN'T BUT WAS
			OUT - WILDLSTFIL,WILDOBJFIL,TAPEND,WIND,ZERO
			IN - EOCS ( END OF COMMAND STRING FLAG )

4	-----	-----	ADD ININCLUDE AND CHANNEL ICL

5	-----	-----	MODIFY FLAGREGISTER BITS

			1. REMOVE DEBUG FLAG
			2. ADD THE NEW DEBUG SWITCH FLAGS
				DBGDIMN
				DBGINDX
				DBGLABL
				DBGTRAC

				BOUNDS REMAINS THE SAME

6	-----	-----	PUT IN COMPILE TIME FTTENEX

7	-----	-----	SET UP SECONDARY FLAG REGISTER - NO MORE ROOM
			IN FLGREG

8	-----	-----	OBTAIN THE FTTENEX SWITCH FROM A REQUIRE FILE
			TO FACILITATE 10/20 CONTROL FILE PRODUCTON
9	467	VER5	REMOVE "REQUIRE FORSWI.REQ": PUT FT1SEG AND
			  FTTENEX SWITCHES INTO SEPARATE REQUIRE FILES
			  REQUIRED ONLY BY THOSE MODULES THAT USE THEM
10	476	QA754	CHANGE STATFLG TO MAPFLG IN FLGREG TO MAKE
			  LINE NUMBER/OCTAL LOCATION MAP OPTIONAL

***** Begin Version 5A *****

11	573	-----	PUT DBUGIT BIND INTO A SEPARATE FILE REQUIRED BY
			  ONLY THOSE MODULES THAT USE IT, (SJW)

***** Begin Version 5B *****

12	677	25573	REPLACE PEEPFL WHICH IS THOUGHT TO BE UNUSED
			BY DBGPAR AS BIT 25 IN FLGREG., (RDH)

***** Begin Version 6 *****

13	750	TFV	1-Jan-80	------
	Remove Debug:parameters (edit 677)

14	761	TFV	1-Mar-80	------
	Add /GFLOATING flag to FLAGS2 to tell type of DP numbers in use

15	767	DCE	20-May-80	-----
	CREATE SECONDARY SWITCH REGISTER F2
	ADD /F77 FLAG TO F2 TO INDICATE F77 STANDARD REQUESTED
	ALSO MOVE /GFLOATING FLAG INTO F2

16	1133	TFV	28-Sep-81	------
	Add /STATISTICS flag to F2 for in-house performance measurement.
	It is disabled in the released V6.

***** Begin Version 6A *****

1160	EGM	14-Jun-82
	Add definition of 'fatal errors this compile command' switch

***** Begin Version 7 *****

17	1437	CDM	16-Dec-81
	Add code for /DEBUG:ARGUMENTS

18	1456	CKS	11-Jan-82
	Add IOINPT flag in statement descriptor block.  It means statement
	is an IO statement which does input (and hence modifies the variables
	in its IO list).

19	1467	CDM	1-Feb-82
	Add SAVEALL and  SAVELOCAL global  flags to F2  for SAVE  statement
	processing.

1504	AHM	26-Feb-82
	Add EXTENDFLAG field and EXTENDED macro for extended addressing.

1511	CDM	17-Mar-82
	Remove edit 1467, Global variables are used instead of F2.

1577	RVM	9-Jul-82
	Set aside a bit in FLAGS2 to be used as the /ABORT flag.

1613	CDM	13-Aug-82
	Change /DEBUG:PARAMETERS to /DEBUG:ARGUMENTS.

***** End Revision History *****

)%


EXTERNAL  BUGOUT;
	% BUGOUT CONTAINS THE OCTAL VALUE OF THE /BU: SWITCH
		BIT	MEANS
		1	OUTPUT LISTING BUFFERS IMMEDIATELY
		2	TRACE OF ROUTINE LEXICAL STATES
		3	DISPLAY THE CLASSIFICATION OF EACH STATEMENT
		4	DISPLAY THE LEXEME TYPE AS IT IS RETURNED FROM LEXICAL
	%



BIND	TBLMAX=4,
	TBLSIZ=10;
STRUCTURE
	MATRIX[I,J]=[I*J](.MATRIX+(.I-1)*TBLSIZ+.J);
EXTERNAL MATRIX CHNLTBL[TBLMAX,TBLSIZ];
BIND	BIN=1,
	LST=2,
	SRC=3,
	ICL = 4;
MACRO	STATUS(I)=CHNLTBL[I,0]$,
	DEVICE(I)=CHNLTBL[I,1]$,
	BUFFERS(I)=CHNLTBL[I,2]$,
	BUFHDR(I)=CHNLTBL[I,3]$,
	BUFPNT(I)=CHNLTBL[I,4]$,
	BUFCNT(I)=CHNLTBL[I,5]$,
	FILENAME(I)=CHNLTBL[I,6]$,
		EXTENSION(I)=CHNLTBL[I,7]<18,18>$,
		DSKERR(I)=CHNLTBL[I,7]<0,18>$,
		PROT(I)=CHNLTBL[I,8]<27,9>$,
	DIRECTORY(I)=CHNLTBL[I,9]$;

MACRO	XDEVJFN(I)=CHNLTBL[I,0]<RIGHT>$,
	XWORDCNT(I)=CHNLTBL[I,1]$;

BIND	XSINSIZ = 128,
	XSOUTSIZ = 512;


% BEFORE MESSING ABOUT WITH THESE FLAGS CHECK USAGE IN COMMAN.MAC %

MACRO	FOUNDFLG=	35,1$,	WARNGERR=	17,1$,
	TTYDEV=		34,1$,	ENDFILE=	16,1$,
	NOWARNING=	33,1$,	DBGDIMN=	15,1$,	%DEBUG:DIMENSIONS%
				DBGDIMNBR =	15$,
	BLKDATA=	32,1$,	INIOLIST=	14,1$,
	LIBARITH=	31,1$,	OBJECT=		13,1$,
	BOUNDS=		30,1$,	ININCLUD=	12,1$,
	DBGBOUNBR =	30$,	%DEBUG:BOUNDS%
				KA10=		11,1$,
	PROGTYP=	28,2$,	LISTING=	10,1$,
		MAPROG = 0$,
		FNPROG = 1$,
		SUPROG = 2$,
		BKPROG = 3$,
	% LABLDUM indicates that there are label formal arguments to a function or subroutine %
	LABLDUM=	27,1$,	DBGINDX=	9,1$,	%DEBUG:INDEX%
				DBGINDXBR =	9$,
	FATALERR=	26,1$,	DBGLABL=	8,1$,	%DEBUG:LABELS%
				DBGLABLBR = 	8$,
%1613%	DBGARGMNTS = 	25,1$,
%1613%	DBGARGMBR = 	25$,	% /DEBUG:ARGUMENTS %
%[677]%				EOCS=		7,1$,
	BTTMSTFL=	24,1$,	CROSSREF=	6,1$,
	CKA10=		23,1$,	DBGTRAC=	5,1$,	%DEBUG:TRACE%
				DBGTRACBR = 	5$,
	SYNONLY=	22,1$,	EXPAND=		4,1$,
	ERRSW=		21,1$,	INCLUDE=	3,1$,
	% MULTENT indicates that there are multiple entry points %
	MULTENT=	20,1$,	MACROCODE=	2,1$,
	MAPFLG=		19,1$,	NOERRORS=	1,1$,
	FELFLG=		18,1$,	OPTIMIZE=	0,1$;

%1437%	REGISTER FLGREG = 0;	!Use register 0 for the flag register


	EXTERNAL  FLAGS2;	!SECONDARY FLAGREGISTER

	MACRO
		TTYINPUT = 35,1 $,	!INPUT DEVICE IS A TTY
%1160%		GFMCOK	= 34,1 $,	!GFLOATING MICROCODE PRESENT
%1160%		FTLCOM = 33,1 $,	!Fatal compile errors - this command
%1577%		ABORTSW = 32,1 $;	!Do an abort if fatal errors occur


	EXTERNAL F2;		![767]SECONDARY SWITCH REGISTER -
				![767]USED TO HOLD USER SETTABLE SWITCHES

	MACRO
		GFL	= 35,1 $,	![767] USE GFLOATING DP
		F77FL	= 34,1 $,	![767] USE F77 STANDARD
		F77	= .F2<F77FL> $,	![767] FOR EASE OF USE IN THE COMPILER
		F66	= NOT .F2<F77FL> $,	![767] DITTO
%1133%		STA	= 33,1 $,	! STATISTICS
%1504%		EXTENDFLAG = 32,1$,	! /EXTEND
%1504%		EXTENDED = .F2<EXTENDFLAG> $; ! IF EXTENDED THEN . . .

% MACROS WHICH REFERENCE THE STATEMENT DESCRIPTION BLOCK
  GIVEN THE ADDRESS OF IT.  THE ADDRESS IS NORMALLY IN STMNDESC  %

	MACRO	STMNROUTINE ( DESC )  = ( DESC ) <RIGHT>  $ ,	! ROUTINE ADDRESS
		KEYWRD (DESC)  =  ( DESC + 1 )  $,	! KEY WORD, TERMINATED BY ZERO, PRECEEDED BY A BLANK
		ORDERCODE (DESC) = ( DESC  )<18,4>  $,	! STATEMENT ORDER CODE
		BADIFOBJ ( DESC )  =  (DESC ) <22,1> $,	! IF SET THIS STATEMENT CANNOT
							! BE THE OBJECT OF A LOGICAL IF
		BADOTERM(DESC)  =  (DESC) <23,1> $,	! IF SET THIS STATEMENT CANNOT
							! TERMINATE A DO LOOP
		LABOK

		(DESC) = (DESC)<24,2>  $,		! IF SET TO 0 THIS STATEMENT MAY HAVE A LABEL
							! IF SET TO 1 IT MAY NOT BE LABLED
							! IF SET T0 2  PROCESSING IS DELAYED UNTIL SEMANTICS

%1456%		IOINPT(DESC) = (DESC)<26,1>  $,		! STATEMENT DOES INPUT INTO AN IO LIST

		SYNOW(DESC) =  (DESC)<27,9>  $;		! IF NON-ZERO SYNTAX FOR THE STATEMENT
							! CAN BE EXECUTED IN THE DRIVER
							! BEFORE CALLING THE SEMANTIC ROUTINE.
							! THE CONTENTS OF THE FIELD CONTAIN THE SYNTAX
							! TABLE ENTRY POINT INDEX