Trailing-Edge
-
PDP-10 Archives
-
BB-Z759A-SM
-
cobol-source/tables.mac
There are 21 other files named tables.mac in the archive.  Click here to see a list.
; UPD ID= 1224 on 5/28/83 at 3:31 PM by INGERSOLL                       
UNIVERSAL	TABLES FOR COBOL COMPILER AND OTS
SUBTTL	TABLE DEFINITIONS
	SEARCH COPYRT
	SALL
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
COPYRIGHT (C) 1974, 1983, 1984 BY DIGITAL EQUIPMENT CORPORATION
SEARCH	INTERM
.DIRECTIVE .NOBIN
;EDITS
;NAME	DATE		COMMENTS
;SMI	29-Jan-82	[1451] Increase size of RPWTAB RD address.
;RJD	15-Jul-82	[1373] Add symbol RW.RHL.
;JEH	30-Mar-82	[1346] Expand DA.DCR to hold larger tags, shorten DA.KEY
;				to hold up to 255 keys.
;V12B**************
;DMN	13-NOV-79	      ADD THE TABLES DESCRIPTIONS FROM OLD DOCUMENTATION
;DMN	 6-MAR-79	[651] ADD SYMBOL RW.RST WHICH IS BOTH RW.RSF AND RW.RSI
;V10***************
;ACK	12-APR-75	CREATION
;******************
COMMENT	\
	THIS FILE CONTAINS THE DEFINITIONS OF THE FIELDS OF THE TABLES
USED BY THE COBOL COMPILER AND OTHER PARTS OF THE COBOL SYSTEM.  EACH
TABLE IS DEFINED AS ONE OR MORE MACROS AND EACH FIELD IN THE TABLE IS
DEFINED AS A MACRO CALL.
TABLE MACROS:
	THE FIRST TWO CHARACTERS OF THE MACRO NAME IDENTIFY THE TABLE.
EG. FI IS THE FILE TABLE, DA IS DATAB, ETC.  THE THIRD THROUGH FIFTH
CHARACTERS ARE EITHER "TB." OR "TB%".  THE SIXTH CHARACTER IDENTIFIES
WHERE THE TABLE OCCURS.
	TABLE MACRO NAMES WHOSE THIRD THROUGH FIFTH CHARACTERS ARE
"TB%" XLIST THE TABLE AND THOSE WHOSE THIRD THROUGH FIFTH CHARACTERS
ARE "TB." DO NOT.  TABLE MACRO NAMES WHOSE SIXTH CHARACTER IS "A", "B"
OR "C" ARE COMPILER TABLES, THOSE WHOSE SIXTH CHARACTER IS "R" ARE
TABLES IN THE REL FILE AND THOSE WHOSE SIXTH CHARACTER IS "O" ARE
OBJECT TIME TABLES.  EG. FITB.C DESCRIBES THE FILE TABLE DURING
COMPILATION, FITB.R DESCRIBES THE FILE TABLE IN THE REL FILE AND FITB.O
DESCRIBES THE OBJECT TIME FILE TABLE.
	EACH TABLE CONSISTS OF A SERIES OF MACRO CALLS TO MACROS WHICH
ARE ALSO DEFINED IN THIS MODULE.  THESE MAY BE REDEFINED IN THE MODULES
WHICH USE THIS MODULE IF NECESSARY.
	THE MACROS USED IN THE TABLE MACROS ARE DESCRIBED BELOW:
I.	D.PNTR	<TABLE NAME>,<TABLE ID>
	WHERE <TABLE NAME> IS A TABLE NAME (FOR DOCUMENTATION ONLY) AND
	<TABLE ID> IS A TWO CHARACTER TABLE ID.
	THIS MACRO IS USED TO DEFINE THE FOLLOWING THREE MACROS:
II.	<TABLE ID>.ITM	<FIELD ID>,<WORD NO>,<FIRST BIT>,<LAST BIT>
	WHERE <FIELD ID> IS A THREE CHARACTER FIELD NAME, <WORD NO> IS
	THE WORD IN WHICH THE FIELD OCCURS (1 ORIGN INDEXING IN DECIMAL),
	<FIRST BIT> IS THE FIRST BIT OF THE FIELD (DECIMAL) AND <LAST BIT>
	IS THE LAST BIT OF THE FIELD (DECIMAL).
	THIS MACRO WILL GENERATE A BYTE POINTER, INDEXED BY TA, AT
	(GLOBAL) LOCATION <TABLE ID>.<FIELD ID>.
III.	<TABLE ID>.FLG	<FIELD ID>,<WORD NO>,<BIT NO>
	WHERE <BIT NO> IS THE BIT IN WHICH THE FLAG OCCURS.
	THIS MACRO WILL GENERATE A BYTE POINTER, INDEXED BY TA, AT
	(GLOBAL) LOACTION <TABLE ID>.<FIELD ID>.
IV.	<TABLE ID>.SME	<FIELD 1>,<FIELD 2>
	WHERE <FIELD 1> AND <FIELD 2> ARE FIELD OR FLAG NAMES.
	THIS MACRO EQUATES <FIELD 2> TO <FIELD 1>.
NOTES:
	1.	<FIELD 1> MUST BE DEFINED BEFORE BEING USED IN THE
		MACRO <TABLE ID>.SME.
	2.	IF YOU CHANGE A FIELD MAKE SURE IT IS NOT USED AS
		<FIELD 2> IN THE MACRO <TABLE ID>.SME, OTHEWISE
		YOU MAY BE CHANGING SOME OTHER FIELD ALSO.
EXAMPLES:
	1.	D.PNTR	FILTAB,FI;
		DEFINES THE MACROS:
			FI.ITM	ARG1,ARG2,ARG3,ARG4
			FI.FLG	ARG1,ARG2,ARG3
			FI.SME	ARG1,ARG2
	2.	FI.ITM	BLF,18,6,17;
		GENERATES:
			FI.BLF::	POINT	12,17(TA),17
	3.	FI.FLG	ENT,16,8
		GENERATES:
			FI.ENT::	POINT	1,15(TA),8
	4.	FI.SME	SPT,RTC;
		GENERATES:
			FI.SPT==:FI.RTC
RANDOM NOTES:
	THIS MODULE DEFINES, FOR EVERY TABLE DEFINED IN TI, SYMBOLS
OF THE FORM <TABLE ID>%<FIELD ID> WHERE <TABLE ID> IS A TWO CHARACTER
TABLE ID AND <FIELD ID> IS A THREE CHARACTER FIELD ID.  THEREFORE, DO
NOT DEFINE SYMBOLS WHOSE THIRD CHARACTER IS %.
	WHEN ADDING A TABLE TO THIS MODULE DEFINE IT AS A MACRO WHOSE
NAME IS OF THE FORM ??TB.? AND INCLUDE IT IN THE PARAMETER LIST TO
THE MACRO GEN AND A CALL OF THE FORM <??TB,?> TO TH PARAMETER LIST TO
THE MACRO NOLIST.
	SUBTTL	TABLE DESCRIPTION
1.0	GENERAL
	ALL OF THE MAJOR TABLES USED BY THE COBOL COMPILER ARE
	DESCRIBED IN THE FOLLOWING PARAGRAPHS.  THESE TABLES
	RESIDE IN THE IMPURE AREA OF CORE DURING COMPILATION.
	EACH TABLE IS ALLOCATED SOME NOMINAL AMOUNT OF CORE
	DURING THE INITIALIZATION PHASE.  IF MORE CORE IS
	NEEDED FOR A SPECIFIC TABLE DURING COMPILATION, THE
	CORE UUO WILL BE CALLED, AND ALL TABLES IN HIGHER
	LOCATIONS WILL BE MOVED UP.
	THERE IS A LOCATION POINTER IN THE IMPURE AREA FOR EACH
	TABLE.  THIS POINTER HAS THE NEGATIVE OF THE SIZE OF THE
	TABLE IN ITS LEFT HALF, AND THE STARTING ADDRESS OF THE TABLE
	IN ITS RIGHT-HALF.  THIS POINTER WORD ALLOWS THE TABLES
	TO BE MOVED AROUND AS THE CORE ALLOCATION ALGORITHM
	SEES FIT.
1.1	TABLE-LINKS
	CERTAIN ENTRIES IN THE TABLE ARE CALLED "TABLE-LINKS".
	THESE ARE 18-BIT FIELDS CONTAINING:
	     BITS 0-2	TABLE TYPE - 0 FILTAB
				     1 DATAB
				     2 CONTAB
				     3 LITAB
				     4 PROTAB
				     5 EXTAB
				     6 VALTAB
				     7 MNETAB
	     BITS 3-17 ADDRESS OF A TABLE ENTRY, RELATIVE
		       TO THE BEGINNING OF THAT TABLE.
	OTHER TABLES:
		NAMTAB
		EOPTAB
		SECTAB
		FLOTAB
		CPYTAB
		HLDTAB
		RPWTAB
		USETAB
		DBDTAB
		CDTAB
		AKTTAB
		DEBTAB
		ALTAB
		RENTAB
		TAGTAB
		RESTAB
		TEMTAB
		PRGTAB
		CRFTAB
		RCOTAB
2.	NAMTAB  -  NAME TABLE
2.1	USED BY:	PHASES B,C,D,F,G
	ENTRY SIZE:	3 OR 6 WORDS
2.2	CONTENTS
	THIS TABLE CONTAINS INFORMATION ABOUT ALL WORDS FOUND
	IN THE SOURCE-FILE.  IT DOES NOT INCLUDE ENTRIES FOR
	LITERALS OR PICTURES.
2.3	SEARCH TECHNIQUE
	A DESCRIPTION OF THE SEARCH TECHNIQUE CAN BE FOUND IN
		THE PROGRAM "TRYNAM".
2.4	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-1	ALWAYS 00 TO IDENTIFY THE START
				OF AN ENTRY.
		BIT 2		SET TO A 1 IF THIS IS A COBOL
				RESERVED WORD.
		BITS 3-17	IF THIS IS A RESERVED WORD, THIS FIELD CONTAINS
				A VALUE (SEE P.MAC FOR A COMPLETE LIST OF VALUES).
		BITS 18-20	IF NOT A RESERVED WORD, THIS
				DETERMINES THE TYPE OF ITEM
				(SEE 1.1).
	  (I.E., BITS 18-35 ARE A TABLE LINK)
	     WORDS 2-N:	THE WORD, IN SIXBIT, OVER AS MANY WORDS
			AS NECESSARY. HYPHENS ARE REPRESENTED BY COLONS,
			PERIODS BY SEMI-COLONS. THE WORD IS TERMINATED
			BY THE FIRST CHARACTER HAVING ZEROES IN THE
			HI-ORDER 2 BITS.
3.	FILTAB  -  FILE TABLE
3.1	USED BY:	PHASES B,C,D,E,F,G
	ENTRY SIZE:	26 WORDS
3.2	CONTENTS
	THIS TABLE CONTAINS INFORMATION ABOUT THE FILES SELECTED
	BY THE SOURCE PROGRAM.
