Google
 

Trailing-Edge - PDP-10 Archives - BB-D480F-BB_1985_short - ioflg.bli
There are 12 other files named ioflg.bli in the archive. Click here to see a list.
!COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1974, 1985
!ALL RIGHTS RESERVED.
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
!ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
!INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
!COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
!OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
!TRANSFERRED.
!
!THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
!AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
!CORPORATION.
!
!DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
!SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

!AUTHOR: */SJW/TFV/DCE/CDM/AHM/AlB/MEM

GLOBAL BIND IOFLGV = #10^24 + 0^18 + #2455;	! Version Date:	30-Aug-84

%(

***** 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.


***** Begin Version 10 *********

2246	AlB	20-Dec-83
	Add flag bits CFLGANSI and CFLGVAX to F2 for Compatibility flagging.
	These bits are set/reset by the new command switches /FLAG and /NOFLAG.

2442	RVM	4-Aug-84
	Get a bit for /EXTEND:CODE

2447	PLB	10-Aug-84
	Add definitions for nested INCLUDE files.

2455	MEM	30-Aug-30
	Replace all occurrences of VAX with VMS.

***** End V10 Development *****

***** 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
%2447%	TBLMAX=16,		!CHANNELS 1..#17 ARE USED
	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,
%2447%	INCLMAX = #17 - ICL + 1;	!NUMBER OF INCLUDE LEVELS

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
%2246%		EXTENDED = .F2<EXTENDFLAG> $,	! IF EXTENDED THEN . . .
%2246%		CFLGANSI = 31,1$,		! /FLAG:STANDARD
%2246%		FLAGANSI = .F2<CFLGANSI>$,	! IF FLAGANSI THEN ...
%2455%		CFLGVMS  = 30,1$,		! /FLAG:VMS
%2455%		FLAGVMS  = .F2<CFLGVMS>$,	! IF FLAGVMS THEN ...
%2246%		FLAGEITHER = .F2<30,2> NEQ 0$,	!To test for either
%2442%		EXTENDCF = 29,1$,		!/EXTEND:CODE
%2442%		EXTENDCODE = .F2<EXTENDCF>$;	! IF EXTENDCODE 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