Trailing-Edge
-
PDP-10 Archives
-
bb-4157j-bm_fortran20_v11_16mt9
-
fortran-compiler/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, 1987
!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 = #11^24 + 0^18 + #4542; ! Version Date: 25-Jun-86
%(
***** 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 *****
***** Begin Version 11 *****
4513 CDM 12-Sep-85
Improvements to /STATISTICS for reporting symbol table size
and COMMON block size.
Improve commenting.
4527 CDM 1-Jan-86
VMS Long symbols phase II. Convert all internal symbols from
one word of Sixbit to [length,,pointer].
4530 MEM 3-April-86
Long symbol support; add SYM6THCHAR.
4542 CDM 26-Jun-86
Remove KA10 and CKA10. No one uses these. Pretty up some.
ENDV11
)%
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;
!**********************************************************************
! Global flags in FLGREG. Set for each compileable program unit.
!
! BEFORE MESSING ABOUT WITH THESE FLAGS CHECK USAGE IN COMMAN.MAC
! and CMND20.MAC
!**********************************************************************
MACRO FOUNDFLG = 35,1$,
TTYDEV = 34,1$,
NOWARNING = 33,1$,
BLKDATA = 32,1$,
LIBARITH = 31,1$,
BOUNDS = 30,1$, ! /DEBUG:BOUNDS
DBGBOUNBR = 30$,
PROGTYP = 28,2$, ! Type of program unit being compiled
MAPROG = 0$, ! Main program
FNPROG = 1$, ! FUNCTION
SUPROG = 2$, ! SUBROUTINE
BKPROG = 3$, ! BLOCK DATA
LABLDUM = 27,1$, ! There are label formal arguments to a
! function or subroutine
FATALERR = 26,1$,
%1613% DBGARGMNTS = 25,1$, ! /DEBUG:ARGUMENTS
%1613% DBGARGMBR = 25$,
BTTMSTFL = 24,1$,
!<not used> = 23,1$,
SYNONLY = 22,1$, ! Syntax only
ERRSW = 21,1$,
MULTENT = 20,1$, ! There are multiple entry points
MAPFLG = 19,1$,
FELFLG = 18,1$,
WARNGERR = 17,1$,
ENDFILE = 16,1$,
DBGDIMN = 15,1$, ! /DEBUG:DIMENSIONS
DBGDIMNBR = 15$,
INIOLIST = 14,1$,
OBJECT = 13,1$,
ININCLUD = 12,1$,
!<not used> = 11,1$,
LISTING = 10,1$, ! /LIST
DBGINDX = 9,1$, ! /DEBUG:INDEX
DBGINDXBR = 9$,
DBGLABL = 8,1$, ! /DEBUG:LABELS
DBGLABLBR = 8$,
%677% EOCS = 7,1$,
CROSSREF = 6,1$, ! /CROSSREF
DBGTRAC = 5,1$, ! /DEBUG:TRACE
DBGTRACBR = 5$,
EXPAND = 4,1$,
INCLUDE = 3,1$,
MACROCODE = 2,1$, ! /MACRO
NOERRORS = 1,1$,
OPTIMIZE = 0,1$; ! /OPTIMIZE
%1437% REGISTER FLGREG = 0; !Use register 0 for the flag register
! Secondary FLGREG
EXTERNAL FLAGS2;
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
! Secondary switch register - used to hold user settable
! switches.
%767% EXTERNAL F2;
MACRO
%767% GFL = 35,1 $, ! Use GFloating DP
%767% GFLOAT = F2<GFL>$, ! /GFLOATING flag
%767% F77FL = 34,1 $, ! Use F77 standard
%767% F77 = .F2<F77FL> $, ! For ease of use in compiler
%767% F66 = NOT .F2<F77FL> $, ! 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
! 1 IT MAY NOT BE LABLED
! 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
%4527% ! Macros to look into single word [length,,pointer] to Sixbit
%4527% ! symbols. These are used in any other definitions (ie symbol
%4527% ! table entries). These macros must be here due to some modules
%4527% ! which do not REQUIRE FIRST.BLI, but do REQUIRE this file.
MACRO
%4527% SYMLENGTH = LEFT$, ! Length of symbol
%4527% SYMPOINTER = RIGHT$, ! Pointer to Sixbit symbol
%4527% SYM1STCHAR = 30,6$, ! First character of symbol
%4530% SYM6THCHAR = 0,6$, ! Sixth character of symbol
%4527% SYMPRV1STCHAR = 36,6$; ! Previous to first character of
%4527% ! symbol (for use with ILDB,IDPB).