.TITLE GLOBAL_DATA TABLE .ENABLE DEBUG .SUBTITLE IMPURE GLOBAL DATA STORAGE .PSECT IMPURE_DATA,RD,WRT,NOSHR,NOEXE,LONG,GBL,CON PROGRAM_FLAG:: .LONG 0 FLAG_WORD:: .LONG 0,0 ;OPTIONS FLAG WORD-SEE OPENCLOSE FOR BIT ;V1.11 ;ASSIGNMENTS TAG_STRING:: .BLKB 32. ;TAG STRING FOR SUPER INDEX ;V1.16 REORDER_SEQUENCE:: ;V1.19 .LONG 0,0,0,0,0 ;REORDERING SEQUENCE ;V2.09 ; THESE VALUES ARE THE OFFSETS INTO THE SUPER INDEX DATA ELEMENT READ ;V1.19 ; FROM THE SUPER SCRATCGH FILE ;V1.19 REORDER_NAME==0 ;V1.19 REORDER_MODULE==32 ;V1.19 REORDER_TAG==64 ;V1.19 REORDER_STORE==96 ;V2.03 REORDER_ARGUMENT==128 ;V2.09 STATUS_WORD:: .LONG 0 ;PROGRAM STATUS WORD PARSE_LINES ==^X1 INDEX_OUTPUT ==^X2 SUPER_OUTPUT ==^X3 ENTRY_OUTPUT ==^X4 STAT_OUTPUT ==^X5 OPTIONS_OUTPUT ==^X6 CALLING_OUTPUT ==^X7 CALLED_BY_OUTPUT==^X8 FLOW_CHART_OUTPUT==^X9 ;V1.4 INPUT_BUFFER_FLAG:: .LONG 0 ;FLAG TO SEE IF INPUT BUFFER HOLDS ;LINE OVER FROM PREVOIUS GET_LINE CALLS INPUT_BUFFER:: .BLKB 132. ;READ RECORD BUFFER OUTPUT_BUFFER:: .BLKB 1317. ;WRITE RECORD BUFFER ;V1.26 SUPER_BUFFER:: .BLKB 256 ;V2.09 ENTRY_BUFFER:: .BLKB 132. CHART_BUFFER:: .BLKB 128 ;V2.01 SOURCE_LINE:: .REPT 100 ;LINE BEING PARSED .LONG 0 ;LINE NUMBER OF CURRENT LINE/CONTINUATION .BLKB 132. ;THE LINE ITSELF .ENDR .LONG 0 ;END OF BUFFER MARKER DAY_TIME:: .ASCID / / LINES_ON_PAGE:: .LONG 0 LINE_NUMBER:: .LONG 0 PAGE_NUMBER:: .LONG 0 LINES_PER_PAGE::.LONG 0 END_OF_FILE:: .LONG 0 DEFFERED_END_OF_FILE:: .LONG 0 END_FLAG:: .LONG 0 INCLUDE_LEVEL:: .LONG 0 MODULE_MESSAGE::.ASCII /Completed Module / MODULE_NAME:: .BLKB 31 IN_FILE_NAME:: .BLKB 32 ;V1.25 LINE_MNEMONIC:: .BLKB 31 LOGICAL_IF_MNEMONIC:: .BLKB 31 EVALUATION_ROUTINE_TOKEN:: .LONG 0 LOGICAL_IF_ROUTINE_TOKEN:: .LONG 0 PROGRAM_LEVEL:: .LONG 0 INDENT_LEVEL:: .LONG 0 ;V2.10 ; ; SHOWS WHAT TYPES OF STATEMENTS ARE ALLOWED AT CURREN PART OF PROGRAM ; A STATMENT TYPE HAVEING A NUMBER LOWER THAN THE CURENT LEVEL ; IS ILLEGAL IN THAT CONTEXT ; LEVEL=0 OPTIONS INCLUDE ; LEVEL=1 PROGRAM FUNCTION SUBROUTINE BLOCKDATA INCLUDE ; LEVEL=2 IMPLICIT_NONE NAMELIST FORMAT ENTRY INCLUDE ; LEVEL=3 IMPLICIT PARAMETER NAMELIST FORMAT ENTRY INCLUDE ; LEVEL=4 PARAMETER TYPE SPECIFICATION DATA NAMELIST FORMAT ; ENTRY INCLUDE PARAMETER ; LEVEL=5 STATEMENT_FUNCTIONS DATA NAMELIST FORMAT ENTRY INCLUDE ; LEVEL=6 EXECUTABLE DATA NAMELIST FORMAT ENTRY INCLUDE ; LEVEL=7 END ; BLOCK_DATA_FLAG:: .LONG 0 ;SET IF CURRENT MODULE IS A BLOCK DATA CURRENT_MODULE_NAME:: .BLKB 32 ;V1.26 .PAGE .SUBTITLE IMPURE AREA-STATISTICS ACCUMULATION AREA ;V1.4 ; TIMES ;V1.4 TIME_INPUT:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 TIME_COMMAND:: ;V1.4 .BLKQ 1 ;ELAPSED TIME ;V1.4 .LONG 0 ;CPU TIME ;V1.4 .LONG 0 ;BUFFERED I/O COUNT ;V1.4 .LONG 0 ;DIRECT I/O COUNT ;V1.4 .LONG 0 ;PAGE FAULT COUNT ;V1.4 TIME_PARSE:: ;V1.4 .BLKQ 1 ;ELAPSED TIME ;V1.4 .LONG 0 ;CPU TIME ;V1.4 .LONG 0 ;BUFFERED I/O COUNT ;V1.4 .LONG 0 ;DIRECT I/O COUNT ;V1.4 .LONG 0 ;PAGE FAULT COUNT ;V1.4 TIME_OUTPUT:: ;V1.4 .BLKQ 1 ;ELAPSED TIME ;V1.4 .LONG 0 ;CPU TIME ;V1.4 .LONG 0 ;BUFFERED I/O COUNT ;V1.4 .LONG 0 ;DIRECT I/O COUNT ;V1.4 .LONG 0 ;PAGE FAULT COUNT ;V1.4 TIME_CLEANUP:: ;V1.4 .BLKQ 1 ;ELAPSED TIME ;V1.4 .LONG 0 ;CPU TIME ;V1.4 .LONG 0 ;BUFFERED I/O COUNT ;V1.4 .LONG 0 ;DIRECT I/O COUNT ;V1.4 .LONG 0 ;PAGE FAULT COUNT ;V1.4 TIME_CHART:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 TIME_CHART_OUT:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 TIME_CHART_CLEAN:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 TIME_TOTAL:: ;V1.4 .BLKQ 1 ;ELAPSED TIME ;V1.4 .LONG 0 ;CPU TIME ;V1.4 .LONG 0 ;BUFFERED I/O COUNT ;V1.4 .LONG 0 ;DIRECT I/O COUNT ;V1.4 .LONG 0 ;PAGE FAULT COUNT ;V1.4 SYMBOLS_PROCESSED:: ;V1.4 .LONG 0 ;V1.4 HOW_USED_PROCESSED:: ;V1.4 .LONG 0 ;V1.4 F_C_LABEL:: ;V2.01 .LONG 0 ;V2.01 F_C_LABEL_EXT:: ;V2.01 .LONG 0 ;V2.01 F_C_VAR:: ;V2.01 .LONG 0 ;V2.01 F_C_VAR_EXT:: ;V2.01 .LONG 0 ;V2.01 F_C_P_E:: ;V2.01 .LONG 0 ;V2.01 SAVE_SUPER:: ;V1.4 .LONG 0 ;V1.4 SAVE_ENTRY:: ;V1.4 .LONG 0 ;V1.4 SAVE_CHART:: ;V2.00 .LONG 0 ;V2.00 SOURCE_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 CONTINUATION_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 COMMENT_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 LINES_OUTPUT:: ;V1.27 .LONG 0 ;V1.27 PAGES_OUTPUT:: ;V1.27 .LONG 0 ;V1.27 END_MOD_STAT:: ;V1.31 ;ACCUMULATED TOTALS ALL RUNS ;V1.22 ACC_TIME_INPUT:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_TIME_COMMAND:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_TIME_PARSE:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_TIME_OUTPUT:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_TIME_CLEANUP:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_TIME_CHART:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 ACC_TIME_CHART_OUT:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 ACC_TIME_CHART_CLEAN:: ;V2.00 .BLKQ 1 ;ELAPSED TIME ;V2.00 .LONG 0 ;CPU TIME ;V2.00 .LONG 0 ;BUFFERED I/O COUNT ;V2.00 .LONG 0 ;DIRECT I/O COUNT ;V2.00 .LONG 0 ;PAGE FAULT COUNT ;V2.00 ACC_TIME_TOTAL:: ;V1.22 .BLKQ 1 ;ELAPSED TIME ;V1.22 .LONG 0 ;CPU TIME ;V1.22 .LONG 0 ;BUFFERED I/O COUNT ;V1.22 .LONG 0 ;DIRECT I/O COUNT ;V1.22 .LONG 0 ;PAGE FAULT COUNT ;V1.22 ACC_SYMBOLS_PROCESSED:: ;V1.22 .LONG 0 ;V1.22 ACC_HOW_USED_PROCESSED:: ;V1.22 .LONG 0 ;V1.22 ACC_F_C_LABEL:: ;V2.01 .LONG 0 ;V2.01 ACC_F_C_LABEL_EXT:: ;V2.01 .LONG 0 ;V2.01 ACC_F_C_VAR:: ;V2.01 .LONG 0 ;V2.01 ACC_F_C_VAR_EXT:: ;V2.01 .LONG 0 ;V2.01 ACC_F_C_P_E:: ;V2.01 .LONG 0 ;V2.01 ACC_SAVE_SUPER:: ;V1.22 .LONG 0 ;V1.22 ACC_SAVE_ENTRY:: ;V1.22 .LONG 0 ;V1.22 ACC_SAVE_CHART:: ;V2.00 .LONG 0 ;V2.00 ACC_SOURCE_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 ACC_CONTINUATION_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 ACC_COMMENT_LINES_INPUT:: ;V1.27 .LONG 0 ;V1.27 ACC_LINES_OUTPUT:: ;V1.27 .LONG 0 ;V1.27 ACC_PAGES_OUTPUT:: ;V1.27 .LONG 0 ;V1.27 ELEMENT_64:: ;V1.4 .LONG 0 ;ALLOCATED ;V1.4 .LONG 0 ;INUSE ;V1.4 .LONG 0 ;V1.4 .LONG 0 ;V1.4 ELEMENT_128:: ;V1.4 .LONG 0 ;ALLOCATED ;V1.4 .LONG 0 ;INUSE ;V1.4 .LONG 0 ;V1.4 .LONG 0 ;V1.4 ELEMENT_192:: ;V1.4 .LONG 0 ;ALLOCATED ;V1.4 .LONG 0 ;INUSE ;V1.4 .LONG 0 ;V1.4 .LONG 0 ;V1.4 ELEMENT_256:: ;V1.4 .LONG 0 ;ALLOCATED ;V1.4 .LONG 0 ;INUSE ;V1.4 .LONG 0 ;V1.4 .LONG 0 ;V1.4 ELEMENT_320:: ;V2.17 .LONG 0 ;ALLOCATED ;V2.17 .LONG 0 ;INUSE ;V2.17 .LONG 0 ;V2.17 .LONG 0 ;V2.17 ELEMENT_LARGE:: ;V1.4 .LONG 0 ;ALLOCATED ;V1.4 .LONG 0 ;INUSE ;V1.4 .LONG 0 ;V1.4 .LONG 0 ;V1.4 ALLOCATE_VM:: ;V1.4 .LONG 0 ;V1.4 FREE_VM:: ;V1.4 .LONG 0 ;V1.4 VM_INUSE:: ;V1.4 .LONG 0 ;V1.4 END_ACC_STAT:: ;V1.31 ENTRY_SAVED_FLAG:: ;V1.12 .LONG 0 ;V1.12 SUPER_SAVED_FLAG:: ;V1.32 .LONG 0 ;V1.32 INDEX_SAVED_FLAG:: ;V2.13 .LONG 0 ;V2.13 ENTRY_DEPTH:: ;V1.12 .LONG 0 ;V1.12 ENTRY_SYMBOL:: ;V1.12 .BLKB 32 ;V1.12 .PAGE ;V1.4 .SUBTITLE PURE GLOBAL DATA STORAGE .PSECT PURE_DATA,RD,NOWRT,SHR,NOEXE,CON,GBL NULL:: .LONG 0 ;NO-ARGUMENTS PROCEDURE CALL ARGUMENT BLOCK DEFAULT_NAME:: .ASCII /$$MAIN$$/ ;V1.26 J=.-DEFAULT_NAME K=31-J .REPEAT K .BYTE 0 .ENDR TRANSLATE_LC_TO_UC:: .REPEAT 2 J=0 .REPEAT 97 .BYTE J J=J+1 .ENDR K=65 .REPEAT 26 .BYTE K K=K+1 J=J+1 .ENDR .REPEAT 5 .BYTE J J=J+1 .ENDR .ENDR .PAGE .SUBTITLE SYMBOL TABLE MANAGEMENT DATA .PSECT IMPURE_DATA,RD,WRT,NOSHR,NOEXE,LONG,GBL,CON .ALIGN LONG SYMBOL_TABLE_QUEUE:: .LONG 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;V1.10 LINE_TOKEN_QUEUE:: .ADDRESS LINE_TOKEN_QUEUE,LINE_TOKEN_QUEUE IF_TOKEN_QUEUE:: .ADDRESS IF_TOKEN_QUEUE,IF_TOKEN_QUEUE .PAGE .SUBTITLE INCLUDE PUSH DOWN STACK INCLUDE_STACK:: .ADDRESS INCLUDE_STACK_LEVEL_0 .ADDRESS INCLUDE_STACK_LEVEL_1 .ADDRESS INCLUDE_STACK_LEVEL_2 .ADDRESS INCLUDE_STACK_LEVEL_3 .ADDRESS INCLUDE_STACK_LEVEL_4 .ADDRESS INCLUDE_STACK_LEVEL_5 .ADDRESS INCLUDE_STACK_LEVEL_6 .ADDRESS INCLUDE_STACK_LEVEL_7 .ADDRESS INCLUDE_STACK_LEVEL_8 .ADDRESS INCLUDE_STACK_LEVEL_9 .ADDRESS INCLUDE_STACK_LEVEL_10 .ADDRESS INCLUDE_STACK_LEVEL_11 .MACRO I_LEVEL N .ALIGN LONG INCLUDE_STACK_LEVEL_'N': XXX=. INCLUDE_TYPE==.-XXX .BYTE 0 ;TYPE FLAG ;0=ORDINARY FILE ;1=LIBRARY FILE INCLUDE_DEFFERED_EOF==.-XXX .BYTE 0 ;OLD DEFFERED EOF INCLUDE_INPUT_BUFFER_FLAG==.-XXX .BYTE 0 ;OLD INPUT BUFFER FLAG INCLUDE_LIST==.-XXX .BYTE 0 ;NO SOURCE FLAG INCLUDE_INPUT_BUFFER==.-XXX .BLKB 132. .ALIGN LONG INCLUDE_FAB==.-XXX $FAB .ALIGN LONG INCLUDE_RAB==.-XXX $RAB INCLUDE_INDEX==.-XXX .LONG 0 INCLUDE_RFA==.-XXX .LONG 0,0 INCLUDE_LENGTH==.-XXX .ENDM I_LEVEL 0 ;MAIN LINE INPUT FILE I_LEVEL 1 I_LEVEL 2 I_LEVEL 3 I_LEVEL 4 I_LEVEL 5 I_LEVEL 6 I_LEVEL 7 I_LEVEL 8 I_LEVEL 9 I_LEVEL 10 I_LEVEL 11 IN_RAB==INCLUDE_STACK_LEVEL_0+INCLUDE_RAB IN_FILE==INCLUDE_STACK_LEVEL_0+INCLUDE_FAB .PAGE .SUBTITLE KEY_WORD/DISPACTCH/SYMBOL TABLES FOR FORTRAN LINE TYPES ; ; TABLE OF KEY WORDS, EACH ENTRY IS IN THE FOLLOWING FORMAT ; .WORD LENGTH IN BYTES OF KEY WORD ; .WORD TOKEN FOR THAT KEY WORD ; .ADDRESS STARTING ADDRESS OF KEY WORD ; .MACRO LABGEN X NAME_'X': .ENDM .MACRO ADDRGEN X .ADDRESS NAME_'X .ENDM .MACRO ENTER KEY_WORD,TOKEN_NAME,LABEL .PSECT KEY_WORD_POINTER_TABLE .IF B LABEL .IF NB TOKEN_NAME TOKEN_'TOKEN_NAME'==COUNT_KEY_WORDS .IF_FALSE TOKEN_'KEY_WORD'==COUNT_KEY_WORDS .ENDC .IF_FALSE EVAL_'LABEL':: TOKEN_EVAL_'LABEL'==COUNT_KEY_WORDS .ENDC .WORD %LENGTH(KEY_WORD),COUNT_KEY_WORDS ADDRGEN \COUNT_KEY_WORDS .PSECT KEY_WORDS LABGEN \COUNT_KEY_WORDS .ASCII /'KEY_WORD'/ COUNT_KEY_WORDS=COUNT_KEY_WORDS+1 .ENDM ENTER .PSECT KEY_WORDS,RD,NOWRT,SHR,NOEXE,GBL,CON .PSECT KEY_WORD_POINTER_TABLE,RD,NOWRT,SHR,NOEXE,GBL,CON ;TOKEN=0 IS ARITHMETIC STATEMENT ;TOKEN=-1 IS ERROR ROUTINE TOKEN_ERROR==-1 TOKEN_ARITHMETIC==0 ;OTHER THAN KEY WORD FORTRAN NAMES ARE ASSIGNED FROM 999 DOWN TOKEN_IDENTIFIER ==999 TOKEN_WHILE ==998 TOKEN_THEN ==997 TOKEN_TO ==996 TOKEN_END_OF_LINE ==995 TOKEN_LABEL ==994 TOKEN_NUMBER ==993 TOKEN_HOLLERITH_STRING ==992 TOKEN_QUOTED_STRING ==991 TOKEN_UNKNOWN_CHR ==990 TOKEN_RADIX50_STRING ==989 TOKEN_OCTAL_NUMBER ==988 TOKEN_HEX_NUMBER ==987 TOKEN_U ==986 TOKEN_PCT_VAL ==985 TOKEN_PCT_REF ==984 TOKEN_PCT_DESCR ==983 TOKEN_PCT_LOC ==982 ; PART ONE OF TABLE TOKENS 1-900 ARE THE BASIC FORTRAN KEY WORDS ; WITH 900-999 BEING SPECIAL 3RD OR 4TH WORDS AS IN "IF THEN" ETC ; .PSECT KEY_WORD_POINTER_TABLE KEY_WORD_TABLE:: COUNT_KEY_WORDS=1 ENTER ACCEPT ENTER ASSIGN ENTER BACKSPACE ENTER BLOCKDATA ENTER BYTE ENTER CALL ENTER CHARACTER ENTER CLOSE ENTER COMMON ENTER COMPLEX ENTER CONTINUE ENTER DATA ENTER DECODE ENTER DEFINEFILE ENTER DELETE ENTER DIMENSION ENTER DOUBLECOMPLEX ENTER DOUBLEPRECISION ENTER DO ENTER ELSEIF ENTER ELSE ;MUST FOLLOW ELSEIF ENTER ENCODE ENTER ENDDO ENTER ENDFILE ENTER ENDIF ENTER END ;THIS MUST FOLLOW ALL OTHER ENDxxx TO WORK PROPERLY ENTER ENTRY ENTER EQUIVALENCE ENTER EXTERNAL ENTER FIND ENTER FORMAT ENTER FUNCTION ENTER GOTO ENTER IF ENTER IMPLICITNONE ENTER IMPLICIT ;MUST FOLLOW IMPLICIT NONE ENTER INCLUDE ENTER INTEGER ENTER INTRINSIC ENTER INQUIRE ENTER LOGICAL ENTER NAMELIST ENTER OPEN ENTER OPTIONS ENTER PARAMETER ENTER PAUSE ENTER PRINT ENTER PROGRAM ENTER READ ENTER REAL ENTER RETURN ENTER REWIND ENTER REWRITE ENTER SAVE ENTER STOP ENTER SUBROUTINE ENTER TYPE ENTER UNLOCK ENTER VIRTUAL ENTER WRITE NUMBER_OF_KEY_WORDS==COUNT_KEY_WORDS-1 .PAGE .SUBTITLE MULTIPLE CHARACTER TOKENS ; PART TWO OF TABLE IS THE SET OF MULTIPLE CHARACTERS ; TOKENS 1000 TO 1999 .PSECT KEY_WORD_POINTER_TABLE COUNT_KEY_WORDS=1000 MULTI_CHARACTER_TABLE:: ; ENTER ,CONCATENATE .ENABLE LOCAL_BLOCK TOKEN_CONCATENATE==COUNT_KEY_WORDS .PSECT KEY_WORD_POINTER_TABLE .WORD 2,COUNT_KEY_WORDS .ADDRESS 1$ .PSECT KEY_WORDS 1$: .ASCII ?//? COUNT_KEY_WORDS=COUNT_KEY_WORDS+1 .DISABLE LOCAL_BLOCK ENTER <*16>,HEX_BYTES ENTER <*8>,OCTAL_BYTES ENTER <*4>,FOUR_BYTES ENTER <*2>,TWO_BYTES ENTER <*1>,ONE_BYTE ENTER <**>,EXPONENTIATION ENTER <*(*)>,PASSED_LENGTH NUMBER_OF_MULTI_CHARACTERS==COUNT_KEY_WORDS-1000 .PAGE .SUBTITLE SINGLE CHARACTER TOKENS ; PART 3 OF TABLE IS THE SET OF SINGLE CHARACTERS ; TOKENS 2000-2999 .PSECT KEY_WORD_POINTER_TABLE SINGLE_CHARACTER_TABLE:: COUNT_KEY_WORDS=2000 ENTER ,EXCLAMATION ENTER <*>,ASTERISK ENTER <(>,LEFT_PARREN ENTER <)>,RIGHT_PARREN ENTER <=>,EQUAL .ENABLE LOCAL_BLOCK TOKEN_SLASH==COUNT_KEY_WORDS .PSECT KEY_WORD_POINTER_TABLE .WORD 1,COUNT_KEY_WORDS .ADDRESS 1$ .PSECT KEY_WORDS 1$: .ASCII ?/? COUNT_KEY_WORDS=COUNT_KEY_WORDS+1 .DISABLE LOCAL_BLOCK ; ENTER ,SLASH TOKEN_DIVIDE==TOKEN_SLASH ENTER <,>,COMMA ENTER <$>,DOLLAR ENTER <_>,UNDER_SCORE ENTER <'>,QUOTE ENTER <">,DOUBLE_QUOTE ENTER <+>,PLUSS ENTER <->,MINUS ENTER <:>,COLON ENTER ^%<%,LEFT_ANGLE ENTER ^%>%,RIGHT_ANGLE ENTER <%>,PERCENT ENTER <&>,AMPERSAND ENTER <.>,POINT NUMBER_OF_SINGLE_CHARACTERS==COUNT_KEY_WORDS-2000 .PAGE .SUBTITLE LOGICAL OPERATOR TOKENS ; PART FOUR IS THE TABLE OF LOGICAL OPERATORS .PSECT KEY_WORD_POINTER_TABLE LOGICAL_TABLE:: COUNT_KEY_WORDS=3000 ENTER <.GE.>,GE ENTER <.GT.>,GT ENTER <.LT.>,LT ENTER <.LE.>,LE ENTER <.EQ.>,EQ ENTER <.NE.>,NE ENTER <.NOT.>,NOT ENTER <.AND.>,AND ENTER <.OR.>,OR ENTER <.EQV.>,EQV ENTER <.NEQV.>,NEQV ENTER <.XOR.>,XOR ENTER <.TRUE.>,TRUE ENTER <.FALSE.>,FALSE NUMBER_OF_LOGICAL==COUNT_KEY_WORDS-3000 .PAGE .SUBTITLE I/O OPERATION TOKENS ; PART FIVE IS THE TABLE OF I/O UNIQUE KEY WORDS .PSECT KEY_WORD_POINTER_TABLE IO_TABLE:: COUNT_KEY_WORDS=4000 ENTER ,ACCESS ENTER ASSOCIATEVARIABLE ENTER ,BLANK ENTER ,BLOCKSIZE ENTER ,BUFFERCOUNT ENTER ,CARRIAGECONTROL ENTER ,DEFAULTFILE ENTER ,DIRECT ENTER ,DISP ENTER ,DISPOSE ENTER ,END_EQUAL ENTER ERR ENTER ,EXIST ENTER ,EXTENDSIZE ENTER ,FILE ENTER ,FMT ENTER ,FORM ENTER ,FORMATTED ENTER ,INITIALSIZE ENTER ,IOSTAT ENTER ,KEY ENTER ,KEYED ENTER ,KEYEQ ENTER ,KEYGE ENTER ,KEYGT ENTER ,KEYID ENTER ,MAXREC ENTER ,NAME ENTER ,NAMED ENTER ,NEXTREC ENTER ,NML ENTER NOSPANBLOCKS ENTER ,NUMBER_EQUAL ENTER ,OPENED ENTER ,ORGANIZATION ENTER READONLY ENTER ,REC ENTER ,RECL ENTER ,RECORDTYPE ENTER ,RECORDSIZE ENTER SHARED ENTER ,SEQUENTIAL ENTER ,STATUS ENTER ,TYPE_EQUAL ENTER ,UNIT ENTER ,UNFORMATTED ENTER ,USEROPEN NUMBER_OF_IO==COUNT_KEY_WORDS-4000 .PAGE .SUBTITLE EVALUATION ROUTINES TOKENS AND LINE MNEMONICS .PSECT KEY_WORD_POINTER_TABLE MNEMONIC_POINTER_TABLE:: COUNT_KEY_WORDS=5000 ENTER ACCEPT,,ACCEPT ENTER ASSIGN,,ASSIGN ENTER ASSIGNED_VALUE,,ARITH ENTER BACKSPACE,,BACKSPACE ENTER BLOCK_DATA,,BLOCKDATA ENTER BYTE,,BYTE ENTER BYTE_FUNCTION,,BYTE_FUNCTION ENTER CALL,,CALL ENTER CALLED_BY_ARG,,CALLED_BY_ARG ENTER CALLING_ARG,,CALLING_ARG ENTER CHARACTER,,CHARACTER ENTER CHARACTER_FUNCTION,,CHARACTER_FUNCTION ENTER CLOSE,,CLOSE ENTER COMMON,,COMMON ENTER COMMON_NAME,,COMMON_NAME ENTER COMPLEX,,COMPLEX ENTER COMPLEX_FUNCTION,,COMPLEX_FUNCTION ENTER CONTINUE,,CONTINUE ENTER DATA,,DATA ENTER DECODE,,DECODE ENTER DEFINE_FILE,,DEFINEFILE ENTER DELETE,,DELETE_COMPLEX ENTER DIMENSION,,DIMENSION ENTER DO,,DO ENTER DOUBLE_PRECISION,,DOUBLE_PRECISION ENTER DOUBLE_PRECISION_FUNCTION,,DOUBLE_PRECISION_FN ENTER DOUBLE_COMPLEX,,DOUBLE_COMPLEX ENTER DOUBLE_COMPLEX_FUNCTION, ,DOUBLE_CPLX_FUNCTION ENTER EQUIVALENCE,,EQUIVALENCE ENTER ELSE,,ELSE ENTER ELSEIF,,ELSEIF ENTER ENCODE,,ENCODE ENTER END,,END ENTER ENDDO,,ENDDO ENTER ENDFILE,,ENDFILE ENTER ENDIF,,ENDIF ENTER ENTRY,,ENTRY ENTER ERROR,,ERROR ENTER EXTERNAL,,EXTERNAL ENTER FORMAT,,FORMAT ENTER FIND,,FIND_COMPLEX ENTER FUNCTION,,FUNCTION ENTER GOTO,,GOTO ENTER IF,,IF ENTER INQUIRE,,INQUIRE ENTER IMPLICITNONE,,IMPLICITNONE ENTER IMPLICIT,,IMPLICIT ENTER INCLUDE,,INCLUDE ENTER INTEGER,,INTEGER ENTER INTEGER_FUNCTION,,INTEGER_FUNCTION ENTER INTRINSIC,,INTRINSIC ENTER LABEL_DEFINED,,LABEL ENTER LOCAL_FUNCTION,,LOCAL_FUNCTION ENTER LOGICAL,,LOGICAL ENTER LOGICAL_FUNCTION,,LOGICAL_FUNCTION ENTER NAMELIST,,NAMELIST ENTER NAMELIST_NAME,,NAMELIST_NAME ENTER OPEN,,OPEN ENTER OPTION,,OPTION ENTER PARAMETER,,PARAMETER ENTER PAUSE,,PAUSE ENTER PRINT,,PRINT ENTER PROGRAM,,PROGRAM ENTER QUAD,,QUAD ENTER QUAD_FUNCTION,,QUAD_FUNCTION ENTER READ,,READ_SIMPLE ENTER READ,,READ_COMPLEX ENTER REAL,,REAL ENTER REAL_FUNCTION,,REAL_FUNCTION ENTER REWRITE,,REWRITE_COMPLEX ENTER RETURN,,RETURN ENTER REWIND,,REWIND ENTER SAVE,,SAVE ENTER STOP,,STOP ENTER SUBROUTINE,,SUBROUTINE ENTER TYPE,,TYPE ENTER UNLOCK,,UNLOCK ENTER USED,,USED ENTER VIRTUAL,,VIRTUAL ENTER WRITE,,WRITE_SIMPLE ENTER WRITE,,WRITE_COMPLEX NUMBER_OF_EVAL==COUNT_KEY_WORDS-5000 .PAGE .SUBTITLE LIBRARY ROUTINE NAMES .PSECT KEY_WORD_POINTER_TABLE ; ; VERSION 1.16 THIS ENTIRE TABLE WAS REORDERED INTO ; ALPHABETICAL ORDER,DUPLICATE ENTRIES REMOVED, ; MISSPELLINGS CORRECTED AND MISSING ENTRIES ADDED. ; NO UPDATE VERSION LABELS ADDED-THEY APPLY TO ALL THE ; LINES. ; ; THIS LIST MUST BE KEPT IN ALPHABETICAL ORDER AS IT IS SEARCHED ;V2.15 ; IN STORE.MAC USEING A BINARY SEARCH METHOD ;V2.15 ; LIBRARY_POINTER_TABLE:: COUNT_KEY_WORDS=6000 ENTER ABS ENTER ACOS ENTER ACOSD ENTER AIMAG ENTER AIMAX0 ENTER AIMIN0 ENTER AINT ENTER AJMAX0 ENTER AJMIN0 ENTER ALOG ENTER ALOG10 ENTER AMAX0 ENTER AMAX1 ENTER AMIN0 ENTER AMIN1 ENTER AMOD ENTER ANINT ENTER ASIN ENTER ASIND ENTER ASSIGN ENTER ATAN ENTER ATAN2 ;V2.15 ENTER ATAN2D ;V2.15 ENTER ATAND ENTER BITEST ENTER BJTEST ENTER BTEST ENTER CABS ENTER CCOS ENTER CDABS ENTER CDCOS ENTER CDEXP ENTER CDLOG ENTER CDSIN ENTER CDSQRT ENTER CEXP ENTER CHAR ENTER CLOG ENTER CLOSE ENTER CMPLX ENTER CONJG ENTER COS ENTER COSD ENTER COSH ENTER CSIN ENTER CSQRT ENTER DABS ENTER DACOS ENTER DACOSD ENTER DASIN ENTER DASIND ENTER DATAN ENTER DATAN2 ;V2.15 ENTER DATAN2D ;V2.15 ENTER DATAND ENTER DATE ENTER DBLE ENTER DBLEQ ENTER DCMPLX ENTER DCONJG ENTER DCOS ENTER DCOSD ENTER DCOSH ENTER DDIM ENTER DEXP ENTER DFLOAT ENTER DFLOATI ENTER DFLOATJ ENTER DIM ENTER DIMAG ENTER DINT ENTER DLOG ENTER DLOG10 ENTER DMAX1 ENTER DMIN1 ENTER DMOD ENTER DNINT ENTER DPROD ENTER DREAL ENTER DSIGN ENTER DSIN ENTER DSIND ENTER DSINH ENTER DSQRT ENTER DTAN ENTER DTAND ENTER DTANH ENTER ERRSET ENTER ERRSNS ENTER ERRTST ENTER EXIT ENTER EXP ENTER FDBSET ENTER FLOAT ENTER FLOATI ENTER FLOATJ ENTER IABS ENTER IAND ENTER IIABS ENTER IBCLR ENTER IBITS ENTER IBSET ENTER ICHAR ENTER IDATE ENTER IDIM ENTER IDINT ENTER IDNINT ENTER IEOR ENTER IFIX ENTER IIAND ENTER IIBCLR ENTER IIBITS ENTER IIBSET ENTER IIDIM ENTER IIDINT ENTER IIDNNT ENTER IIEOR ENTER IIFIX ENTER IINT ENTER IIOR ENTER IIQINT ENTER IIQNNT ENTER IISHFT ENTER IISHFTC ENTER IISIGN ENTER IMAX0 ENTER IMAX1 ENTER IMIN0 ENTER IMIN1 ENTER IMOD ENTER INDEX ENTER ININT ENTER INOT ENTER INT ENTER IOR ENTER IQINT ENTER IQNINT ENTER IRAD50 ENTER ISHFT ENTER ISHFTC ENTER ISIGN ENTER IZEXT ENTER JIABS ENTER JIAND ENTER JIBCLR ;V2.15 ENTER JIBITS ENTER JIBSET ENTER JIDIM ENTER JIDNNT ENTER JIDINT ENTER JIEOR ENTER JIFIX ENTER JINT ENTER JIOR ENTER JIQINT ENTER JIQNNT ENTER JISHFT ;V2.15 ENTER JISHFTC ENTER JISIGN ENTER JMAX0 ENTER JMAX1 ENTER JMIN0 ENTER JMIN1 ENTER JMOD ENTER JNINT ENTER JNOT ENTER JZEXT ENTER LEN ENTER LGE ENTER LGT ENTER LLE ENTER LLT ENTER LOG ENTER LOG10 ENTER MAX ENTER MAX0 ENTER MAX1 ENTER MIN ENTER MIN0 ENTER MIN1 ENTER MOD ENTER MVBITS ENTER NINT ENTER NOT ENTER QABS ENTER QACOS ENTER QACOSD ENTER QASIN ENTER QASIND ENTER QATAN ENTER QATAN2 ;V2.15 ENTER QATAN2D ;V2.15 ENTER QATAND ENTER QCOS ENTER QCOSD ENTER QCOSH ENTER QDIM ENTER QEXP ENTER QEXT ENTER QEXTD ENTER QFLOAT ENTER QINT ENTER QLOG ENTER QLOG10 ENTER QMAX1 ENTER QMIN1 ENTER QMOD ENTER QNINT ENTER QSIN ENTER QSIND ENTER QSINH ENTER QTAN ENTER QTAND ENTER QTANH ENTER QSIGN ENTER QSQRT ENTER R50ASC ;V2.15 ENTER RAD50 ENTER RAN ENTER RANDU ENTER REAL ENTER SECNDS ENTER SIGN ENTER SQRT ENTER SIN ENTER SIND ENTER SINH ENTER SNGL ENTER SNGLQ ENTER TAN ENTER TAND ENTER TANH ENTER TIME ENTER USEREX ENTER ZEXT NUMBER_OF_LIBRARY==COUNT_KEY_WORDS-6000 .PAGE ;V2.15 .SUBTITLE TOKEN STATISTICS-PER MODULE ;V2.15 .PSECT IMPURE_DATA ;V2.15 START_TOKEN_STAT:: ;V2.15 LINE_TYPE_STAT:: ;V2.15 .BLKL NUMBER_OF_EVAL ;V2.15 KEY_WORD_STAT:: ;V2.15 .BLKL 1002 ;V2.15 MULT_CHAR_STAT:: ;V2.15 .BLKL NUMBER_OF_MULTI_CHARACTERS ;V2.15 SINGLE_CHAR_STAT:: ;V2.15 .BLKL NUMBER_OF_SINGLE_CHARACTERS ;V2.15 LOGICAL_STAT:: ;V2.15 .BLKL NUMBER_OF_LOGICAL ;V2.15 IO_STAT:: ;V2.15 .BLKL NUMBER_OF_IO ;V2.15 LIBRARY_STAT:: ;V2.15 .BLKL NUMBER_OF_LIBRARY ;V2.15 END_TOKEN_STAT:: ;V2.15 .PAGE ;V2.15 .SUBTITLE TOKEN STATISTICS-ACCUMULATED ;V2.15 START_ACC_TOKEN_STAT:: ;V2.15 ACC_LINE_TYPE_STAT:: ;V2.15 .BLKL NUMBER_OF_EVAL ;V2.15 ACC_KEY_WORD_STAT:: ;V2.15 .BLKL 1002 ;V2.15 ACC_MULT_CHAR_STAT:: ;V2.15 .BLKL NUMBER_OF_MULTI_CHARACTERS ;V2.15 ACC_SINGLE_CHAR_STAT:: ;V2.15 .BLKL NUMBER_OF_SINGLE_CHARACTERS ;V2.15 ACC_LOGICAL_STAT:: ;V2.15 .BLKL NUMBER_OF_LOGICAL ;V2.15 ACC_IO_STAT:: ;V2.15 .BLKL NUMBER_OF_IO ;V2.15 ACC_LIBRARY_STAT:: ;V2.15 .BLKL NUMBER_OF_LIBRARY ;V2.15 END_ACC_TOKEN_STAT:: ;V2.15 .END