3.3	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-2	ALWAYS 0 TO IDENTIFY THE TABLE.
		BITS 3-17	POINTER TO NAMTAB ENTRY FOR THIS
				FILE NAME.
		BITS 18-35	TABLE-LINK TO AN ITEM HAVING
				THE SAME NAME AS THIS FILE.
	WORD 2:
		BITS 0-1	UNUSED
		BITS 2-17	COUNT SPECIFIED IN RERUN
		BITS 18-35	LOCATION OF OBJECT-TIME FILE TABLE
	WORD 3:
		BITS 0-15	THE SIZE OF THE BUFFER FOR THIS
				FILE, IN CHARACTERS.
		BITS 16-28	THE ASSIGNED SOURCE LINE NUMBER
				FOR THE "SELECT" FOR THIS FILE.
				THIS IS USED WHEN DIAGNOSTICS
				ARE PUT OUT.
		BITS 29-35	THE POSITION WITHIN THE SOURCE
				LINE CONTAINING THE FIRST
				CHARACTER OF THE FILE NAME.  THIS
				IS USED IN CONJUNCTION WITH
				BITS 16-28 WHEN DIAGNOSTICS
				ARE PUT OUT.
	WORD 4:
		BITS 0-11	NOT USED
		BITS 12-17	NUMBER OF DEVICES ASSOCIATED
				WITH THIS FILE.
		BITS 18-35	TABLE-LINK TO VALTAB FOR FIRST DEVICE NAME.
	WORD 5:
		BIT 0		UNUSED
		BIT 1		SET IF FIRST RD SEEN FOR THIS FILE
		BIT 2		SET IF MORE THAN ONE REPORT FOR THIS FILE
		BITS 3-4	FILE ACCESS MODE:
				00 - NOT YET DECLARED
				01 - SEQUENTIAL
				10 - RANDOM
				11 - DYNAMIC
		BITS 5-7	EXTERNAL RECORDING MODE:
				00 - SIXBIT
				01 - BINARY
				10 - ASCII
				11 - EBCDIC
		BITS 8-10	INTERNAL RECORDING MODE:
				00 - SIXBIT
				01 - BINARY
				10 - ASCII
				11 - EBCDIC
		BIT 11		CODE CLAUSE SPECIFIED FOR THIS FILE
		BITS 12-17	FILE POSITION IN A MULTI-FILE REEL.
		BITS 18-35	TABLE-LINK TO THE NEXT FILTAB ENTRY.
	WORD 6:
		BITS 0-1	UNUSED
		BITS 2-3	LABELS:
				00 OMITTED
				01 STANDARD
				11 NOT YET DECLARED
		BIT 4		THERE ARE INPUT "OPENS" IN PROCEDURE DIVISION.
		BIT 5		THERE ARE OUTPUT "OPENS" IN PRECEDURE DIVISION.
		BIT 6		THERE ARE I/O "OPENS" IN PROCEDURE DIVISION.
		BIT 7		"WRITE ADVANCING" WAS SEEN IN PROCEDURE DIVISION.
		BIT 8		DEFINED IN AN SD
		BIT 9		DATA RECORDS ARE VARIABLE LENGTH.
		BIT 10		RERUN ON END-OF-REEL
		BIT 11		RERUN ON COUNT
		BIT 12		FD OR SD IS DEFINED
		BIT 13		OPTIONAL FILE
		BIT 14		WRITE POSITIONING
		BIT 15		RMS FILE
		BITS 16-17	ORGANIZATION:
				00 - SEQUENTIAL
				01 - RELATIVE/RANDOM
				10 - INDEX
				11 - NOT YET DECLARED
		BITS 18-35	TABLE-LINK TO THE "ACTUAL KEY"
	WORD 7:
		BITS 0-5	NUMBER OF BUFFERS
		BITS 6-17	NOT USED
		BITS 18-35	TABLE-LINK TO FIRST DATA RECORD.
	WORD 8:
		LH		TABLE-LINK TO AKTTAB
				WHICH IS THE FIRST ALTERNATE KEY
		RH		TABLE-LINK TO ANOTHER FILE TABLE WHICH
				IS IN A MULTI-FILE CLAUSE WITH THIS FILE.
	WORD 9:  LH		TABLE-LINK TO THE VALUE-OF-IDENTIFICATION.
		 RH		TABLE-LINK TO THE VALUE-OF-DATE-WRITTEN.
	WORD 10: LH		SAME AREA LINK OR SAME BUFFER AREA LINK
		 RH		ERROR USE
		
	WORD 11: LH		TABLE-LINK TO A FILE SHARING THE SAME RECORD AREA.
		 RH		LINAGE-COUNTER POINTER
	WORD 12: LH		LINAGE LINES PER PAGE
		 RH		LINAGE WITH FOOTING AT
	WORD 13: LH		LINAGE LINES AT TOP
		 RH		LINES AT BOTTOM
	WORD 14: LH		USE ON DEBUGGING FILTAB
		 RH		LINAGE-COUNTER INITIALIZATION ROUTINE
	WORD 15:
		LH		MINIMUM DATA RECORD SIZE IN CHARACTERS
		RH		MAXIMUM DATA RECORD SIZE IN CHARACTERS
	WORD 16: BIT 0		DATA RECORDS CLAUSE APPEARED IN FD OR SD
		 BIT 1		RH CONTAINS RECORD AREA ADDRESS
		 BIT 2		RECORDING MODE DECLARED
		 BITS 3-5	RECORDING DENSITY:
				000 - NOT YET DECLARED
				001 - 200 BPI
				010 - 556 BPI
				011 - 800 BPI
				100 - 1600 BPI
				101 - 6250 BPI
		 BITS 6-7	RECORDING PARITY:
				00 - NOT YET DECLARED
				01 - ODD
				10 - EVEN
		 BIT 8		USE AFTER ERROR ON OPEN
		 BIT 9		DEFERRED OUTPUT ISAM
		 BIT 10		BYTE MODE
		 BIT 11		CHECKPOINT OUTPUT
		 BIT 12		ALTERNATE KEYS DEFINED FOR THIS FILE
		 BIT 13		ERROR OCCURED WHILE BUILDING ISAM KEY INFO
		 BIT 14		RECORD IS VARYING SEEN
		 BITS 13-17	NOT USED
		 BITS 18-35	BASE ADDRESS OF RECORD AREA
	WORD 17: LH		LINK TO SYMBOLIC KEY
		 RH		LINK TO RECORD KEY
	WORD 18:
		 BIT 0		BITS 16-35 POINT TO [RECORD]
		 BITS 1-3	NOT USED
		 BITS 4-15	BLOCKING FACTOR
		 BITS 16-35	LN & CP OF "SAME [RECORD] AREA" FOR THIS FILE
				USED FOR FIPS FLAGGER DIAGNOSTIC MESSAGES
	WORD 19: LH		LINK TO PROJECT-PROGRAMMER NUMBER
		 RH		LINK TO FIRST RD ENTRY
	WORD 20:
		BITS 0-8	OWNER ACCESS BITS
		BITS 9-17	OTHER ACCESS BITS
		BITS 18-35	COUNT OF RECORDS RETAINED
	WORDS 21-24
		ARE LINKS TO THE ITEMS GIVEN IN THE "FILE STATUS" CLAUSE.
		(VALUE OF ID LINK DOES NOT POINT TO THE VALUE OF ID BUT
		POINTS TO THE ITEM WHICH IS TO RECEIVE THE VALUE OF ID
		WHEN AN ERROR OCCURS.)
	WORD 21:
		LH		FILE STATUS LINK
		RH		ERROR NUMBER LINK
	WORD 22:
		LH		ACTION CODE
		RH		VALUE OF ID LINK
	WORD 23:
		LH		BLOCK NUMBER LINK
		RH		RECORD NUMBER LINK
	WORD 24:
		LH		FILE NAME LINK
		RH		FILE TABLE LINK
	WORD 25:
		LH:		CONVERT RELATIVE KEY BEFORE
		RH:		CONVERT RELATIVE KEY AFTER
	WORD 26:
		BITS 0-7	CHECKPOINT EVERY N RECORDS COUNT
		BITS 8-15	SIZE OF VALUE OF ID
		BITS 16-35	LN & CP OF THE "FD" FOR THIS FILE
				USED FOR DIAGNOSTIC MESSAGES
	WORD 27:
		BITS 0-17	NUMBER OF THIS FILE
		BITS 18-35	LINK TO VALUE OF PROTECTION CODE
	WORDS 28:
		BITS 0-17	TABLE-LINK TO DEPENDING DATA-ITEM
		BITS 18-35	LINK TO PADDING CHARACTER
	WORD 29:
		LH		%N TAG OF ADDRESS OF LIST OF KEY SPECIFICATIONS
				FOR RMS INDEXED FILES
		RH		VARIOUS FLAGS FOR RMS FILES
		BITS 18-21	SMU Lock bits for Self. Set at Run Time.
		BITS 22-25	SMU Lock bits for Other. Set at Run Time.
		BIT 34		WRITE / NO-WRITE FOR <CR> FOR ASCII STM
		BIT 35		APPLY BASIC-LOCKING FLAG
4.	DATAB  -  DATA DESCRIPTOR TABLE
4.1	USED BY:	PHASES C,D,E,F,G
	ENTRY SIZE:	7+ WORDS
4.2	CONTENTS
	DATAB CONTAINS INFORMATION ABOUT EACH DATA DIVISION ITEM
	DEFINED BY THE USER, OTHER THAN CONDITION-NAMES.
4.3	DETAILED DESCRIPTION
	WORD1:
		BITS 0-2	ALWAYS 1 TO IDENTIFY THE TABLE.
		BITS 3-17	POINTER TO NAMTAB ENTRY FOR THIS ITEM
		BITS 18-35	TABLE-LINK TO AN ITEM
				HAVING THE SAME NAME AS THIS ITEM.
	WORD 2:	LH		TABLE-LINK TO ANY VALUE
				(OR IF ITEM IN LINKAGE SECTION,
				USED FOR ADDR OF %PARAM LOC TO
				TO HOLD POINTER)
		RH		THIS IS THE ASSIGNED CORE
				LOCATION FOR THIS ITEM.
	WORD3:	LH		TABLE-LINK TO THE GROUP ITEM
				CONTAINING THIS ITEM ("FATHER"),
				OR TABLE-LINK TO NEXT ITEM WITH
				THE SAME LEVEL NUMBER ("BROTHER").
				SEE WORD 5, BIT 8.
		RH		TABLE-LINK TO FIRST ITEM OF A
				HIGHER LEVEL NUMBER ("SON").
	WORD4:
		BITS 0-5	LEVEL NUMBER
		BITS 6-11	BYTE-RESIDUE - IF THIS IS A
				DISPLAY ITEM, NUMBER USED TO
				BUILD A BYTE POINTER TO THIS ITEM
		BIT 12		ITEM IS A LINE-COUNTER OR PAGE COUNTER
		BIT 13		LINKAGE SECTION ITEM REFERENCED
				ENTRY STATEMENT OR PD HEADER
		BITS 14-17	USAGE:
				0	NOT SPECIFIED
				1	DISPLAY-6
				2	DISPLAY-7
				3	DISPLAY-9
				4	1 WORD COMP
				5	2 WORD COMP
				6	COMP-1
				7	INDEX
				8	COMP-3
				9	COMP-2
		BITS 18-35	LINK TO ASSOCIATED RPWTAB ENTRY
	WORD 5:
		BITS 0-1	CLASS:
				00 - ALPHANUMERIC
				01 - ALPHABETIC
				10 - NUMERIC
				11 - NOT YET DECLARED
		BIT 2		SYNCHRONIZED LEFT
		BIT 3		SYNCHRONIZED RIGHT
		BIT 4		SIGNED
		BIT 5		BLANK WHEN ZERO
		BIT 6		THIS ITEM MUST BE SUBSCRIPTED OR INDEXED 
		BIT 7		EDITED ITEM
		BIT 8		BROTHER (0) OR FATHER (1) LINK IN WORD 3.
		BIT 9		ITEM IS DEFINED
		BIT 10		ITEM IS REFERENCED BY 'SUM' CLAUSE
		BIT 11		ITEM HAS A FAKE NAME
		BIT 12		ITEM IS REFERENCED BY 'SOURCE' CLAUSE IN
				'TYPE DETAIL' REPORT-GROUP
		BIT 13		ITEM IS A SUM-COUNTER
		BIT 14		JUSTIFIED LEFT (0) OR RIGHT (1)
		BIT 15		SEPARATE SIGN
		BIT 16		LEADING SIGN
		BIT 17		DEPENDING ITEM AT LOWER LEVEL
		BIT 18		ERROR DETECTED IN DATA DIVISION
		BIT 19		THIS IS AN INDEX-NAME
		BIT 20		THIS ITEM REDEFINES ANOTHER
		BIT 21		PICTURE SEEN
		BIT 22		ITEM DEFINED IN FILE SECTION
		BIT 23		THIS APPEARS IN A DATA RECORDS CLAUSE
		BIT 24		DEBUGGING ON DATA-NAME
		BIT 25		THERE ARE SYNCS AT LOWER LEVEL
		BIT 26		PICTURE WORDS ALLOCATED
		BIT 27		VALUE AT HIGHER LEVEL
		BIT 28		REDEFINES AT HIGHER LEVEL
		BIT 29		LINKAGE SECTION ITEM
		BIT 30		DECIMAL POINT IS TO RIGHT OF
				WORD BOUNDARY (E.G. PICTURE 9PPPV)
		BITS 31-35	NUMBER OF DECIMAL PLACES
	WORD 6:
		BITS 0-17	EXTERNAL SIZE
		BITS 18-35	INTERNAL SIZE
	WORD 7:
		BITS 0-14	NUMBER OF OCCURRENCES
		BIT 15		OCCURS CLAUSE IS AT THIS ITEM
		BITS 16-28	LINE NUMBER IN SOURCE
		BITS 29-35	CHARACTER POSITION IN SOURCE
	WORD 8: OPTIONAL--USED ONLY IF ITEM IS SUBSCRIPTED OR EDITED.
		LH		LINK TO NEXT HIGHER OCCURENCE LEVEL
		RH		LINK TO DEPENDING ITEM
	WORD 9:	OPTIONAL--USED ONLY IF ITEM IS SUBSCRIPTED OR EDITED.
		BITS 0-9	DEPENDING CONVERSION TAG
		BITS 10-17	NUMBER OF SEARCH KEYS
		RH		ADDR OF 'INDEXED BY' ITEM
	WORDS 10-13:  OPTIONAL - USED ONLY IF THE ITEM IS EDITED.
			(OR SEARCH KEYS EXIST)
		BITS 0-5	THE PICTURE SIGN CHARACTER, IN SIXBIT
		BITS 6-11	THE PICTURE FLOAT OR SUPPRESSION
				CHARACTER, IN SIXBIT.
		THE REMAINDER OF THE FIELD IS COMPOSED OF 4-BIT BYTES
		TO BE USED BY THE PICTURE EDITING ROUTINE AT OBJECT
		TIME.  THE VALUES FOR THESE BYTES ARE:
				00 - INSERT AN ALPHA CHARACTER (X OR A)
				01 - INSERT A NUMERIC CHARACTER (9)
				02 - SUPPRESS (Z OR *)
				03 - FLOAT ($,+,-)
				04 - INSERT A COMMA
				05 - INSERT A SPACE (B)
				06 - INSERT A ZERO (0)
				07 - INSERT A CURRENCY SIGN
				10 - INSERT A SIGN (+,-)
				11 - INSERT A DECIMAL POINT
				12 - INSERT "CR"
				13 - INSERT "DB"
				14 - "V" IMPLIED DECIMAL POINT
				15 - INSERT "/"
				16 - START OF REPEAT COUNT.
					THE NEXT BYTE CONTAINS THE NUMBER
					OF BYTES WHICH CONTAIN THE REPEAT COUNT,
					FOLLOWED BY THE BYTE TO BE REPEATED.
				17 - TERMINATE EDITING
	WORDS 14-N: OPTIONAL--USED IF SEARCH KEYS EXIST--
		ONE PER SEARCH KEY:
		BIT 0		0=ASCENDING KEY, 1=DESCENDING
		BIT 18-35	DATAB LINK TO SEARCH KEY
5.	CONTAB - CONDITION-NAME TABLE
5.1	USED BY:	PHASES C,D,E
	ENTRY SIZE:	VARIABLE
5.2	CONTENTS
	CONTAB CONTAINS INFORMATION ABOUT 88-LEVEL ITEMS IN THE
	DATA DIVISION
5.3	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-2	ALWAYS 2 TO IDENTIFY THE TABLE
		BITS 3-17	POINTER TO NAMTAB ENTRY FOR THIS ITEM
		BITS 18-35	TABLE-LINK TO ANOTHER ITEM WITH THE SAME NAME
	WORD 2:
		BITS 0-17	TABLE-LINK TO THE DATAB ITEM FOR
				WHICH THIS ITEM IS A CONDITION-NAME
		BITS 18-35	THE NUMBER OF LITERAL ENTRIES
	THE REMAINING WORDS CONTAIN POINTERS TO THE VALUE OR VALUES FOR THE
	CONDITIONS.  THE FIRST WORD OF EACH VALUE ENTRY HAS:
		BIT 0		A 1 INDICATES THAT THIS VALUE IS
				THE FIRST OF A RANGE ("VALUE IS A THRU B").
		BIT 1		THE VALUE IS A FIGURATIVE CONSTANT
		BIT 2		"ALL"
		BITS 3-17	IF THIS IS NOT A FIGURATIVE
				CONSTANT, THIS IS A TAG NUMBER.
				IF THIS IS A FIGURATIVE CONSTANT
				THE BITS HAVE THE FOLLOWING MEANINGS:
				BIT 3 "SPACE", "SPACES"
				BIT 4 "ZERO", "ZEROES", "ZEROS"
				BIT 5 "QUOTE", "QUOTES"
				BIT 6 "HIGH-VALUE", "HIGH-VALUES"
				BIT 7 "LOW-VALUE", "LOW-VALUES"
				BIT 8-17 NOT USED
		(IN PHASE C, THIS IS A LITTAB LINK)
		BITS 18-35	SAME AS 0-17 FOR SECOND PART OF "THRU"
6.	PROTAB - PROCEDURE-NAME DESCRIPTOR TABLE
6.1	USED BY:	PHASES D,E,F,G
	ENTRY SIZE:	5 WORDS
6.2	CONTENTS
	PROTAB CONTAINS INFORMATION ABOUT PARAGRAPH AND SECTION NAMES.
6.3	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-2	ALWAYS 4 TO IDENTIFY THE TABLE
		BITS 3-17	POINTER TO THE NAMTAB ENTRY FOR THIS ITEM
		BITS 18-35	TABLE-LINK TO ANOTHER ITEM WITH THE SAME NAME.
	WORD 2:
		BITS 0-17	IF THIS IS A PARAGRAPH-NAME,
				THIS FIELD IS A TABLE-LINK TO
				THE PROTAB ENTRY CONTAINING THE
				SECTION-NAME FOR THE SECTION CON-
				TAINING THIS PARAGRAPH.
				IF THIS IS A SECTION NAME, THIS
				FIELD CONTAINS THE WORD NUMBER IN
				GENFIL WHICH CONTAINS THE SECNAM
				OPERATOR FOR THE NEXT SECTION; OR
				ZERO IF THIS IS THE LAST SECTION.
		BITS 18-35	THE LOCATION ASSIGNED TO THE FIRST
				INSTRUCTION GENERATED FOR THIS
				PARAGRAPH OR SECTION.
	WORD 3:
		BITS 0-17	PARAMETER ADDRESS FOR ALTER WORD
		BITS 18-24	THE SECTION PRIORITY NUMBER
				(0 IF RESIDENT)
		BIT 25		ITEM IS A SECTION (0) OR PARAGRAPH (1) NAME
		BIT 26		EXIT REQUIRED (REFERENCE IN "THRU"
				CLAUSE OF A "PERFORM")
		BIT 27		ITEM IS DEFINED
		BIT 28		PARAGRAPH IS ALTERABLE
		BIT 29		AN OBJECT OF AN ALTER IS IN THE
				CURRENT SEGMENT
		BIT 30		AN OBJECT OF AN ALTER IS IN
				ANOTHER SEGMENT
		BIT 31		REFERENCED IN THE DECLARATIVES
		BIT 32		ITEM IS IN THE DECLARATIVES
		BIT 33		THIS IS MULTIPLY DEFINED (SEE NOTE 1)
		BIT 34		THIS TERMINATES WITH AN
				UNCONDITIONAL TRANSFER
		BIT 35		THIS SECTION HAS APPEARED AS A SECNAM
				ARGUMENT BEFORE.
	NOTE 1:
		IF BIT 27=0 AND BIT 33=1 (ITEM IS NOT DEFINED AND IS MULTIPLY
		DEFINED) IT MEANS THAT THIS IS A GENERATED PARAGRAPH NAME.
	WORD 4:
		LH		RELATIVE ADDRESS OF AN EXIT WORD
		RH		THIS IS THE RELATIVE ADDRESS OF AN
				ENTRY IN FLOTAB.
	WORD 5:
		LH		ADDRESS OF DEBUG USE PROCEDURE
		RH		SYMBOLIC FIRST ADDRESS  (I.E. TAG NUMBER)
NOTE 2:
	IN COBOLG WHEN PROTAB IS BEING OUTPUT TO REL FILE FOR COBDDT
	WORD 4 IS SET TO THE LINE NUMBER (FROM FLOTAB)
	AND WORD 5 IS NOT OUTPUT.
7.	EXTAB - EXTERNAL-NAME TABLE
7.1	USED BY:	PHASES D,E,F,G
	ENTRY SIZE:	2 WORDS
7.2	CONTENTS
	EXTAB CONTAINS INFORMATION ABOUT NAMES OF EXTERNAL ROUTINES.
7.3	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-2	ALWAYS 5 TO IDENTIFY THE TABLE
		BITS 3-17	POINTER TO NAMTAB ENTRY FOR THIS NAME
		BITS 18-35	TABLE-LINK TO ANOTHER ITEM WITH THE SAME NAME
	WORD 2:
		BIT 0		A 1-BIT IF THE ENTRY IS REFERENCED
				BY A NON-RESIDENT SEGMENT.
		BIT 1		OP-SYS (0) OR USER (1) NAME
		BIT 2		THIS IS THE PROGRAM-ID.
		BIT 3		ENTRY NAME
		BIT 4		REFERENCED BY CALL
		BITS 5-17	NOT USED
		BITS 18-35	LOCATION OF PREVIOUS REFERENCE
				TO THIS ROUTINE (USED AT ASSEMBLY TIME)
				(OR VALUE IF ENTRY POINT OR PROG-ID)
				(OR HLDTAB LINK TO NAME IF CANCELLED)
8.	MNETAB - MNEMONIC-NAME TABLE
8.1	USED BY:	PHASES B,D,E
	ENTRY SIZE:	VARIABLE
8.2	CONTENTS CONTAINS INFORMATION ABOUT MNEMONIC-NAMES FOUND IN
	THE SPECIAL-NAMES PARAGRAPH IN THE ENVIRONMENT DIVISION.
8.3	DETAILED DESCRIPTION
	WORD 1:
		BITS 0-2	ALWAYS 7 TO IDENTIFY THE TABLE
		BITS 3-17	POINTER TO NAMTAB ENTRY FOR THIS ITEM
		BITS 18-35	TABLE-LINK TO ANOTHER ITEM WITH THE SAME NAME.
	WORD 2:
		BIT 0		"SWITCH"
		BIT 1		"SWITCH ON STATUS"
		BIT 2		"SWITCH OFF STATUS"
		BIT 3		"CONSOLE"
		BIT 4		"CHANNEL"
		BIT 5		"CODE" FOR RD ENTRY
		BIT 6		"ALPHABET-NAME"
		BIT 7		"SYMBOLIC CHARACTER"
		BITS 8-17	NOT USED
		BITS 18-35	DEPEND UPON CODE:
		IF SWITCH	BITS 18-29 ARE NOT USED.
				BITS 30-35 CONTAIN SWITCH NUMBER.
		IF CONSOLE	BITS 18-35 ARE NOT USED.
		IF CHANNEL	BITS 18-31 ARE NOT USED.
				BITS 32-35 CONTAIN CHANNEL NUMBER.
		IF RD		BITS 22-35 CONTAINS 2 CHARACERS OF 'CODE'.
			OR	BITS 18-35 CONTAIN LITAB ADDRESS.
		IF ALPHABET-NAME
				BIT 18 = ASCII
				BIT 19 = EBCDIC
				BITS 28-35 = WORDS TO FOLLOW IF LITERAL (VALUES IN WORDS 4 - N).
			OR	BITS 21-35 = OFFSET INTO LITTAB (COBOLE AND LATER)
		IF SYMBOLIC-CHAR BIT 18 = EBCDIC, BITS 27-35 CONTAINS THE SYMBOLIC CHARACTER.
	WORD 3:
		IF SYMBOLIC-CHARACTER
				BITS 16-35 CONTAIN LN AND CP OF SYMBOLIC-CHARACTER.
		IF ALPHABET-NAME
				LHS = LN AND RHS = CP OF ALPHABET-NAME.
	WORD 3 - N:
		IF ALPHABET-NAME IS LITERAL
				LHS = 0, BIT 18 = THRU, BIT 19 = ALSO, BITS 27-35 = VALUE
9.	RESTAB - RESULT TABLE
9.1	USED BY:	PHASE E
	ENTRY SIZE:	2 WORDS
9.2	CONTENTS
	RESTAB CONTAINS INFORMATION ABOUT "RESULT" OPERANDS
	AND ENABLES PHASE E TO GENERATE BETTER CODE.
9.3	DETAILED DESCRIPTION:
	WORD 1:
		BIT 0		RESULT IS TO BE ROUNDED
		BITS 1-17	NOT USED
		BITS 18-35	ABSOLUTE ADDRESS OF AN ENTRY IN EOPTAB
	WORD 2:
		BITS 0-17	NUMBER OF INTEGRAL PLACES IN ITEM
		BITS 18-35	NUMBER OF DECIMAL PLACES IN ITEM
10.	VALTAB - VALUE TABLE
10.1	USED BY:	PHASES B,C,D,E
	ENTRY SIZE:	VARIABLE
10.2	CONTENTS
	DURING PHASES B AND C:
	VALTAB HOLDS THE LITERALS FOUND IN THE "VALUE" CLAUSE
	IN THE DATA DIVISION WHILE A RECORD IS BEING PROCESSED,
	AND OTHER MISCELLANEOUS LITERALS WHILE THEY ARE NEEDED
	(E.G. FILE-LIMITS, VALUE OF ID).  THE TABLE IS CLEARED
	WHEN THE INFORMATION CAN BE WRITTEN OUT ONTO THE ASSEMBLY
	INPUT FILE.
	DURING PHASES D AND E:
	VALTAB HOLDS ANY LITERALS FOUND IN THE PROCEDURE DIVISION
	SYNTAX SCAN. DURING CODE GENERATION THE LITERALS ARE TAKEN
	OUT OF VALTAB AND PLACED INTO LITTAB.
10.3	DETAILED DESCRIPTION
	EACH VALUE IS PLACED IN ONE OR MORE WORDS.  THE FIRST WORD
	HAS THE NUMBER OF CHARACTERS IN BITS 5-13; THE REMAINDER
	OF THAT WORD, AND THE FOLLOWING WORDS, CONTAIN AN ASCII
	STRING.
11.	LITAB - LITERAL TABLE
11.1	USED BY:	PHASES C,E
	ENTRY SIZE:	VARIABLE
11.2	CONTENTS
	LITAB CONTAINS INFORMATION ABOUT LITERALS GENERATED BY
	THE CODE GENERATION PHASE.  AT EACH SEGMENT BREAK, THE
	INFORMATION IS WRITTEN OUT INTO AN ASSEMBLY INPUT FILE,
	AND THE CONTENTS OF THE TABLE ARE FLUSHED.
11.3	DETAILED DESCRIPTION
	EACH ENTRY CONSISTS OF A HEADER WORD FOLLOWED BY WORDS
	CONTAINING THE LITERAL VALUE.
	IN PHASE C, THE HEADER WORD CONTAINS:
		BITS 0-2	NOT USED
		BIT 3		EBCDIC LITERAL
		BIT 4		NON-SIXBIT
		BIT 5		ALL
		BIT 6		NUMERIC
		BIT 7		FIGURATIVE CONSTANT
		BIT 8		NUMERIC LITERAL HAS AN IMBEDDED
				DECIMAL POINT
		BITS 9-17	NUMBER OF CHARACTERS IN THE LITERAL
		BITS 18-35	NUMBER OF WORDS CONTAINING THE LITERAL
	IN PHASE E, THE HEADER WORD CONTAINS:
		LH		A CODE TO DETERMINE TYPE OF CONSTANT:
				1 - XWD
				2 - BYTE POINTER
				3 - ASCII
				4 - SIXBIT
				5 - 1-WORD DECIMAL
				6 - 2-WORD DECIMAL
				7 - FLOATING POINT
				10- OCTAL
				11- EBCDIC
				12- COMP-2
		RH		NUMBER OF WORDS CONTAINING DATA
12.	HLDTAB - HOLD TABLE
12.1	USED BY:	PHASES B,C,E
	ENTRY SIZE:	VARIABLE
12.2	CONTENTS - USED BY SYNTAX SCANNER TO HOLD ASIDE REFERENCES
	TO AS YET UNDEFINED DATA-NAMES (E.G. ACTUAL KEY, FILE-LIMITS).
	  AS OF EDIT 1027, USED BY PHASE E TO STACK OPERANDS
	OF "READ" AND "RETURN" SO "INTO" ITEM CODE CAN BE GENERATED
	IN THE PROPER SEQUENCE.
12.3	DETAILED DESCRIPTION
	WORD 1:	BIT 0		NOT USED
		BITS 1-15	NAMTAB LINK FOR ITEM
		BITS 16-28	LINE POSITION
		BITS 29-35	CHARACTER POSITION
	WORD 2:	BITS 0-8	CODE:	 1 ACTUAL KEY
					 2 VALUE OF IDENTIFICATION
					 3 VALUE OF DATE-WRITTEN
					 4 VALUE OF PROJ-PROG
					 5 LOW FILE-LIMIT
					 6 HIGH FILE-LIMIT
					 7 'DEPENDING' FOR OCCURS
					10 'KEY' FOR OCCURS
					11 'SUM' IDENTIFIER FOR RPWTAB (LH)
					12 'SUM' IDENTIFIER FOR RPWTAB (RH)
					13 'UPON' DATA-NAME FOR RPWTAB
					14 'SUM' COUNTER TO BE ALLOCATED
					15 SYMBOLIC KEY
					16 RECORD KEY
					17 DESC. KEY FOR OCC. DATAB LINK
					20 INDEX FOR DATAB ITEM
					21 DATA NAME WHICH OCCURED IN FILE STATUS CLAUSE.
					22 GROUP INDICATE ITEM WITH VALUE CLAUSE
					23 ALTERNATE RECORD KEY
					24 VALUE OF PROTECTION CODE
		BITS 9-17	NUMBER OF QUALIFIERS
		BITS 18-35	LINK TO SOME TABLE. FOR 1,2,3,4 THIS
					POINTS TO A FILTAB ENTRY.
				FOR 5,6 THIS POINTS TO THE APPROPRIATE
					FILTAB WORD (NOT FIRST WORD)
				FOR 7,10 THIS POINTS TO DATAB ENTRY
				FOR 11,12 THIS POINTS TO APPROPRIATE RPWTAB WORD
				FOR 13 THIS POINTS TO A RPWTAB ENTRY
				FOR 14,22 THIS POINTS TO DATAB ENTRY
				FOR 15,16 THIS POINTS TO FILTAB ENTRY
				FOR 21 THIS POINTS TO A FILTAB ENTRY
					AND THE FILE STATUS FIELDS IN FILTAB
					POINT BACK TO THE HLDTAB ENTRIES.
	WORDS 3-N: (IF NEEDED) HALF WORDS OF NAMTAB LINKS FOR QUALIFIERS.
	USED IN PHASE D TO HOLD NAMES OF CANCELLED PROGRAMS:
		WORD 1:	0
		WORD 2:	BITS 0-8	CODE=100: CANCELLED PROGRAM NAME
			BITS 9-17	NUMBER OF WORDS USED FOR NAME
		WORDS 3-N:	SIXBIT PROGRAM NAME
	USED IN PHASE E FOR "READ" AND "RETURN" STACKING:
		WORD 1: LAST "PTRHLD" ITEM:
			BITS 0-17	FLAGS
			BITS 18-35	POINTER TO LAST HLDTAB ENTRY
		ENTRY FLAGS (DEFINED SYMBOLICALLY IN P.MAC):
			HE%RIN = READ INTO OR RETURN INTO
			HE%VLR = READ OF VARIABLE LENGTH RECORD
			HE%DEB = DEBUGGING CODE
	  THE FOLLOWING ARE USED ONLY IF THERE WAS AN "INTO" ITEM:
		WORDS 2-3:		LARGEST DATA RECORD OPERAND
		WORDS 4-<4+<OPNMAX-1>>:	"INTO" ITEM OPERAND
	   THE NEXT WORD IS USED IS THIS ENTRY IS A "READ..VARIABLE
		LENGTH RECORD":
		WORD N: (RH)		FILE-TABLE POINTER
	   THE NEXT WORD IS USED IF THIS ENTRY HAS DEBUGGING CODE
			INFORMATION:
		WORD N:	DEBUGGING ROUTINE TO CALL
EVALUATE VERB USES HLDTAB IN PHASE E, BUILDING ITS OWN TABLE WITHIN IT
WHICH IS DELETED WHEN THE VERB IS COMPLETE
EVALUATE takes a set of selection subjects and compares them to a
series of sets of selection objects. To do this, the operands describing 
the selection subjects are stored in a table and are later retrieved
and put in EOPTAB so IFGEN can compare them against selection objects.
The table is built within HLDTAB, and deleted when processing is complete.
If the selection subject is an arithmetic expression, the result is in an
accumulator. EVALUATE will move it to a location in %PARAM and adjust its
operand.
HLDTAB		WD 1 [ Nbr of Selection Statements (SS's)
 table		WD 2 [ Nbr of operand words ,, %PARAM offset
		WD 3 - N [ Operand from EOPTAB
		WD N+1 [ Size of entry ,, %PARAM offset
		EVSSTM contains the relative offset of the above
			table in HLDTAB
		EASSAV is used to build the descriptor (word 2)
			before it is placed in table
13.	TAGTAB - GENERATED TAG TABLE
13.1	USED BY:	PHASES E,O,G
	ENTRY SIZE:	1 WORD
13.2	CONTENTS
	TAGTAB CONTAINS THE OBJECT TIME LOCATION FOR EACH
	GENERATED TAG OF THE FORM %NNNNN, IN ORDER BY
	NUMBER.
13.3	DETAILED DESCRIPTION
	BIT 0:	INDIRECT POINTER TO TAGTAB OR PROTAB ENTRY
	BIT 1:	THIS TAG IS CREATED IN PHASE O FOR ANOTHER TAG + 1
	BIT 2:	ANOTHER TAG IS DEFINED AT THIS ONE + 1
	BITS 3-17:	REFERENCE COUNT
	BITS 18-35:	PC FIELD (EITHER A PC OR A "POINTER")
SITUATION		1B0  1B1  1B2  REF COUNT       PC FIELD
---------		---  ---  ---  ---------	-------
NORMAL			0     0    0     3		24
TAG IS %2+1		0     1    0	 3		2
TAG IS %2		1     0    0	 0		2
TAG HAS A %TAG+1 ENTRY  0     0    1	 3		24
TAG IS AT <PARA>	1     0    0	 0		AS.PRO+N
14.	ALTAB - ALTER TABLE
14.1	USED BY:	PHASE E
	ENTRY SIZE:	1 WORD
14.2	CONTENTS
	ALTAB CONTAINS INFORMATION TO AID IN PROCESSING GO'S
	WHICH ARE ALTERED.
	INFORMATION WILL BE WRITTEN OUT ONTO THE IMPURE ASSEMBLY
	INPUT (FOR RESIDENT SEGMENTS), OR NON-RESIDENT ASSEMBLY INPUT
	(FOR NON-RESIDENT SEGMENTS) WHEN A SEGMENT BREAK IS SEEN.
14.3	DETAILED DESCRIPTION
		BIT 0		RH IS PROTAB LINK (0), OR
				SPECIAL TAG (1).
		BITS 1-20	NOT USED
		BITS 21-35	RELATIVE ADDRESS OF PROTAB ENTRY,
				OR SPECIAL TAG NUMBER.
15.	SECTAB - SEGMENT TABLE
15.1	USED BY:	PHASES D,E,G
	ENTRY SIZE:	2 WORDS
15.2	CONTENTS
	SECTAB IS USED FOR TEMPORARY STORAGE DURING PHASE D.
	DURING PHASES E AND G, SECTAB CONTAINS THE OBJECT TIME
	STARTING ADDRESSES FOR CERTAIN TABLES.  THERE IS ONE ENTRY
	FOR EACH SEGMENT; THE FIRST ENTRY IS FOR THE RESIDENT
	SEGMENT, THE REMAINDER FOR EACH NON-RESIDENT SEGMENT.
15.3	DETAILED DESCRIPTION
	WORD 1:
		LH	STARTING ADDRESS FOR LITERALS
		RH	NOT USED
	WORD 2:
		LH	NUMBER OF ALTAB ENTRIES FOR THIS SEGMENT
		RH	STARTING ADDRESS OF ALTER ADDRESS AT OBJECT TIME.
16.	FLOTAB - PROCEDURE DIVISION FLOW TABLE
16.1	USED BY:	PHASES D,E
	ENTRY SIZE:	2 WORDS
16.2	CONTENTS
	FLOTAB IS USED TO ENABLE PHASE D TO RESOLVE UNQUALIFIED
	REFERENCES.
16.3	DETAILED DESCRIPTION
	WORD 1:
		BIT 0	   PROCEDURE NAME DEFINITION
		BIT 1	   ENTRANCE PROCEDURE-NAME FOR A PERFORM
		BIT 2	   EXIT PROCEDURE-NAME FOR A PERFORM
		BIT 3	   SUBJECT OF AN ALTER
		BIT 4	   OBJECT OF AN ALTER
		BIT 5	   OBJECT OF A GO OR GODEP
		BIT 8      BITS 18-35 IS A TAGTAB LINK ( INLINE PERFORM )
		BITS 9-16  NOT USED
		BIT 17	   REFERENCE OCCURED IN DECLARATIVES
		BITS 18-35 PROTAB LINK
	WORD 2:
		BIT 0	   NOT USED
		BITS 1-15  RELATIVE ADDRESS OF NAMTAB ENTRY
		BITS 16-28 LINE NUMBER
		BITS 29-35 CHARACTER POSITION
17.	RPWTAB - REPORT WRITER TABLE
17.1	USED BY:	PHASES C,D,E
	ENTRY SIZE:	VARIABLE
17.2	RPWTAB ENTRY FOR RD
	WORD 1	BIT 0		ALWAYS ZERO TO INDICATE RD
		BIT 1		NOT USED
		BIT 2		0 = NOT DEFINED, 1 = DEFINED BY RD CLAUSE
		BITS 3-17	NAMTAB LINK
		BITS 18-35	'SAME NAME' LINK
	WORD 2	BITS 0-15	LINK TO 'BROTHER' RD ENTRY
		BITS 16-28	LINE NUMBER OF RD NAME
		BITS 29-35	CHARACTER POSITION OF RD NAME
	WORD 3	BITS 0-17	FILTAB LINK TO ASSOCIATED FILE
		BITS 18-35	LINK TO FIRST RPWTAB GROUP ENTRY
	WORD 4	BITS 0-17	DATAB LINK FOR LINE-COUNTER
		BITS 18-35	DATAB LINK FOR PAGE-COUNTER
	WORD 5	BITS 0-8	HEADING LINE NUMBER
		BITS 9-17	FOOTING LINE NUMBER
		BITS 18-26	FIRST DETAIL LINE NUMBER
		BITS 27-35	LAST DETAIL LINE NUMBER
	WORD 6	BITS 0-8	PAGE LIMIT
		BIT 9		THERE IS AN 'INITIATE' FOR THIS RD
		BIT 10		[1373] INDICATES A REPORT HEADING SEEN
		BITS 11-17	[1373] NOT USED
		BITS 18-35	TAG OF RUN-TIME RPWTAB
	WORD 7	LH		TAG OF REPORT HEADER ROUTINE
		RH		TAG OF REPORT-FOOTING ROUTINE
	WORD 8	LH		TAG OF PAGE-HEADING ROUTINE
		RH		TAG OF PAGE-FOOTING ROUTINE
	WORD 9	LH		TAG OF 'GROUP INDICATE' SETUP
		RH		MNEMONIC LINK FOR 'CODE'
	WORD 10	LH		LINK INTO CONTROL IDENTIFIER TABLE
		RH		NUMBER OF DIFFERENT CONTROL IDENTIFIERS
	WORD 11	LH		TAG OF 'BREAK TEST' ROUTINE
		RH		TAG OF 'FINAL BREAK' ROUTINE
	WORD 12 LH		LINK TO FIRST CONTROL IDENTIFIER
		RH		NOT USED
17.3	RPWTAB ENTRIES FOR GROUP AND ELEMENTARY ITEMS
	WORD 1	BIT 0		ALWAYS 1 TO DIFFERENTIATE FROM RD
		BITS 1-2	NOT USED
		BITS 1-17	[1451]LINK TO RD ENTRY
		BITS 18-35	LINK TO ASSOCIATED DATAB ENTRY
	WORD 2	BITS 0-1	'LINE' CODE:	01 NEXT PAGE
						10 INTEGER
						11 PLUS INTEGER
		BITS 2-3	'NEXT' CODE: SAME AS LINE CODE
		BITS 4-5	01 SOURCE
				10 SUM
				11 VALUE
		BITS 6-8	'TYPE' CODE:	1 RH	5 CF
						2 PH	6 PF
						3 CH	7 RF
						4 DE
		BIT 9		RESET ON FINAL
		BIT 10		RESET ON IDENTIFIER
		BIT 11		GROUP INDICATE
		BIT 12		THERE IS A 'GENERATE' FOR THIS GROUP
		BIT 13		'FINAL' CONTROL
		BIT 14		NOT USED
		BIT 15		LINE CLAUSE SEEN AT LOWER LEVEL
		BIT 16		THIS IS REFERENCED BY 'SUM UPON'
		BIT 17		NOT USED
		BITS 18-35	NUMBER OF 'SUM' IDENTIFIERS
	WORD 3	BITS 0-8	'LINE' INTEGER
		BITS 9-17	COLUMN NUMBER
		BITS 18-26	'NEXT' INTEGER
		BITS 27-35	NOT USED
	WORD 4	BITS 0-17	DATAB LINK TO 'RESET' ENTRY
		BITS 18-35	IF SOURCE - HLDTAB LINK, CHANGED
				   TO DATAB LINK IN CLEANC.
				IF SUM -    DATAB LINK TO SUMMATION COUNTER.
				IF VALUE -  VALTAB LINK TO VALUE
	WORD 5	BITS 0-17	RPWTAB LINK TO FIRST 'UPON' TABLE ENTRY
				(IF THIS IS CF).
		BITS 18-35	TAG OF ANY 'USE' PROCEDURE
	WORD 6	BITS 0-17	ADDRESS OF RUNTIME LOCATION TO BE SET TO -1
				IF THIS GROUP IS 'SUPPRESSED'. (%PARAM+N).
		BITS 18-35	NUMBER OF UPON STATEMENTS.
	WORDS 7-20.		OPERAND FOR SOURCE IDENTIFIER (ALLOWS
				FOR 3 SUBSCRIPTS WITH ADDITIVES)
	IMMEDIATELY FOLLOWING A GROUP ENTRY IN RPWTAB ARE HALF-WORDS FOR
SUM-IDENTIFIERS OF THAT GROUP. THEY ARE ZERO UNTIL CLEANC.
17.4	RPWTAB ENTRIES FOR UPON TABLE
	WORD 1:	LH	NOT USED
		RH	DATAB LINK TO UPON DATA ITEM
18.	CDTAB - COMMUNICATION DESCRIPTION TABLE
18.1	USED BY:	PHASES C,D,E
	ENTRY SIZE:	9 WORDS
18.2	CONTENTS -
18.3	DETAILED DESCRIPTION
	WORD 1:		BITS 0-2	0
			BITS 3-17	NAMTAB LINK
			BITS 18-35	SAME NAME LINK
	WORD 2:		BIT 0		0=INPUT CD, 1=OUTPUT
			BIT 1		INITIAL INPUT CD
			BITS 2-15	NOT USED
			BITS 16-28	LINE NUMBER OF CD ENTRY
			BITS 29-35	CHAR POS OF CD ENTRY
	WORD 3:		LH		CD-RECORD LINK
			RH		INPUT:  Q-NAME LINK
					OUTPUT: 0
	WORD 4:		LH		INPUT:  SUB-Q1 LINK
					OUTPUT: 0
			RH		INPUT:  SUB-Q2 LINK
					OUTPUT: 0
	WORD 5:		LH		INPUT:  SUB-Q3 LINK
					OUTPUT: DEST TABLE OCC # LINK
			RH		INPUT:  MESSAGE DATA LINK
					OUTPUT: INDEX NAME LINK
	WORD 6:		LH		INPUT:  MESSAGE TIME LINK
					OUTPUT: MESSAGE CLASS LINK
			RH		INPUT:  SOURCE NAME LINK
					OUTPUT: DESTINATION NAME LINK
	WORD 7:		LH		TEXT LENGTH LINK
			RH		INPUT:  FIND KEY LINK
					OUTPUT: ERROR KEY LINK
	WORD 8:		LH		INPUT:  STATUS KEY LINK
					OUTPUT: 0
			RH		INPUT:  MESSAGE COUNT LINK
					OUTPUT: DESTINATION COUNT LINK
	WORD 9:		LH		FAKE DATAB ENTRY THAT POINTS TO CD-NAME IN NAMTAB
			RH		COBOL-74 DEBUG USE PROCEDURE
19.	USETAB - USE PROCEDURE TABLE
19.1	USED BY:	PHASES D,E
	ENTRY SIZE:	VARIABLE
19.2	CONTENTS -
19.3	DETAILED DESCRIPTION
	WORD 1:	BITS 0-2	UNUSED (ZERO)
		BITS 3-11	CODE:	0 I-O ERROR
					1 OPEN ERROR
					2 LABEL PROCEDURE
					3 REPORT ITEM PROCEDURE
					4 ERROR-STATUS
					5 DEBUG PROCEDURE
		BITS 12-16	UNUSED
		BIT 17		EXTRA WORD FLAG
		RH		PROTAB LINK TO ASSOCIATED SECTION
				IN PHASE E THIS IS THE ACTUAL TAG% TO GO TO
	WORD 2:	BITS 6-17	COUNT OF EXTRA WORDS (INCLUDING THIS ONE)
20.	AKTTAB - ALTERNATE KEY TABLE
20.1	USED BY:	PHASES B,C,D,E
	ENTRY SIZE:	2 WORDS
20.2	CONTENTS
	AKTTAB CONTAINS INFORMATION ABOUT ANY "ALTERNATE RECORD KEYS"
20.3	DETAILED DESCRIPTION
	WORD 1:	LH = LINK TO FILE TABLE
		RH = LINK TO DATAB ENTRY (FILLED IN AT CLEANC)
	WORD 2:	BIT 0 = 1 IF "DUPLICATES" SPECIFIED
21.	DEBTAB - DEBUG TABLE
21.1	USED BY:	PHASES D,E
	ENTRY SIZE:	2 WORDS
21.2	CONTENTS
	DEBTAB CONTAINS INFORMATION ABOUT DEBUG ON DATA-NAME
21.3	DETAILED DESCRIPTION
	WORD 1:		LH		LINK TO DATAB ENTRY
			BIT 18		1 IF "ALL REFERENCES" SEEN
			BITS 19-20	NOT USED
			BITS 21-35	LINK TO USETAB
	WORD 2:	BIT 0			1 IF DEBUG PROCEDURE SHOULD BE INVOKED
		BITS 1-4		NOT USED
		BITS 5-17		LINE NUMBER
		RH			PARAM BASE
22.	RENTAB - RENAMED ITEM TABLE
22.1	USED BY:	PHASES C,F
	ENTRY SIZE:	1 WORD
22.2	CONTENTS
	RENTAB CONTAINS INFORMATION ABOUT RENAMED ITEMS DEFINED IN
	THE FILE SECTION.
	THIS TABLE IS NEEDED SINCE PHASE F HAS TO RELOCATE ALL
	DATA ITEMS (CHANGE DA.LOC) THAT ARE DEFINED IN FILES.
	IT CAN DO A PREORDER TREE TRAVERSAL FROM THE FILE-NAME
	TO CHANGE ALL ITEMS--EXCEPT THE RENAMED ITEMS!
22.3	DETAILED DESCRIPTION
	WORD 1:	LH	DATAB LINK TO 01 ENTRY
		RH	DATAB LINK TO 66 ENTRY (RENAMES ITEM)
23.	EOPTAB - OPERAND TABLE
23.1	USED BY:	PHASE E
	ENTRY SIZE:	2 WORDS
23.2	CONTENTS
	EOPTAB CONTAINS THE OPERANDS FOR THE CURRENT OPERATOR AS
	READ IN FROM THE GENFIL. THESE OPERANDS ARE GENERATED BY
	PHASES B, C, AND D.
23.3	DETAILED DESCRIPTION
23.3.1	OPERATORS
	WORD 1:
	  BIT 0		A 0 TO IDENTIFY THIS AS AN OPERATOR.
	  BITS 1-8	A CODE IDENTIFYING THE OPERATOR
	  BITS 9-15	FLAGS REQUIRED FOR CODE GENERATION
	  BITS 16-28	A SOURCE LINE NUMBER USED WHEN ANY ERRORS
			ARE FOUND
	  BITS 29-35	A CHARACTER POSITION USED WHEN ANY ERRORS
			ARE FOUND
	WORD 2:
	 BITS 0-27	NOT USED
	 BITS 28-35	A CODE IDENTIFYING THE OPERATOR (COPIED
			FROM BITS 1-8 OF WORD 1).
23.3.2	OPERANDS, OTHER THAN LITERALS.
	 WORD 1:
	  BIT 0		A 1 TO IDENTIFY THIS AS AN OPERAND.
	  BIT 1		A 0 TO IDENTIFY THIS AS OTHER THAN A LITERAL.
	  BITS 2-4	USAGE (SEE CODES IN ???)   
!I think the usage field is now bits 10 thru 13 - JEH
	  BIT 5		SYNCHRONIZED LEFT
	  BIT 6		SYNCHRONIZED RIGHT
	  BIT 7		NUMERIC (1) OR NON-NUMERIC (0)
	  BIT 8		JUSTIFIED LEFT (0) OR RIGHT (1)
	  BIT 9		OPERAND IS IN THE LINKAGE SECTION
	  BITS 10-13	NOT USED
	  BITS 14	OPERAND HAS BEEN REFERENCE MODIFIED
	  BIT 15	OPERAND IS EVAL. SEL. SUBJ. W/ SUBSCRIPTS
	  BITS 16-35	LINE NUMBER AND CHARACTER POSITION
	 WORD 2:
	  BIT 0		IGNORE TRUNCATION ERRORS
	  BIT 1		"ROUNDED" CLAUSE PRESENT (VALID ONLY WITH
				"RESULT" OPERATOR).
	  BIT 2		OPERAND REFERENCES FLOTAB
	  BIT 3		'ASCENDING KEY' FOR SEARCH
	  BIT 4		NOT USED
	  BIT 5		OPERAND IS TEMP OR AC'S (SET BY PHASE E)
	  BITS 6-7	ALWAYS 0
	  BITS 8-11	NOT USED
	  BITS 12-17	THE NUMBER OF FOLLOWING ENTRIES WHICH ARE
			TO BE USED AS SUBCRIPTS TO THIS OPERAND.
	  BITS 18-20	THE TYPE OF OPERAND:
			0 - FILE NAME
			1 - DATA NAME
			2 - CONDITION NAME
			3 - LITERAL
			4 - PROCEDURE NAME
			5 - EXTERNAL NAME
			6 - VALUE
			7 - MNEMONIC NAME
	   BITS 21-35	THE ADDRESS OF THE ENTRY FOR THIS OPERAND
			RELATIVE TO THE BEGINNING OF THE TABLE WHOSE
			TYPE IS IN BITS 18-20.
23.3.3	LITERAL OPERANDS
	 WORD 1:
	  BIT 0		A 1 TO IDENTIFY THIS AS AN OPERAND.
	  BIT 1		A 1 TO IDENTIFY THIS AS A LITERAL OR
			FIGURATIVE CONSTANT
	  BIT 2		NUMERIC (1) OR NON-NUMERIC (0)
	  BIT 3		A 1 IF THIS IS A FIGURATIVE CONSTANT
	  BIT 4		A 1 IF LITERAL CONTAINS NON-SIXBIT
			CHARACTERS
	  BITS 5-7	ALWAYS 0
	  BIT 8		"TODAY"
	  BIT 9		"TALLY"
	  BIT 10	"SPACE", "SPACES"
	  BIT 11	"ZERO","ZEROS","ZEROES"
	  BIT 12	"QUOTE","QUOTES"
	  BIT 13	"HIGH-VALUE","HIGH-VALUES"
	  BIT 14	"LOW-VALUE","LOW-VALUES"
	  BIT 15	"ALL"
	  BITS 16-35	LINE NUMBER AND CHARACTER POSITION.
	WORD 2:
	THIS WORD CONTAINS NO DATA IF THE OPERAND IS A FIGURATIVE
	CONSTANT; OTHERWISE
	  BITS 0-17	SIZE OF LITERAL, IN WORDS
	  BITS 18-35	TABLE-LINK TO VALTAB ENTRY
24.	TEMTAB - TEMPORARY ITEM TABLE
24.1	USED BY:	PHASES C,D,E
	ENTRY SIZE:	1 OR 2 WORDS
24.2	CONTENTS
	TEMTAB CONTAINS TEMPORARY INFORMATION.
	IN PHASE C THIS IS REPORT WRITER INFO
	IN PHASE D THIS IS EXPLICIT SCOPE TERMINATOR INFO
	IN PHASE E THIS IS
24.3	DETAILED DESCRIPTION
	IN PHASE C FOR EACH RD
	WORD 1:	
		BITS 0-17	RD LINK
		BITS 18-35	LINK TO HLDTAB FOR FIRST SUM COUNTER
	WORD 2:
		BITS 0-17	# OF IDS
		BITS 18-35	TEMTAB LINK TO NEXT RD
	IN PHASE C FOR EACH ID
	WORD 1:
		BITS 0-17	LEVEL NUMBER
		BITS 18-35	HLDTAB LINK TO NEXT RD
	IN PHASE D
	WORD 1:
		BIT  1		SET IF IN-LINE PERFORM xxx END-PERFORM
		BITS 3-17	TAG NO. FOR IN-LINE PERFORM
		BITS 18-35	CODE FOR XX OF END-XX RESERVED WORD
	IN PHASE E
25.	PRGTAB - PROGRAM NAME TABLE
25.1	USED BY:	PHASES B,C,D,E
	ENTRY SIZE:	3 WORDS
25.2	CONTENTS
	PRGTAB CONTAINS INFORMATION ABOUT CONTAINED PROGRAMS
25.3	DETAILED DESCRIPTION
	WORD 1:	
		BITS 0-17	POINTER TO NAMTAB ENTRY FOR THIS ITEM
		BITS 18-26	LEVEL NUMBER OF THIS PROGRAM
		BIT  27		PROGRAM IS COMMON
		BIT  28		PROGRAM IS INITIAL
		BIT  29		BROTHER (0) OR FATHER (1) LINK
	WORD 2:
		BITS 0-17	LINK TO FATHER OR BROTHER
		BITS 18-35	LINK TO SON
	WORD 3:
		BITS 18-35	TAG TO JUMP OVER CONTAINED PROGRAMS
22.0	RCOTAB - REPORT WRITER CONTROL IDENTIFIER TABLE
22.1	USED BY:	PHASE C,D,E
	ENTRY SIZE:	3 WORDS
22.2	CONTENTS
	RCOTAB CONTAINS INFORMATION ABOUT A CONTROL IDENTIFIER. 
22.3	DETAILED DESCRIPTION
	FIRST WORD:  LH		DATAB LINK FOR CONTROL IDENTIFIER
		     RH		%PARAM AREA SET ASIDE FOR SAVING VALUE
	SECOND WORD: LH		RPWTAB LINK TO ASSOCIATED CH GROUP
		     RH		RPWTAB LINK TO ASSOCIATED CF GROUP
	THIRD WORD:  LH		LINK TO BROTHER CONTROL ENTRY
		     RH		TAG OF 'RESET' ROUTINE
		
	FORTH WORD:  LH		LINK TO PREVIOUS BROTHER CONTROL ENTRY
		     RH		DATAB LINK TO ( TOP ) FATHER ENTRY
	RCOTAB IS A DOUBLE LINK LIST WITH A POINTER IN RPWTAB TO THE FIRST
	AND LAST NODES OF THE LIST.
	NOTE: FIRST WORD IS ZERO IF FOR 'FINAL' CONTROL
\
	SUBTTL	FILTAB
;COMPILER'S FILTAB DEFINITIONS
	DEFINE	FITB.C	<
	RADIX	10
	D.PNTR	FILTAB,FI
	FI.ITM	NAM,1,3,17;;	;NAMTAB LINK
	FI.ITM	SAM,1,18,35;;	;LINK TO ITEM WITH SAME NAME
	FI.ITM	RCT,2,2,17;;	;RE-RUN COUNT
	FI.ITM	OFT,2,18,35;;	;OBJECT-TIME FILE TABLE LOCATION
	FI.ITM	FBS,3,0,15;;	;FILE BUFFER SIZE
	FI.ITM	LN,3,16,28;;	;LINE NO. OF SELECT
	FI.ITM	CP,3,29,35;;	;CHARACTER POSITION
	FI.ITM	LNC,3,16,35;;	;LN, CP COMBINED
	FI.ITM	NDV,4,12,17;;	;NUMBER OF DEVICES
	FI.ITM	VAL,4,18,35;;	;LINK TO VALTAB DEVICE ENTRY
	FI.FLG	ONE,5,1;;	;FIRST RD SEEN FOR THIS FILE
	FI.FLG	MRE,5,2;;	;MORE THAN ONE REPORT FOR THIS FILE
	FI.ITM	FAM,5,3,4;;	;FILE ACCESS MODE
	FI.ITM	ERM,5,5,7;;	;EXTERNAL RECORDING MODE
	FI.ITM	IRM,5,8,10;;	;INTERNAL RECORDING MODE
	FI.FLG	COD,5,11;;	;CODE CLAUSE SPECIFIED FOR THIS FILE
	FI.ITM	POS,5,12,17;;	;POSITION ON MULTIPLE-FILE TAPE
	FI.ITM	NXT,5,18,35;;	;LINK TO NEXT FILTAB ENTRY
	FI.ITM	LBL,6,2,3;;	;TYPE OF LABELS
	FI.FLG	INO,6,4;;	;INPUT OPENS IN PD
	FI.FLG	OUO,6,5;;	;OUTPUT OPENS IN PD
	FI.FLG	IOO,6,6;;	;I-O OPENS IN PD
	FI.FLG	ADV,6,7;;	;WRITE ADVANCING FLAG
	FI.FLG	DSD,6,8;;	;DEFINED IN SD
	FI.FLG	VLR,6,9;;	;VARIABLE LENGTH RECORDS
	FI.FLG	RER,6,10;;	;RE-RUN ON END OF REEL
	FI.FLG	RRC,6,11;;	;RE-RUN ON COUNT
	FI.FLG	FDD,6,12;;	;FD DEFINED
	FI.FLG	OPT,6,13;;	;FILE IS OPTIONAL
	FI.FLG	PSN,6,14;;	;WRITE POSITIONING FLAG
	FI.FLG	RMS,6,15;;	;RMS FILE
	FI.ITM	ORG,6,16,17;;	;ORGANIZATION
	FI.ITM	ACK,6,18,35;;	;ACTUAL KEY LINK
	FI.ITM	NBF,7,0,5;;	;NUMBER OF BUFFERS
	FI.ITM	DRL,7,18,35;;	;DATA RECORD LINK
	FI.ITM	ALK,8,0,17;;	;LINK TO FIRST ALTERNATE KEY IN AKTTAB
	FI.ITM	SDL,8,18,35;;	;SAME DEVICE LINK
	FI.ITM	VID,9,0,17;;	;VALUE-OF-ID LINK
	FI.ITM	VDW,9,18,35;;	;VALUE-OF-DW LINK
	FI.ITM	SAL,10,0,17;;	;SAME AREA LINK
	FI.SME	SBA,SAL;;	;SAME BUFFER AREA LINK
	FI.ITM	ERR,10,18,35;;	;ERROR USE
	FI.ITM	SRA,11,0,17;;	;SAME RECORD AREA
	FI.ITM	LCP,11,18,35;;	;LINAGE-COUNTER POINTER
	FI.ITM	LPP,12,0,17;;	;LINES PER PAGE
	FI.ITM	WFA,12,18,35;;	;WITH FOOTING AT
	FI.ITM	LAT,13,0,17;;	;LINES AT TOP
	FI.ITM	LAB,13,18,35;;	;LINES AT BOTTOM
	FI.ITM	DEB,14,0,17;;	;USE ON DEBUGGING
	FI.ITM	LCI,14,18,35;;	;LINAGE-COUNTER INITIALIZATION ROUTINE
	FI.ITM	LRS,15,0,17;;	;MINIMUM (LEAST) DATA RECORD SIZE
	FI.ITM	MRS,15,18,35;;	;MAXIMUM DATA RECORD SIZE
	FI.FLG	DRC,16,0;;	;DATA RECORDS CLAUSE PRESENT
	FI.FLG	ADR,16,1;;	;RECORD AREA ADDRESS SET
	FI.FLG	RM2,16,2;;	;RECORDING MODE DECLARATION
	FI.ITM	RD,16,3,5;;	;RECORDING DENSITY
	FI.ITM	RP,16,6,7;;	;RECORDING PARITY
	FI.FLG	ENT,16,8;;	;ERROR PROCEDURE ON FILE OPEN
	FI.FLG	DFR,16,9;;	;DEFERRED OUTPUT ISAM
	FI.FLG	BM,16,10;;	;BYTE MODE (MTA ONLY)
	FI.FLG	CKP,16,11;;	;CHECKPOINT ISAM FILE
	FI.FLG	AKS,16,12;;	;ALTERNATE RECORD KEYS HAVE BEEN SPECIFIED
	FI.FLG	KYE,16,13;;	;ERROR WHILE BUILDING KEY INFO FOR ISAM FILES
	FI.FLG	VRS,16,14;;	;VARIABLE RECORD SIZE SYNTAX
	FI.ITM	LOC,16,18,35;;	;LOCATION OF RECORD AREA
	FI.ITM	SKY,17,0,17;;	;SYMBOLIC KEY
	FI.ITM	RKY,17,18,35;;	;RECORD KEY
	FI.FLG	RLC,18,0;;	;FI.ALC POINTS TO [RECORD]
	FI.ITM	BLF,18,4,15;;	;BLOCKING FACTOR
	FI.ITM	ALN,18,16,28;;	;LINE NO. OF SAME [RECORD] AREA
	FI.ITM	ALC,18,16,35;;	;LN, CP COMBINED
	FI.ITM	ACP,18,29,35;;	;CHARACTER POSITION
	FI.ITM	VPP,19,0,17;;	;VALUE OF PROJ-PROG
	FI.ITM	RPG,19,18,35;;	;RPWTAB LINK
	FI.ITM	OWA,20,0,8;;	;OWNER ACCESS BITS.
	FI.ITM	OTA,20,9,17;;	;OTHER ACCESS BITS.
	FI.ITM	RTC,20,18,35;;	;COUNT OF RECORDS RETAINED.
	FI.SME	SPT,RTC;;	;ILDB TYPE POINTER TO FILE STATUS ENTRIES.
	FI.ITM	PFS,21,0,17;;	;FILE STATUS LINK
	FI.ITM	PEN,21,18,35;;	;ERROR NUMBER LINK.
	FI.ITM	PAC,22,0,17;;	;ACTION CODE LINK.
	FI.ITM	PIV,22,18,35;;	;VALUE OF ID LINK.
	FI.ITM	PBN,23,0,17;;	;BLOCK NUMBER LINK.
	FI.ITM	PRN,23,18,35;;	;RECORD NUMBER LINK.
	FI.ITM	PFN,24,0,17;;	;FILE NAME LINK.
	FI.ITM	PFT,24,18,35;;	;FILE TABLE LINK.
	FI.ITM	CKB,25,0,17;;	;CONVERT RELATIVE KEY BEFORE
	FI.ITM	CKA,25,18,35;;	;CONVERT RELATIVE KEY AFTER
	FI.ITM	CRC,26,0,7;;	;CHECKPOINT EVERY N RECORD COUNT
	FI.ITM	SID,26,8,15;;	;SIZE OF VALUE OF ID
	FI.ITM	FLN,26,16,28;;	;LINE NUMBER OF FD
	FI.ITM	FLC,26,16,35;;	;COMBINED LN,CP OF FD
	FI.ITM	FCP,26,29,35;;	;CHAR POS OF FD
	FI.ITM	NUM,27,0,17;;	;NUMBER OF THIS FILE
	FI.ITM	PRT,27,18,35;;	;VALUE OF PROTECTION CODE LINK
	FI.ITM	DEP,28,0,17;;	;TABLE-LINK TO DEPENDING ITEM
	FI.ITM	PAD,28,18,35;;	;PADDING CHARACTER
	FI.ITM	RKL,29,0,17;;	;POINTER TO RMS KEY ARG LIST IN LH
	FI.FLG	NOR,29,34;;	; WRITE / NO-WRITE FOR <CR> FOR ASCII STM
				;THE PRIMARY PURPOSE OF THIS FLAG IS TO
				; RESERVE THE BIT
	FI.FLG	ABL,29,35;;	;APPLY BASIC-LOCKING FLAG
	RADIX	8
>	;END OF DEFINE FITB.C
	SUBTTL	DATAB
;COMPILER'S DATAB DEFINITIONS
	DEFINE	DATB.C	<
	RADIX	10
	D.PNTR	DATTAB,DA
	DA.ITM	NAM,1,3,17;;	;NAMTAB LINK
	DA.ITM	SNL,1,18,35;;	;ITEM WITH SAME NAME
	DA.ITM	VAL,2,0,17;;	;VALUE LINK
	DA.SME	ARG,VAL;;	;ADDRESS OF LINKAGE PTR
	DA.ITM	LOC,2,18,35;;	;RUN-TIME LOCATION
	DA.ITM	POP,3,0,17;;	;LINK TO FATHER
	DA.SME	BRO,POP;;	;LINK TO BROTHER
	DA.ITM	SON,3,18,35;;	;LINK TO SON
	DA.ITM	LVL,4,0,5;;	;LEVEL
	DA.ITM	RES,4,6,11;;	;BYTE RESIDUE
	DA.FLG	LPC,4,12;;	;ITEM IS LINE-COUNTER OR PAGE-COUNTER
	DA.FLG	RBE,4,13;;	;ITEM IS REFERENCED BY AN ENTRY OR PD USING
	DA.ITM	USG,4,14,17;;	;USAGE
	DA.ITM	RPW,4,18,35;;	;LINK TO RPWTAB
	DA.ITM	CLA,5,0,1;;	;CLASS
	DA.FLG	SYL,5,2;;	;SYNC LEFT
	DA.FLG	SYR,5,3;;	;SYNC RIGHT
	DA.FLG	SGN,5,4;;	;SIGNED
	DA.FLG	BWZ,5,5;;	;BLANK WHEN ZERO
	DA.FLG	SUB,5,6;;	;SUBSCRIPTED
	DA.FLG	EDT,5,7;;	;EDITED
	DA.FLG	FAL,5,8;;	;FATHER/BROTHER LINK
	DA.FLG	DEF,5,9;;	;DEFINED
	DA.FLG	RBS,5,10;;	;REFERENCED BY 'SUM'
	DA.FLG	FAK,5,11;;	;ITEM HAS A FAKE NAME
	DA.FLG	RDS,5,12;;	;REFERENCED BY 'SOURCE' IN DETAIL
	DA.FLG	SCT,5,13;;	;ITEM IS A SUM COUNTER
	DA.FLG	JST,5,14;;	;JUSTIFIED
	DA.FLG	SSC,5,15;;	;SEPARATE SIGN CHARACTER
	DA.FLG	LSC,5,16;;	;LEADING SIGN CHARACTER
	DA.ITM	SCF,5,15,16;;	;SIGN CHARACTER FLAGS
	DA.FLG	DLL,5,17;;	;DEPENDING AT LOWER LEVEL
	DA.FLG	ERR,5,18;;	;DD ERROR
	DA.FLG	IDX,5,19;;	;INDEX
	DA.FLG	RDF,5,20;;	;REDEFINES
	DA.FLG	PIC,5,21;;	;PICTURE SEEN
	DA.FLG	DFS,5,22;;	;DEFINED IN FILE SECTION
	DA.FLG	DRC,5,23;;	;APPEARS IN DATA RECORDS CLAUSE
	DA.FLG	DEB,5,24;;	;[74] DEBUGGING ON DATA-NAME
	DA.FLG	SLL,5,25;;	;SYNC CLAUSE AT LOWER LEVEL
	DA.FLG	PWA,5,26;;	;PICTURE WORDS ALLOCATED
	DA.FLG	VHL,5,27;;	;VALUE AT HIGHER LEVEL
	DA.FLG	RDH,5,28;;	;REDEFINES AT HIGHER LEVEL
	DA.FLG	LKS,5,29;;	;LINKAGE SECTION
	DA.FLG	DPR,5,30;;	;DECIMAL POINT TO RIGHT OF ITEM
	DA.ITM	NDP,5,31,35;;	;NUMBER OF DECIMAL PLACES
	DA.ITM	EXS,6,0,17;;	;EXTERNAL SIZE
	DA.ITM	INS,6,18,35;;	;INTERNAL SIZE
	DA.ITM	NOC,7,0,14;;	;NO. OF OCCURENCES OF THIS ITEM
	DA.FLG	OCC,7,15;;	;OCCURS CLAUSE FOR THIS ITEM
	DA.ITM	LN,7,16,28;;	;LINE NUMBER
	DA.ITM	CP,7,29,35;;	;CHARACTER POSITION
	DA.ITM	LNC,7,16,35;;	;LN, CP
	DA.ITM	OCH,8,0,17;;	;HIGHER LEVEL OCCURS
	DA.ITM	DEP,8,18,35;;	;LINK TO DEPENDING ITEM
	DA.ITM	DCR,9,0,9;;	;[1346] DEPENDING CONVERSION ROUTINE
	DA.ITM	KEY,9,10,17;;	;[1346] NUMBER OF KEYS FOR OCCURS
	DA.ITM	XBY,9,18,35;;	;FIRST 'INDEXED BY' ITEM
	DA.ITM	FSC,10,6,11;;	;FLOAT OR SUPPRESSION CHAR.
	RADIX	8
>	;END OF DEFINE DATB.C
	SUBTTL	EXTAB
;COMPILER'S EXTAB DEFINITIONS
	DEFINE	EXTB.C	<
	RADIX	10
	D.PNTR	EXTTAB,EX
	EX.ITM	NAM,1,3,17;;	;NAMTAB LINK
	EX.ITM	SAM,1,18,35;;	;LINK TO ITEM WITH SAME NAME
	EX.FLG	NRS,2,0;;	;USED BY NON-RESIDENT SEGMENT
	EX.FLG	IND,2,1;;	;REFERENCE NEEDS INDIRECT (@) BIT
	EX.FLG	PID,2,2;;	;PROGRAM-ID ENTRY
	EX.FLG	ENT,2,3;;	;ENTRY ENTRY
	EX.FLG	CAL,2,4;;	;REFERENCED BY A CALL
	EX.ITM	CNT,2,15,17;;	;COUNT OF EXTRA WORDS ALLOCATED
	EX.ITM	HLD,2,18,35;;	;MISC USES (INCL HLDTAB LNK FOR CANCEL)
	RADIX	8
>	;END OF DEFINE EXTB.C
	SUBTTL	LITAB AND CONTAB
;COMPILER'S LITAB DEFINITIONS
	DEFINE	LITB.C	<
	RADIX	10
	D.PNTR	LITTAB,LI
	LI.FLG	EBC,1,3;;	;EBCDIC CHARACTERS
	LI.FLG	PUR,1,4;;	;PURE ASCII CHARACTERS
	LI.FLG	ALL,1,5;;	;ALL
	LI.FLG	NLT,1,6;;	;NUMERIC LITERAL
	LI.FLG	FGC,1,7;;	;FIGURATIVE CONSTANT
	LI.FLG	INT,1,8;;	;DECIMAL POINT
	LI.ITM	TYP,1,0,17;;	;TYPE CODE
	LI.ITM	NCH,1,9,17;;	;NUMBER OF CHARACTERS
	LI.ITM	FCC,1,18,35;;	;FIGURATIVE CONSTANT CODE
	RADIX	8
>	;END OF DEFINE LITB.C
;COMPILER'S VALTAB DEFINITIONS
	DEFINE	VATB.C	<
	RADIX	10
	D.PNTR VALTAB,VA
	VA.ITM	SIZ,1,5,13;;	;NUMBER OF CHARACTERS
	VA.ITM	BFC,1,7,13;;	;BEFORE FIRST CHAR (ILDB PTR)
	VA.ITM	LFC,1,14,20;;	;LOAD FIRST CHAR (LDB PTR)
	RADIX	8
>	;END OF DEFINE VATB.C
;COMPILER'S CONTAB DEFINITIONS
	DEFINE	COTB.C	<
	RADIX	10
	D.PNTR CONTAB,CO
	CO.ITM	NAM,1,3,17;;	;NAMTAB POINTER
	CO.ITM	SAM,1,18,35;;	;LINK TO ITEM WITH SAME NAME
	
	CO.ITM	DAT,2,0,17;;	;DATTAB LINK
	CO.ITM	NVL,2,18,35;;	;NUMBER OF VALUES
	CO.FLG	FIG,3,1;;	;FIGURATIVE CONSTANT
	CO.FLG	ALL,3,2;;	;ALL
	CO.FLG	SP,3,3;;	;SPACES
	CO.FLG	ZRO,3,4;;	;ZERO
	CO.FLG	QT,3,5;;	;QUOTE
	CO.FLG	HV,3,6;;	;HIGH-VALUE
	CO.FLG	LV,3,7;;	;LOW-VALUE
	CO.ITM	TAG,3,3,17;;	;TAG VALUE IF NOT FIGCON
	RADIX	8
>	;END OF DEFINE COTB.C
	SUBTTL	HLDTAB AND USETAB
;COMPILER'S HLDTAB DEFINITIONS
	DEFINE	HLTB.C	<
	RADIX	10
	D.PNTR HLDTAB,HL
	HL.ITM	NAM,1,1,15;;	;NAMTAB LINK
	HL.ITM	FLG,1,0,17;;	;PHASE E FLAGS
	HL.ITM	LNC,1,16,35;;	;LN&CP
	HL.ITM	LN,1,16,28;;	;LINE NUMBER
	HL.ITM	CP,1,29,35;;	;CHARACTER POSITION
	HL.ITM	RD,1,1,17	; [415] RD LINK FOR TYPE 14
	HL.ITM	CID,1,18,35	; [415] CID LEVEL FOR TYPE 14
	HL.ITM	COD,2,0,8;;	;CODE
	HL.ITM	QAL,2,9,17;;	;NUMBER OF QUALIFIERS
	HL.ITM	LNK,2,18,35;;	;LINK TO A TABLE
	HL.ITM	FCD,2,0,8;	;FULL CODE
	HL.ITM	QNM,3,18,35;;	HALF WORDS OF NAMTAB LINKS FOR QUALIFIERS
	RADIX	8
>	;END OF DEFINE HLTB.C
;COMPILER'S USETAB DEFINITIONS
	DEFINE	USTB.C	<
	RADIX	10
	D.PNTR	USETAB,US
	US.ITM	TYP,1,3,11;;	;ENTRY TYPE
	US.FLG	XTR,1,17;;	;EXTRA WORDS FOLLOW
	US.ITM	PRO,1,18,35;;	;PROTAB LINK TO ASSOCIATED SECTION
	US.ITM	CNT,2,6,17;;	;COUNT OF EXTRA WORDS
	RADIX	8
>	;END OF DEFINE USTB.C
	SUBTTL	FLOTAB
;COMPILER'S FLOTAB DEFINITIONS
	DEFINE	FLTB.C	<
	RADIX	10
	D.PNTR	FLOTAB,FL
	FL.FLG	PND,1,0;;	;PROCEDURE-NAME DEFINITION
	FL.FLG	SPF,1,1;;	;SUBJECT OF PERFORM
	FL.FLG	OPF,1,2;;	;OBJECT OF PERFORM
	FL.FLG	SAL,1,3;;	;SUBJECT OF ALTER
	FL.FLG	OAL,1,4;;	;OBJECT OF ALTER
	FL.FLG	OGO,1,5;;	;OBJECT OF GO
	FL.FLG	OEN,1,6;;	;OBJECT OF ENTER
	FL.FLG	DEB,1,7;;	;OBJECT OF USE FOR DEBUGGING
	FL.FLG	TAG,1,8;;	;INLINE PERFORM (LINK IS TO TAGTAB)
	FL.FLG	QUA,1,16;;	;QUALIFIED ENTRY
	FL.FLG	RDC,1,17;;	;REFERENCED IN DECLARATIVES
	FL.ITM	PRO,1,18,35;;	;PROTAB LINK
	FL.ITM	NAM,2,1,15;;	;NAMTAB POINTER
	FL.ITM	NLC,2,1,35;;	;NAMTAB POINTER, LN, CP
	FL.ITM	LN,2,16,28;;	;LINE NUMBER
	FL.ITM	LNC,2,16,35;;	;LN, CP
	FL.ITM	CP,2,29,35;;	;CHARACTER POSITION
	FL.SME	POS,CP;;	;CHARACTER POSITION
	RADIX	8
>	;END OF DEFINE FLTB.C
	SUBTTL	PROTAB
;COMPILER'S PROTAB DEFINITIONS
	DEFINE	PRTB.C	<
	RADIX	10
	D.PNTR	PROTAB,PR
	PR.ITM	NAM,1,3,17;;	;NAMTAB LINK
	PR.ITM	SNL,1,18,35;;	;ITEM WITH SAME NAME
	PR.ITM	LSC,2,0,17;;	;LINK TO SECTION
	PR.ITM	GNW,2,0,17;;	;GENWRD FOR NEXT SECTION
	PR.ITM	PRF,2,18,35;;	;ADDRESS OF USE PERFORM
	PR.ITM	AOB,3,0,17;;	;AOBTAB LINK (ALTER)
	PR.ITM	PRI,3,18,24;;	;PRIORITY
	PR.FLG	SEC,3,25;;	;SECTION/PARAGRAPH
	PR.FLG	EXR,3,26;;	;EXIT REQUIRED
	PR.FLG	DEF,3,27;;	;ITEM DEFINED
	PR.FLG	ALT,3,28;;	;ALTERABLE
	PR.FLG	ARS,3,29;;	;ALTER TO SAME OR RESIDENT SEG
	PR.FLG	ANR,3,30;;	;ALTER TO NON-RESIDENT SEG
	PR.FLG	RFD,3,31;;	;REFERENCED IN DECLARATIVES
	PR.FLG	DFD,3,32;;	;DEFINED IN DECLARATIVES
	PR.FLG	MDF,3,33;;	;MULTIPLY DEFINED PROCEDURE
	PR.FLG	TUT,3,34;;	;TERMINATED WITH UNCONDITIONAL TRANSFER
	PR.FLG	APP,3,35;;	;ITEM APPEARED IN SECNAM
	PR.ITM	XTW,4,0,17;;	;EXIT WORD ADDRESS
	PR.ITM	FLO,4,18,35;;	;FLOTAB LINK
	PR.WRD	DUP,5;;		;DEBUG USE & ERROR USE PROCEDURE
	PR.ITM	DEB,5,0,17;;	;ADDRESS OF DEBUG USE PROCEDURE
	PR.ITM	SFI,5,18,35;;	;SYMBOLIC FIRST ADDRESS  (I.E. TAG NUMBER)
	RADIX	8
>	;END OF DEFINE PRTB.C
	SUBTTL	CDTAB & MNETAB
;COMPILER'S CDTAB DEFINITIONS
	DEFINE	CDTB.C	<
	RADIX	10
	D.PNTR	CDTAB,CD
	CD.ITM	NAM,1,3,17
	CD.ITM	SNL,1,18,35;;	;SAME NAME LINK
	CD.FLG	OUT,2,0
	CD.ITM	INT,2,0,1
	CD.ITM	LIN,2,16,28	;LINE NUMBER
	CD.ITM	CHR,2,29,35;;	;CHARACTER POSITION
	CD.ITM	RDL,3,0,17;;	;RECORD DATA LINK
	CD.ITM	QNL,3,18,35;;	;Q-NAME LINK
	CD.ITM	Q1L,4,0,17;;	;SUB-Q1 LINK
	CD.ITM	Q2L,4,18,35;;	;SUB-Q2 LINK
	CD.ITM	Q3L,5,0,17;;	;INPUT: SUB-Q3 LINK, OUTPUT: DEST TABLE OCC LK
	CD.ITM	MDL,5,18,35;;	;MESSAGE OR INDEX LINK
	CD.ITM	DC,6,0,17;;	;DESTINATION COUNT
	CD.ITM	NAL,6,18,35;;	;SOURCE OF DEST NAME LINK
	CD.ITM	TLL,7,0,17;;	;TEXT LENGTH LINK
	CD.ITM	KYL,7,18,35;;	;KEY LINK
	CD.ITM	SKL,8,0,17;;	;STATUS KEY LINK
	CD.ITM	COL,8,18,35;;	;COUNT LINK
	CD.ITM	FDL,9,0,17;;	;FAKE DATAB LINK
	CD.ITM	DUP,9,18,35;;	;DEBUG USE PROCEDURE
	RADIX	8
>	;END OF DEFINE CDTB.C
;COMPILER'S MNETAB DEFINITIONS
	DEFINE	MNTB.C	<
	RADIX	10
	D.PNTR	MNTAB,MN
	MN.ITM	NAM,1,3,17
	MN.ITM	SNL,1,18,35;;	;SAME NAME LINK
	MN.FLG	SWT,2,0;;	;SWITCH
	MN.FLG	SYC,2,7;;	;SYMBOLIC CHARACTER
	MN.ITM	SWN,2,30,35;;	;SWITCH NUMBER
	MN.ITM	RCV,2,18,35;;	;REPORT CODE VALUE (2 BYTES OR LITAB ADDRESS)
	MN.FLG	ESC,2,18;;	;SYMBOLIC CHAR IS IN EBCDIC COLL. SEQ.
	MN.ITM	SCV,2,27,35;;	;SYMBOLIC CHARACTER VALUE
	MN.ITM	LNC,3,16,35;;	;LN & CP
	RADIX	8
>	;END OF DEFINE MNTB.C
	SUBTTL	AKTTAB & DEBTAB & RENTAB
	DEFINE	AKTB.C	<
	RADIX	10
	D.PNTR	AKTTAB,AK
	AK.ITM	FLK,1,1,17;;	;FILTAB LINK	
	AK.ITM	DLK,1,18,35;;	;DATAB LINK
	AK.FLG	DUP,2,0;;	;DUPLICATES ALLOWED
	RADIX	8
>	;END OF DEFINE AKTB.C
	DEFINE	DBTB.C	<
	RADIX	10
	D.PNTR	DEBTAB,DB
	DB.ITM	DAT,1,1,17;;	;DATAB LINK
	DB.FLG	ARO,1,18;;	;ALL REFERENCES OF
	DB.ITM	DUP,1,21,35;;	;DEBUG USE PROCEDURE (USETAB LINK)
	DB.FLG	IDP,2,0;;	;INVOKE DEBUG PROCEDURE
	DB.ITM	LN,2,5,17;;	;LINE NUMBER
	DB.ITM	PRM,2,18,35;;	;PARAM BASE
	RADIX	8
>	;END OF DEFINE DBTB.C
	SUBTTL	RESTAB
	DEFINE RETB.C	<
	RADIX	10
	D.PNTR	RESTAB,RE
	RE.FLG	ROU,1,0;;	;RESULT TO BE ROUNDED
	RE.ITM	EOP,1,18,35;;	;LINK TO EOPTAB
	
	RE.ITM	NIP,2,0,17;;	;NUMBER OF INTERGRAL PLACES IN ITEM
	RE.ITM	NDP,2,18,35;;	;NUMBER OF DECIMAL PLACES IN ITEM
	RADIX 8
>	;END OF DEFINE RETB.C
	SUBTTL	TAGTAB
	DEFINE TATB.C	<
	RADIX	10
	D.PNTR	TAB,TA
	TA.FLG	IND,1,0;;	;INDIRECT POINTER
	TA.FLG	CPO,1,1;;	;TAG CREATED IN PHASE O
	TA.FLG	ANO,1,2;;	;ANOTHER TAG AT +1
	TA.ITM	REF,1,3,17;;	;REFERENCE COUNT
	TA.ITM	PC,1,18,35;;	;PC FIELD
	RADIX 8
>	;END OF DEFINE TATB.C
	SUBTTL	ALTAB
	DEFINE ALTB.C	<
	RADIX	10
	D.PNTR	ALTAB,AL
	AL.FLG	TAG,1,0;;	;0=PROTAG LINK OR 1=SPECIAL TAG
	AL.ITM	ADD,1,21,35;;	;PROTAB LINK
	RADIX 8
>	;END OF DEFINE ALTB.C
	SUBTTL	SECTAB
	DEFINE SETB.C	<
	RADIX	10
	D.PNTR	SECTAB,SE
	SE.ITM	LIT,1,0,17;;	;STARTING ADDRESS OF LITERALS
	SE.ITM	NAS,2,0,17;;	;NUMBER OF ALTAB ENTRIES
	SE.ITM	SAA,2,18,35;;	;STARTING ADDRESS OF ALTAB
	RADIX 8
>	;END OF DEFINE SETB.C
	SUBTTL	EOPTAB
	DEFINE EOTB.C	<
	RADIX	10
	D.PNTR	EOPTAB,EO
	EO.FLG	IDO,1,0;;	;0=OPERATOR,1=OPERAND
	EO.ITM	COD,1,1,8;;	;CODE
	EO.ITM	FLG,1,9,15;;	;FLAGS
	EO.ITM	LN,1,16,28;;	;LINE NUMBER
	EO.ITM	CP,1,29,35;;	;CHARACTER POSITION
	EO.ITM	CD1,2,28,35;;	;CODE
	EO.FLG	IDL,1,1;;	;0=NON-LITERAL,1=LITERAL
	EO.ITM	USG,1,2,4;;	;USAGE
	EO.FLG	SYL,1,5;;	;SYNC LEFT
	EO.FLG	SYR,1,6;;	;SYNC RIGHT
	EO.FLG	NNU,1,7;;	;0=NON-NUMERIC, 1=NUMERIC
	EO.FLG	JUS,1,8;;	;0=JUSTIFIED LEFT, 1=JUSTIFIED RIGHT
	EO.FLG	LNK,1,9;;	;OPERAND IS IN LINKAGE SECTION
	EO.FLG	TRU,2,0;;	;IGNORE TRUNCATION ERRORS
	EO.FLG	ROU,2,1;;	;ROUNDED CLAUSE PRESENT
	EO.FLG	REF,2,2;;	;OPERAND REFERENCES FLOTAB
	EO.FLG	ASC,2,3;;	;ASCENDING KEY
	EO.FLG	TMP,2,5;;	;OPERAND IS TEMP OR AC'S
	EO.ITM	NUM,2,12,17;;	;NUMBER OF FOLLOWING ENTRIES
	EO.ITM	TYP,2,18,20;;	;TYPE
	EO.ITM	ADR,2,21,35;;	;ADDRESS OF OPERAND
	EO.FLG	NIC,1,2;;	;1=NUMERIC,0=NON-NUMERIC
	EO.FLG	FIG,1,3;;	;FIGURATIVE CONSTANT
	EO.FLG	LIT,1,4;;	;LITERAL CONTAINS NON-SIXBIT CHARACTERS
	EO.FLG	TOD,1,8;;	;TODAY
	EO.FLG	TAL,1,9;;	;TALLY
	EO.FLG	SPC,1,10;;	;SPACES
	EO.FLG	ZRO,1,11;;	;ZERO
	EO.FLG	QUO,1,12;;	;QUOTE
	EO.FLG	HIG,1,13;;	;HIGH-VALUES
	EO.FLG	LOW,1,14;;	;LOW-VALUES
	EO.FLG	ALL,1,15;;	;ALL
	EO.ITM	SIZ,2,0,17;;	;SIZE OF LITERAL
	EO.ITM	VAL,2,18,35;;	;TABLE LINK TO VALTAB
	RADIX 8
>	;END OF DEFINE EOTB.C
	SUBTTL	TEMTAB
	DEFINE TMTB.C	<
	RADIX	10
	D.PNTR	TEMTAB,TM
	TM.ITM	RD,1,0,17;;	;RD LINK
	TM.ITM	LNK,1,18,35;;	;LINK TO HLDTAB
	TM.ITM	NUM,2,0,17;;	;NUMBER OF IDS
	TM.ITM	BRO,2,18,35;;	;TEMTAB LINK TO NEXT RD
	TM.SME	LVL,RD;;	;LEVEL
	TM.ITM	TGN,1,3,17;;	;TAG NO.
	TM.SME	COD,LNK;;	;CODE FOR XX OF END-XX
	RADIX 8
>	;END OF DEFINE TMTB.C
	SUBTTL	CPYTAB
	DEFINE CPTB.C	<
	RADIX	10
	D.PNTR	CPYTAB,CP
	RADIX 8
>	;END OF DEFINE CPTB.C
	SUBTTL	DBDTAB
	DEFINE DDTB.C	<
	RADIX	10
	D.PNTR	DBDTAB,DD
	RADIX 8
>	;END OF DEFINE DDTB.C
	SUBTTL	RENTAB
	DEFINE RNTB.C	<
	RADIX	10
	D.PNTR	RENTAB,RN
	RN.ITM	01,1,0,17;;	;01-LEVEL DATAB LINK
	RN.ITM	66,1,18,35;;	;66-LEVEL DATAB LINK
	RADIX 8
>	;END OF DEFINE RNTB.C
	SUBTTL	PRGTAB
;COMPILER'S PROGRAM TABLE DEFINITIONS
	DEFINE	PGTB.C	<
	RADIX	10
	D.PNTR	PRGTAB,PG
	PG.ITM	NAM,1,3,17;;	;NAMTAB LINK
	PG.ITM	LVL,1,18,26;;	;LEVEL NUMBER OF CONTAINED PROGRAM
	PG.FLG	COM,1,27;;	;PROGRAM IS COMMON
	PG.FLG	INI,1,28;;	;PROGRAM IS INITIAL
	PG.FLG	FAL,1,29;;	;FATHER/BROTHER LINK
	PG.ITM	POP,2,0,17;;	;LINK TO FATHER
	PG.SME	BRO,POP;;	;LINK TO BROTHER
	PG.ITM	SON,2,18,35;;	;LINK TO SON
	PG.ITM	TAG,3,18,35;;	;TAG # TO JUMP OVER CONTAINED PROGRAM
	RADIX	8
>	;END OF DEFINE PGTB.C
	SUBTTL	RPWTAB
;COMPILER'S RPWTAB DEFINITIONS
;THIS PART IS USED IN PHASES A THROUGH E.
	DEFINE	RWTB.A	<
	RADIX	10
	D.PNTR RPWTAB,RW
	;;THE FOLLOWING PERTAIN TO 'RD' ENTRIES
	RW.ITM	NAM,1,3,17;	NAMTAB LINK
	RADIX	8
>	;END OF DEFINE RWTB.A
;THIS PART IS USED IN PHASES C THROUGH E.
	DEFINE	RWTB.B	<
	RADIX	10
	D.PNTR	RPWTAB,RW
	RW.FLG	DEF,1,2;;	;DEFINED FLAG
	RW.ITM	SAM,1,18,35;;	;SAME-NAME LINK
	RW.ITM	BRO,2,0,15;;	;BROTHER LINK
	RW.ITM	LN,2,16,28;;	;LINE NUMBER
	RW.ITM	CP,2,29,35;;	;CHAR POSITION
	RW.ITM	LNC,2,16,35;;	;LN,CP
	RW.ITM	FIL,3,0,17;;	;FILTAB LINK
	RW.ITM	FGP,3,18,35;;	;FIRST GROUP
	RW.ITM	LC,4,0,17;;	;LINE-COUNTER
	RW.ITM	PC,4,18,35;;	;PAGE-COUNTER
	RW.ITM	PHL,5,0,8;;	;HEADING LINE
	RW.ITM	CFL,5,9,17;;	;FOOTING LINE
	RW.ITM	FDE,5,18,26;;	;FIRST DETAIL
	RW.ITM	LDE,5,27,35;;	;LAST DETAIL
	RW.ITM	PAG,6,0,8;;	;PAGE LIMIT
	RW.FLG	INI,6,9;;	;THERE IS AN INDICATE FOR THIS RD
	RW.FLG	RHL,6,10;;	;[1373] REPORT HEADING LINE SEEN
	RW.ITM	RWT,6,18,35;;	;OBJECT RPWTAB ENTRY
	RW.ITM	RHR,7,0,17;;	;TAG OF RH ROUTINE
	RW.ITM	RFR,7,18,35;;	;TAG OF RF ROUTINE
	RW.ITM	PHR,8,0,17;;	;TAG OF PH ROUTINE
	RW.ITM	PFR,8,18,35;;	;TAG OF PF ROUTINE
	RW.ITM	GIR,9,0,17;;	;TAG OF GROUP-INDICATE ROUTINE
	RW.ITM	COD,9,18,35;;	;MNEMONIC LINK OF CODE
	RW.ITM	CID,10,0,17;;	;LINK TO FIRST CONTROL ID
	RW.ITM	NCI,10,18,35;;	;NUMBER OF CONTROL ID'S
	RW.ITM	BKT,11,0,17;;	;TAG OF 'BREAK TEST' ROUTINE
	RW.ITM	FBT,11,18,35;;	;TAG OF 'FINAL BREAK' ROUTINE
	RW.ITM	FCI,12,0,17;;	;LINK TO FIRST CONTROL IDENTIFIER
	;;THE FOLLOWING ARE FOR THE GROUP ITEMS IN RPWTAB.
	RW.ITM	RDL,1,1,17;;	;[1451]LINK TO RD
	RW.SME	DAT,SAM;;	;LINK TO DATAB
	RW.ITM	LCD,2,0,1;;	;LINE CODE
	RW.ITM	NLC,2,2,3;;	;NEXT LINE CODE
	RW.ITM	SCD,2,4,5;;	;SOURCE CODE
	RW.ITM	TYP,2,6,8;;	;TYPE CODE
	RW.FLG	RSF,2,9;;	;RESET ON FINAL
	RW.FLG	RSI,2,10;;	;RESET ON IDENTIFIER
	RW.ITM	RST,2,9,10;;	;BOTH RESET FLAGS
	RW.FLG	GPI,2,11;;	;GROUP INDICATE
	RW.FLG	GEN,2,12;;	;GENERATE EXISTS FOR THIS GROUP
	RW.FLG	FNC,2,13;;	;FINAL CONTROL
	RW.FLG	RLS,2,15;;	;REFERENCED BY LINE STATEMENT
	RW.FLG	RSU,2,16;;	;REFERENCED BY 'SUM UPON'
	RW.ITM	NSI,2,18,35;;	;NUMBER OF SUM ID'S
	RW.ITM	LIN,3,0,8;;	;LINE NUMBER
	RW.ITM	COL,3,9,17;;	;COLUMN NUMBER
	RW.ITM	NXT,3,18,26;;	;NEXT LINE NUMBER
	RW.SME	RES,LC;;	;DATAB LINK TO 'RESET'
	RW.SME	SLK,PC;;	;SOURCE, SUM OR VALUE LINK
	RW.ITM	UPN,5,0,17;;	;'UPON' LINK
	RW.ITM	USE,5,18,35;;	;'USE' PROCEDURE
	RW.ITM	SUP,6,0,17;;	;RUNTIME LOCATION SET TO -1 IF 'SUPPRESS'
	RW.ITM	NUP,6,18,35;;	;NUMBER OF UPON IDENTIFIERS
	;WORDS 7 THRU 25 ARE USED TO STORE THE SOURCE ITEM
	; (ALLOW FOR 3 SUBSCRIPTS WITH ADDITIVES)
	; (SEE P.MAC, SYMBOL .RWSRC )
;DEFINITIONS USED FOR UPON TABLE
	RW.ITM	UP1,1,18,35;;	;DATAB LINK TO UPON DATA ITEM
	RADIX	8
>	;END OF DEFINE RWTB.B
;USE THIS TO DEFINE THE WHOLE TABLE.
	DEFINE	RWTB.C	<
	RWTB.A
	RWTB.B
>	;END OF DEFINE RWTB.C
	SUBTTL	RCOTAB
	DEFINE	RCTB.C	<
	RADIX	10
	D.PNTR	RCOTAB,RC
	RC.ITM	DCI,1,0,17;;	;DATAB LINK FOR CONTROL ITEM
	RC.ITM	SAV,1,18,35;;	;%PARM AREA FOR SAVING VALUE
	RC.ITM	CHG,2,0,17	;LINK TO CH GROUP
	RC.ITM	CFG,2,18,35;;	;LINK TO CF GROUP
	RC.ITM	REE,3,0,17;;	;TAG OF RESET ROUTINE
	RC.ITM	BRO,3,18,35;;	;LINK TO BROTHER CONTROL IDENTIFIER
	RC.ITM	BR1,4,0,17;;	;LINK TO BROTHER CONTROL IDENTIFIER
	RC.ITM	FAL,4,18,35;;	;LINK TO FATHER
	RADIX	8
>	;END OF DEFINE RCTB.C
	SUBTTL	DEFINE THE SYMBOLS
;CALL THE MACROS ONCE SO THAT WE GET THE SYMBOLS IN THE CREF LISTING.
	DEFINE	D.PNTR	(TBLNAM,TBLID),<
	XLIST
		DEFINE	TBLID'.ITM	(ITMID,WRDNO,LFTBIT,RTBIT)<	TBLID'%'ITMID==<POINT RTBIT-LFTBIT+1,WRDNO-1,RTBIT>>
		DEFINE	TBLID'.FLG	(ITMID,WRDNO,BITNO)<	TBLID'%'ITMID==<POINT 1,WRDNO-1,BITNO>>
		DEFINE	TBLID'.SME	(ITM1,ITM2)<	TBLID'%'ITM1==TBLID'%'ITM2>
		DEFINE	TBLID'.WRD	(ITMID,WRDNO)<	TBLID'%'ITMID==WRDNO-1>
	LIST
>
	DEFINE	GEN	(TABLE)<
	IRP	TABLE,<
	PAGE
	SUBTTL	TABLE
	TABLE
>	;END OF TABLE
>	;END OF DEFINE GEN.
	LALL
	GEN	<FITB.C,DATB.C,EXTB.C,LITB.C,VATB.C,COTB.C,HLTB.C,USTB.C,
		FLTB.C,PRTB.C,CDTB.C,MNTB.C,AKTB.C,PGTB.C,RWTB.C,DBTB.C,
		RETB.C,TATB.C,ALTB.C,SETB.C,EOTB.C,TMTB.C,CPTB.C,DDTB.C,
		RNTB.C,RCTB.C>
	PURGE	GEN
	XALL
	SUBTTL	PREVENT LISTING ELSEWHERE.
	DEFINE	NOLIST	(TABLE)<
	IRP	TABLE,<NLIST0	TABLE>
>	;END OF DEFINE NOLIST.
	DEFINE	NLIST0	(A)<NLIST1	A>
	DEFINE	NLIST1	(NAM,TPE)<
		DEFINE	NAM'%'TPE<
		XLIST
		NAM'.'TPE
		LIST
>	;END OF DEFINE NAM'%'TPE.
>	;END OF DEFINE NLIST1
	NOLIST	<<FITB,C>,<DATB,C>,<EXTB,C>,<LITB,C>,<VATB,C>,<COTB,C>,
		<HLTB,C>,<USTB,C>,<FLTB,C>,<PRTB,C>,<CDTB,C>,<MNTB,C>,
		<AKTB,C>,<PGTB,C>,<RWTB,A>,<RWTB,B>,<RWTB,C>,<DBTB,C>,
		<RETB,C>,<TATB,C>,<ALTB,C>,<SETB,C>,<EOTB,C>,<TMTB,C>,
		<CPTB,C>,<DDTB,C>,<RNTB,C>,<RCTB,C>>
	PURGE	NOLIST
	SUBTTL	MACROS TO GENERATE CODE.
;REDEFINE THE MACROS TO GENERATE BYTE POINTERS INSTEAD OF SYMBOLS.
	DEFINE	D.PNTR	(TBLNAM,TBLID),<
	XLIST
	DEFINE TBLID'.ITM (ITMID,WRDNO,LFTBIT,RTBIT),<
		XLIST
TBLID'.'ITMID::	TBLID'%'ITMID+<TA>B17
		LIST
	>	;;END OF DEFINE TBLID'.ITM
	DEFINE TBLID'.FLG (FLGID,WRDNO,BITNO),<
		XLIST
		TBLID'.ITM	FLGID,WRDNO,BITNO,BITNO
		LIST
	>	;;END OF DEFINE TBLID'FLG
	DEFINE	TBLID'.SME	(ID1,ID2)<
		XLIST
		TBLID'.'ID1==:TBLID'.'ID2
		LIST
	>	;;END OF DEFINE TBLID'.SME
	DEFINE	TBLID'.WRD	(ITMID,WRDNO)<
		XLIST
		TBLID'.'ITMID==:WRDNO-1
		LIST
	>	;;END OF DEFINE TBLID'.WRD
	LIST
>	;END OF DEFINE D.PNTR
	END