Google
 

Trailing-Edge - PDP-10 Archives - CFS_TSU04_19910205_1of1 - update/cblsrc/dtree.mac
There are 14 other files named dtree.mac in the archive. Click here to see a list.
; UPD ID= 1534 on 2/22/84 at 9:33 AM by HOFFMAN                         
TITLE	DTREE	FOR COBOL V13
SUBTTL	PROCEDURE DIVISION SYNTAX TREE		W.NEELY/CAM/SEB/MEM

	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, 1985 BY DIGITAL EQUIPMENT CORPORATION


	SEARCH	P
	%%P==:%%P
	DBMS6==:DBMS6
	DBMS==:DBMS
	MCS==:MCS
	TOPS20==:TOPS20

TWOSEG
	.COPYRIGHT		;Put standard copyright statement in REL file
SALL
.HWFRMT
RELOC	400000

ENTRY	DTREE
DTREE:
;EDITS
;NAME	DATE		COMMENTS
;V13*****************
;MEM	4-Nov-86	[1635] Remove edit 1630 and fix IF (A EQUALS B(1:2)) 
;				in COBOLD
;MEM	29-Sep-86	[1630] Fix IF (A EQUALS B(1:2)) ...
;MJC	29-Oct-85	[1611] Fix edit 1602 END-IF crash at PD424.
;MJC	15-Jul-85	[1602] Fix NEXT SENTENCE broken by edit 1541
;MJC	21-Jun-85	[1600] Put a count of REPLACING subs in genfil
;MJC	 4-Apr-85	[1573] Fix edit 1556. Add PD158A for cbl115 error
;				on USE ...
;JEH	22-MAR-85	[1564] Fix 'set condition-name' code.
;MJC	22-Jan-85	[1556] Add nodes to shut off FPERWD after PD153.
;MJC	 4-Jan-85	[1554] Let STOP RUN be followed by ENDXX.
;MJC	 3-Dec-84	[1553] Make END-EVALUATE go back to PA823 when done.
;				Make in-line PERFORM push a node.
;				Flag dangling ELSE and WHEN with E.855
;V12B****************
;SMI	 6-Dec-82	[1437] Give error message for all undefined errors on a DISPLAY line.
;RLF	17-Sep-82	[1405] Give fatal error if NEXT SENTENCE after ELSE does not end with period.
;SMI	25-Aug-82	[1401] Generate error for statements in EXIT paragraph.
;DMN	 5-Mar-82	[1343] 68274 converter does not convert NOTE into a comment.
;RJD	29-Jan-82	[1334] Supersedes edits 1322 and 1326.
;WTK	 8-Oct-81	[1322] Check for unconditional GO TO in last paragraph of program.
;DMN	 7-Oct-81	[1321] Allow multiple file-name OPEN in USE statement.
;JSM	 3-Aug-81	[1313] Check for IF <cond> paragraph-name.
;JSM	16-Jun-81	[1132] *** Not used ***
;				Turn off OPEN EXTEND in COBOL-68

;V12B****************
;JSM	 2-Feb-81	[1116] Allow only one BY in UNSTRING.
;CLRH	18-JUN-80	[1026] CHECK MOVE CURRENCY STATUS FOR A VALID RECORD.
;DMN	 2-MAY-80	[1016] EDIT 1002 WAS TOO AMBITIOUS, REMOVE PART OF THE EDIT.
;JEH	22-APR-80	[1012] COBOL-74 LOOPS IF DECLARATIVES IS MIS-SPELLED.
;DMN	26-MAR-80	[1002] ADD CHECK FOR ILLEGAL OR MISSING CALL/ENTER ARGS.
;LEM	14-MAR-80	[776] CHK IF WE NEED TO REGET PRESENT TOKEN
			;     ALSO FIX SYNTAX TREE TO ALLOW CONSOLE AS TTY FOR "ACCEPT"   
;LEM	14-MAR-80	[775]  FIX DISPLAY "LIT" UPON MNEMO WITH NO ADVANCING WHEN  MNEMO ISNT DEFINED.
;LEM	25-OCT-79	[754] FIX "FIGCN" "AFTER ADVANCING " TO WORK

;V12A****************
;MFY	 3-JUN-79	[714] BREAK UP LONG LINES DUE TO SIRUS BUG
;DAW	 6-MAR-79	[652] ALLOW NULL PARAGRAPH BEFORE "END DECLARATIVES"
;DAW	27-FEB-79	[642] ALLOW SUBSCRIPTED ITEM IN "MOVE CURRENCY STATUS OF RUN-UNIT TO .."
;DMN	12-DEC-78	[613] MAKE IT POSSIBLE TO BUILD COMPILER WITH DBMS=0 (THIS WAS IN .BWR FILE)
;DMN	28-NOV-78	[602] ALLOW NULL SECTION IN PROCEDURE DIVISION.

;V12*****************
;DMN	 4-OCT-78	[573] ALLOW NULL PARAGRAPHS IN DECLARATIVES.
;EHM	06-APR-78	[533] MAKE STOP RUN WORK FOR WHEN IN SEARCH

;V11*****************
;BSM    14-NOV-77	[523] FIX "OPEN JOUR" STATEMENT FOR EXCL. UPDATE

;V10*****************
;EHM	10-OCT-77	[520] CORRECT ERROR HANDLING FOR UNDEFINED DATA
;				ITEMS IN A USING CLAUSE.
;EHM	30-SEP-77	[516] ALLOW ENTRY AFTER EXIT PROGRAM BUT NOT AFTER EXIT (PARAGRAPH).
;SSC	27-SEPT-77	ADD "OPEN & CLOSE & DELETE TRANSACTION"
;			ADD "FIND REC VIA CURRENT SET USING ..."
;			ADD "DELETE ... MEMBERS ..."
;MDL	19-JUL-77	[504] ALLOW "STRING" VERBS TO BEGIN IN A-MARGIN
;			LIKE OTHER VERBS AND CATCH MORE CASES OF
;			IMPROPER SYNTAX SUCH AS "STRING DELIMITED...".
;SSC	27-APR-77	REFIX OPEN JOURNAL STATEMENT
;VR	5-JAN-77	[457] GIVE FATAL ERROR FOR ENTRY IN EXIT PARAGRAPH
;SSC	28-JUL-76	ENHANCED RETAIN & FREE TREES TO SUPPORT DBMS S. U.
;	10-AUG-76	[435] UNDO EDIT 400, WHICH CAUSES PROBLEM IF DBMS PROG HAS NO DECLARITIVES
;	01/27/76	[400] FIX TREE SO DBMS SECTION COMES AFTER ANY DECLARATIVES
;	01/26/76	[376] FIX ERROR RECOVERY FOR ERROR IN DIVIDE STATMENT
;DBT	12/1/74		CHANGE PD7. TO PD7.0 TO AVOID ONESEG CONFLICT
;DBT	12/17/74	REMOVE EDIT 212 WHICH REMOVED THE CANCEL STATEMENT
;			PUT PA250. BACK IN PD329.
;GPS	12/23/74	ADD SIMULTANEOUS UPDATE
;********************

;[221] /ACK	ALLOW SUBSCRIPTED VARYING ON SEARCHES.
; EDIT 313 FIX RECOVERY FOR UNDEFINED VARIBLE IN A COMPUTE STATEMENT.
; EDIT 311 FIX STRING AS ATTEMPTED USE AS PARA NAME, ALSO FIX MISSING DELIMITER
; EDIT 307 FIX CANCEL
; EDIT 276 CHECK IF DATA NAME IS RECORD NAME AS REQUIRED
; EDIT 212 "CANCEL IS NOT IMPLEMENTED YET..."
; EDIT 171 MAKES ENTER COBOL EQUIVALENT TO CALL.
; EDIT 137 GIVE ERROR MESSAGE IF SUBSCRIPT IS IN LINKAGE
;		SECTION OR IF SUBSCRIPT IS SUBSCRIPTED.
; EDIT 165 FIXES COMPILER LOOP IF RIGHT PAREN MISSING FOR SUBSCRIPTED DATA-NAME.
; EDIT 155 FIXES "ADDRESS CHECK..." WHEN SORT FILE SHARES SAME BUFFER AREA
; EDIT 151 FIXES UNBALL PARENTHESIS PROBLEM IN COMPUTE STATEMENT
; EDIT 111 FIXES COMPILER LOOP FOR SEARCH ALL.. AT END STOP RUN-- STATEMENT
; EDIT 110 OPEN STATEMENT DOES NOT GIVE PERIOD ASSUMED MESSAGE IF A
;		 PERIOD IS MISSING AND STATEMENT IS LAST ONE IN A PARA.
$ STRTD.,PA24.,0,0,0,<PD1.,PD1B.,PD1A.>
$ PD1.,0,PROC.,0,1,<PD2.,PD3.>
$ PD1A.,E.147,0,0,0,<PD2.,PD3.>
$ PD1B.,PA1.,ENDIT.,0,0,PD29.
$ PD2.,PA1.,DIVIS.,0,0,PD1085
$ PD3.,E.137,0,0,0,PD4.
$ PD4.,PCA69.,0,0,0,PD8A.	;[435]
$ PD7.0,0,PRIOD.,0,0,PD8A.	;[435]
$ PD8.,DE125.,0,0,0,PD8A.	;[435]
$ PD8A.,PA322.,0,0,0,<PD9.,PD9B.>	;[435]
$ PD9.,PA145.,DECLA.,0,1,<PD12.,PD13.>

;THIS NODE ONLY FOR DECLAR WHICH DO NOT FOLLOW PROC. DIV.
$ PD9A.,PA145A,DECLA.,0,1,<PD12.,PD13.>

;HERE TO FIND FIRST THING IN A PARAGRAPH
$ PD9B.,0,0,0,0,<PD10.,PD10A.,PD10B.,PD10C.,PD11.,PD69A>	;[435]

$ PD10.,PA2.,USERN.,0,1,<PD56.,PD57.,PD58.>
$ PD10A.,PA163.,INTGR.,0,1,<PD56.,PD57.,PD58.>
$ PD10B.,PA2.,PRONM.,0,1,<PD56.,PD57.,PD58.>
$ PD10C.,PD1090,ENTRY.,1,0,<PD10D.,PD69.>
$ PD10D.,0,PRIOD.,0,0,PD69.
$ PD11.,0,ENDIT.,0,0,PD29.
$ PD12.,0,PRIOD.,0,0,<PD14.,PD14A.,PD11.,PD16.,PD17.>	;[602]
$ PD13.,DE125.,0,0,0,<PD14.,PD14A.,PD11.,PD16.,PD17.>	;[602]
$ PD14.,PA2.,USERN.,0,1,<PD20.,PD21.>
$ PD14A.,PA163.,INTGR.,0,1,<PD20.,PD21.>
$ PD15.,0,END.,0,1,<PD15A.,PD46.>	;[1012]
$ PD15A.,E.162,DECLA.,0,0,<PD45.,PD46.>	;[1012]
$ PD16.,0,END.,0,1,<PD19.,PD17.>
$ PD17.,E.139,0,0,0,PD18.
$ PD18.,PA23.,0,0,0,<PD14.,PD11.,PD16.,PD18A.>		;[602]
$ PD18A.,PA149.,0,0,0,PD18.
$ PD19.,E.169,DECLA.,0,0,<PD45.,PD46.>
$ PD20.,PCA1.,SECT.,0,0,<PD23.,PD24.>
$ PD21.,E.140,0,0,0,PD22.
$ PD22.,PCA1.,0,0,0,<PD23.,PD24.>
$ PD23.,0,PRIOD.,0,0,PD25.
$ PD24.,DE125.,0,0,0,PD25.
$ PD25.,PD92.,0,1,0,<PD26.,PD26A.,PD26B.,PD10C.,PD11.,PD28.>	;[602]
$ PD26.,PA2.,USERN.,0,1,<PD31.,PD32.>
$ PD26A.,PA163.,INTGR.,0,1,<PD31.,PD32.>
$ PD26B.,PA2.,PRONM.,0,1,<PD31.,PD32.>
$ PD28.,E.115,0,0,0,PD30.
$ PD29.,PA138.,0,0,0
$ PD30.,PA23.,0,0,0,<PD26.,PD11.,PD30A.>		;[602]
$ PD30A.,PA149.,0,0,0,PD30.
$ PD31.,PCA2.,PRIOD.,0,0,PD34.
$ PD32.,DE125.,0,0,0,PD33.
$ PD33.,PCA2.,0,0,0,PD34.
$ PD34.,PD122.,0,1,0,<PD35.,PD35A.,PD10C.,PD35B.,PD36.,PD37.,PD38.>
$ PD35A.,PA2.,PRONM.,0,1,<PD40.,PD31.,PD32.>
$ PD35.,PA2.,USERN.,0,1,<PD40.,PD31.,PD32.>
$ PD35B.,PA163.,INTGR.,0,1,<PD31.,PD32.>
$ PD36.,PA147.,END.,0,1,<PD41.,PD42.>
$ PD37.,0,ENDIT.,0,0,PD11.
$ PD38.,E.138,0,0,0,PD39.
$ PD39.,PA23.,0,0,0,<PD35.,PD35A.,PD10C.,PD36.,PD37.,PD39A.>
$ PD39A.,PA149.,0,0,0,PD39.
$ PD40.,PCA1.,SECT.,0,0,<PD23.,PD24.>
$ PD41.,0,DECLA.,0,0,<PD45.,PD46.>
$ PD42.,E.162,0,0,0,PD43.
$ PD43.,PA219A,0,0,0,PD9B.
$ PD45.,0,PRIOD.,0,0,PD43.
$ PD46.,DE125.,0,0,0,PD43.

;POSSIBLE SECTION NUMBER
$ PD56.,PA5.,SECT.,0,0,<PD60.,PD61.,PD62.>
$ PD57.,PCA2.,PRIOD.,0,0,PD69.		;NO, GET FIRST SENTENCE
$ PD58.,DE125.,0,0,0,PD59.
$ PD59.,PCA2.,0,0,0,PD69.
$ PD60.,PA6.,INTGR.,0,0,<PD61.,PD62.>
$ PD61.,PCA3.,PRIOD.,0,0,<PD9A.,PD10.,PD10A.,PD10B.,PD10C.,PD11.,PD69A>	;[602]
$ PD62.,PCA3.,0,0,0,PD63.
$ PD63.,DE125.,0,0,0,<PD10.,PD10A.,PD10B.,PD10C.,PD11.,PD66.>	;[602]
$ PD66.,E.115,0,0,0,PD66A.
$ PD66A.,PA23.,0,0,0,<PD10.,PD10B.,PD10C.,PD11.,PD66B.>		;[602]
$ PD66B.,PA149.,0,0,0,PD66A.

;DISPATCH AFTER PARAGRAPH NAME
$ PD69.,0,0,0,0,<PD10.,PD10A.,PD10B.,PD10C.,PD11.,PD69A>
$ PD69A,PA261.,0,0,0,PD69B
$ PD69B,PD122.,0,1,0,PD70.
$ PD70.,0,0,0,0,<PD10.,PD10A.,PD10B.,PD10C.,PD15.,PD74.,PD75.>	;[1012] [602]
$ PD74.,PA138.,ENDIT.,0,0
$ PD75.,0,0,0,0,PD69A
;DECLARATIVES. USE ...
$ PD92.,0,0,0,0,<PD93.,PD95.>
$ PD93.,PA8.,USE.,0,0,<PD94.,PD97.,PD98.,PD1125,PD1126,PD1620,PD1621,PD99.>
$ PD94.,PA819.,GLOBL.,0,0,<PD97.,PD98.,PD94A.>
$ PD94A.,E.143,0,0,0,PD96.		;BEFORE or AFTER expected
$ PD95.,E.142,0,0,0,PD96.
$ PD96.,PA0.,0,0,0
$ PD97.,PA9.,AFTER.,0,0,<PD97A.,PD101.,PD101A,PD99.>
$ PD97A.,0,STAND.,0,0,<PD101.,PD101A,PD99.>
$ PD98.,PA10.,BEFOR.,0,0,<PD1022,PD99.>
$ PD99.,E.703,0,0,0,PD101.
$ PD101.,PA11.,ERROR.,0,0,<PD111.,PD112.>		;ERROR
$ PD101A,PA11.,EXCEP.,0,0,<PD111.,PD112.>		;EXCEPTION
$ PD111.,0,PROC.,0,0,<PD113.,PD114.,PD115.,PD116.,PD116A,PD117.,PD118.>
$ PD112.,E.147,0,0,0,<PD113.,PD114.,PD115.,PD116.,PD116A,PD117.,PD118.>
$ PD113.,0,ON.,0,0,<PD114.,PD115.,PD116.,PD116A,PD117.,PD118.>
$ PD114.,PA18.,IO.,0,0,<PD119.,PD120.>
$ PD115.,PA19.,INPUT.,0,0,<PD119.,PD120.>
$ PD116.,PA20.,OUTPU.,0,0,<PD119.,PD120.>
$ PD116A,PA20X.,EXTEN.,0,0,<PD119.,PD120.>
$ PD117.,PA2U.1,FILEN.,0,0,<PD119E,PD119.,PD117A>
$ PD117A,PA173.,0,0,0,<PD117B,PD158A,PD120.>	;[1573]
$ PD117B,PA2U.2,FILEN.,0,0,<PD119E,PD119.,PD117A>
$ PD118.,E.117,0,0,0,<PD119.,PD120.>
$ PD119.,PCA51.,PRIOD.,0,0
$ PD119E,PA14.,OPEN.,0,0,<PD119.,PD117A>	;[1321] Allow multiple file-names
$ PD120.,DE125.,0,0,0,PD121.
$ PD121.,PCA51.,0,0,0
$ PD122.,0,0,0,0,<PD124.,PD139.,PD153.>
$ PD124.,0,EXIT.,0,0,<PD129B,PD129A,PD130.>	;[516] DONT ALLOW ENTRY AFTER EXIT

$ PD129A,PA253.,PGM.,0,0,<PD129.,PD130.>
$ PD129B,0,PRIOD.,0,0,<PD154.,PD154B,PD154A,PD155.,PD154C,PD136A>	;[1401]
$ PD129.,0,PRIOD.,0,0,<PD154.,PD154B,PD154A,PD133.,PD155.,PD154C,PD136A>	;[1401]
$ PD130.,DE125.,0,0,0,<PD154.,PD154B,PD154A,PD133.,PD155.,PD136.>
$ PD133.,PCA7.,ENTRY.,0,0			;[516] ENTRY OK AFTER EXIT PROG
$ PD136.,PCA7.,0,0,0
$ PD136A,E.141,0,0,0,PD137.			;[1401]
$ PD137.,PA23.,0,0,0,PD96.			;[1401]
$ PD138.,0,0,0,0,<PD154.,PD154B,PD154A,PD133.,PD155.,PD136.>
;GO TO ...
$ PD139.,PA25.,GO.,0,0,<PD140.,PD142.,PD144A,PD144B,PD145.,PD143.,PD143A,PD144.,PD146.>
$ PD140.,0,TO.,0,0,PD141.
$ PD141.,0,0,0,0,<PD142.,PD144A,PD144B,PD145.,PD143.,PD143A,PD144.,PD146.>
$ PD142.,PA26.F,PRIOD.,0,0,<PD154.,PD154A,PD133.,PD155.,PD136.>
$ PD143.,PCA17.,USERN.,0,0,<PD147C,PD147A>
$ PD143A,PCA30.,INTGR.,0,0,<PD147C,PD147A>
$ PD144.,PCA17.,PRONM.,0,0,<PD147C,PD147A>
$ PD144A,PCA46.,PRONM.,0,1,0
$ PD144B,PCA46.,INTGR.,0,1
$ PD145.,PCA46.,USERN.,0,1,0
$ PD146.,E.115,0,0,0,<PD154.,PD154B,PD154A,PD133.,PD155.,PD136.>
$ PD147.,PA26.,PRIOD.,0,0,<PD154.,PD154B,PD154A,PD133.,PD155.,PD136.>
$ PD147A,0,0,0,0,<PD147.,PD148.,PD148A,PD149.,PD150.,PD151.,PD151B,PD151A,PD152.>
$ PD147C,0,OF.,0,0,<PD147D,PD147E,PD147F>
$ PD147D,PCA18.,USERN.,0,0,PD147A
$ PD147E,PCA18.,PRONM.,0,0,PD147A
$ PD147F,E.139,0,0,0,PD147A

$ PD148.,PCA11.,USERN.,0,1,0
$ PD148A,PCA11.,INTGR.,0,1
$ PD149.,PA27A.,DEPEN.,0,0,0		;ANS-8x syntax
$ PD150.,PA27.,USERN.,0,0,0
$ PD151.,PA27.,PRONM.,0,0,0
$ PD151A,PA27.,PRONM.,0,0,0
$ PD151B,PA27.,INTGR.,0,0
$ PD152.,PCA10.,0,0,0,<PD154.,PD154A,PD133.,PD155.,PD136.>
$ PD153.,PD156.,0,1,0,<PD153B,PD153A>	;[1556] CHECK FOR PERIOD
$ PD153A,PA193.,0,0,0,<PD9A.,PD154D,PD154.,PD155.,PD155A,PD154A,PD154B,PD133.,PD154C,PD153.> ;[1556][1553]
$ PD153B,PA148A,PRIOD.,0,0,PD153A	;[1556] DON'T REGET A PERIOD
$ PD154.,PCA7X.,USERN.,0,1,0	;[1313] CHECK FOR CONDITIONAL STILL ACTIVE
$ PD154A,PCA7.,PRONM.,0,1,0
$ PD154B,PCA7.,INTGR.,0,1,0
$ PD154C,PCA7.,END.,0,1
$ PD154D,0,PRIOD.,0,0,<PD154.,PD155.,PD155A,PD154A,PD154B,PD133.,PD154C,PD153.> ;[1556] IF THE LAST ONE ENDED WITH A PERIOD
$ PD155.,PCA7C.,ENDIT.,0,0,0	;[1334] CHECK FOR UNCONDITIONAL GOTO IN LAST PARAGRAPH
$ PD155A,PA823C,ENDXX.,0,0,<PD154A,PD154B,PD133.,PD154C,PD153.> ;[1553]
$ PD156.,PCA7E.,0,0,0,PD157.	;[1553] Reset the EWFLG flag
$ PD157.,PD161.,0,1,0,<PD158.,PD159.,PD159A,PD159B,PD133.,PD160.,PD160A,PD160B,PD159D,PD159E,PD157.> ;[652]
$ PD158.,PCA7B.,PRIOD.,0,0,0
$ PD158A,PCA7BA,PRIOD.,0,0,0	;[1573]
$ PD159.,0,USERN.,0,1,PD159C
$ PD159A,0,PRONM.,0,1,PD159C
$ PD159B,0,INTGR.,0,1,PD159C
$ PD159C,PCA7.,0,0,0,0
$ PD159D,0,END.,0,1,PD159C	;[652]
$ PD159E,PA823.,ENDXX.,0,0,PD159F
$ PD159F,0,0,0,0,<PD158.,PD159.,PD159A,PD159B,PD133.,PD160.,PD160A,PD160B,PD159D,PD159E,PD157.>
$ PD160.,DE125.,ENDIT.,0,0,PD159C
$ PD160A,PCA7G.,ELSE.,0,0,0	;[1553] Set a flag before PCA7.
$ PD160B,PCA7D.,WHEN.,0,0,0	;[1553] Set a flag before PCA7A.
;Main dispatch on statement
;Note that this node has too many branches, add new ones to node PD161X
$ PD161.,0,0,0,0,<PD177.,PD230.,PD262.,PD278A,PD286.,PD295.,PD329.,
  PD347.,PD348A,PD353.,PD391A,PD415.,PD441.,PD464.,PD490.,
  PD513.,PD557.,PD902.,PD910.,PD571.,PD950.,PD950A,PD597.,PD600.,PD622.,
  PD1200,PD621R,PD1000,PD1010,PD1015,PD1020,PD1028,PD1032,PD1090,PD1400,
  PD1425,PD167.,PD1371,PD1370,PD1140,PD1155,PD1170,PD1180,PD1190,PD1240,
  PD1500,PD1540,PD162A,PDSU30,PDSU60,PD1600,PD154.,PD154A,PD154B,PD154C,PD155.,PD162U,PD161X>
$ PD161X,0,0,0,0,<PD2010,PD2011,PD2020,PD2050,PD164.,PD161E,PSU100,PD163A,PD163B,PD162.> ;[652] [714] [1553]

$ PD161E,E.645,DATAN.,0,0,<PD163.,PD154.,PD154A,PD154B,PD155.,PD166.>	;GIVE BETTER DIAGNOSTIC TO USER
$ PD162.,PCA7F.,0,0,0,<PD163.,PD154.,PD154A,PD154B,PD155.,PD166.> ;[1553]
$ PD162A,0,EXIT.,0,0,<PD162B,PD162C,PD162D>
$ PD162B,PA253A,PRIOD.,0,0,PD96.	;Give error, then follow PGM. path
$ PD162C,PA253.,PGM.,0,0,PD96.
$ PD162D,E.18,0,0,0,PD162E
$ PD162E,DE125.,0,0,0,PD166.
$ PD162F,DE125.,0,0,0,PD172.
$ PD162U,E.139,USE.,0,0,<PD163.,PD154.,PD154A,PD154B,PD155.,PD166.>
$ PD163.,PCA7.,PRIOD.,0,0,0
$ PD163A,E.855,ELSE.,0,0,PD166.	;[1553] Dangling ELSE
$ PD163B,E.855,WHEN.,0,0,PD166.	;[1553] Dangling WHEN


;[DEBUGGING]
; COMPILER-BREAK-IN-PHASE 'E'
$ PD164.,0,COMPB.,0,0,<PD164A,PD164E>
$ PD164A,PA520.,LITER.,0,0,PD172.
$ PD164E,PA521.,0,0,PD172.

$ PD166.,PA149.,0,0,0,PD166A
$ PD166A,PA133.,0,0,0,<PD163.,PD154.,PD154A,PD154B,PD155.,PD166.>

;ACCEPT DATA-NAME FROM
IFE MCS,<
$ PD167.,PA43.,ACCEP.,0,0,<PD168.,PD169.>
>
IFN MCS,<
$ PD167.,PA43.,ACCEP.,0,0,<PD168.,PD1391,PD169.>
>
$ PD168.,PA2.,DATAN.,0,0,PD168C
$ PD168C,PD800A,0,1,0,PD168D
$ PD168D,PA21.,0,0,0,<PD168.,PD171.,PD172.>
$ PD169.,DE111.,0,0,0,PD170.
$ PD170.,PCA12.,0,0,0
$ PD171.,TST.HI,FROM.,0,0,<PD172A,PD173.,PD173A,PD173B,PD173C,PD173D,PD174.>
$ PD172.,PCA6.,0,0,0
$ PD172A,0,CONSL.,0,0,PD172.		;[776] ACCEPT FROM CONSOLE 
$ PD173.,PCA34.,MNEMO.,0,0,PD172.
$ PD173A,PCA90.,DATE..,0,0,PD172.
$ PD173B,PCA90.,DAY..,0,0,PD172.
$ PD173C,PCA90.,TIME..,0,0,PD172.
$ PD173D,PCA90X,DOW.,0,0,PD172.		;DAY-OF-WEEK
$ PD174.,E.102,0,0,0,PD175.	;[776]	
$ PD175.,PA23.Z,0,0,0,PD172.	;[776] CHK IF WE NEED TO REGET PRESENT TOKEN
$ PD176.,0,0,0,0,PD172.	;CHECK THE SCOPE TERMINATOR
;ADD {identifier} ...
$ PD177.,PA30.,ADD.,0,0,<PD178.,PD179.,PD180.,PD181.,PD182.,PD169.>
$ PD178.,PA2.,NLIT.,0,0,PD188A
$ PD179.,PA2.,INTGR.,0,0,PD188A
$ PD180.,0,FIGCN.,0,0,PD179.
$ PD181.,PA2.,DATAN.,0,0,PD188.
$ PD182.,TST.HI,CORR.,0,0,<PD212.,PD169.>	;ADD CORRESPONDING

$ PD184.,PA2.,DATAN.,0,0,PD189.
$ PD185.,PA2.,NLIT.,0,0,PD189A
$ PD186.,PA2.,INTGR.,0,0,PD189A
$ PD187.,0,FIGCN.,0,0,PD186.
$ PD188.,PD800.,0,1,0,PD188A
$ PD188A,PA21.,0,0,0,<PD190.,PD184.,PD185.,PD186.,PD187.,PD169.>
$ PD189.,PD800.,0,1,1,PD189A
$ PD189A,PA21.,0,0,0,<PD190.,PD191.,PD192.,PD193.,PD194.,PD169.>

;ADD {identifier} ... TO 
$ PD190.,PA31.,TO.,0,0,PD196.
$ PD191.,PA2.,DATAN.,0,0,PD189.

;ADD {identifier} ... GIVING
$ PD192.,PA33.,GIVIN.,0,0,PD196.
$ PD193.,PA2.,NLIT.,0,0,PD189A
$ PD194.,PA2.,INTGR.,0,0,PD189A
$ PD196.,PA22.,0,0,0,<PD197.,PD169.>
$ PD197.,PA2.,DATAN.,0,0,PD197A
$ PD197A,PD800.,0,1,0,<PD198.,PD200.,PD200A>
$ PD198.,PA21.,GIVIN.,0,0,PD192.
$ PD200.,PA35.,ROUND.,0,0,PD200A
$ PD200A,PA21.,0,0,0,<PD201.,PD202.,PD203.,PD204.>
$ PD201.,PA2.HI,DATAN.,0,0,PD197A

$ PD202.,0,ON.,0,0,<PD203.,PD205.>
$ PD203.,PA820.,SIZE.,0,0,<PD207.,PD205.>
$ PD204.,PCA41.,0,0,0
$ PD205.,E.109,0,0,0,PD170.
$ PD207.,PCA40.,ERROR.,0,0,PD210.
$ PD210.,PD156.,0,1,0,PD211A
$ PD211.,PCA36.,0,0,0
$ PD211A,PCA36A,0,0,0

;ADD CORRESPONDING identifier TO identifier ...
$ PD212.,PA2.,DATAN.,0,0,PD212C
$ PD212C,PD800.,0,1,0,<PD213.,PD214.>
$ PD213.,PA47.,TO.,0,0,<PD215.,PD169.>
$ PD214.,E.136,0,0,0,PD170.
$ PD215.,PA2.,DATAN.,0,0,PD215C
$ PD215C,PD800.,0,1,0,PD215D
$ PD215D,PCA67.,0,0,0,<PD216.,PD217.,PD219.>
$ PD216.,0,ON.,0,0,<PD217.,PD220.>
$ PD217.,PA820.,SIZE.,0,0,<PD218.,PD220.>
$ PD218.,PA203.,ERROR.,0,0,PD222.
$ PD219.,PA34.,0,0,0,PD221.
$ PD220.,E.109,0,0,0,PD219.
$ PD221.,PA201.,0,0,0,PD96.
$ PD222.,PA201.,0,0,0,PD223.
$ PD223.,PA204.,0,0,0,PD224.
$ PD224.,PD156.,0,1,0,PD211A
;ALTER
$ PD230.,PA45.,ALTER.,0,0,<PD231.,PD232A,PD232.,PD233.>
$ PD231.,PA2.,USERN.,0,0,PD231A
$ PD231A,PA154.,0,0,0,<PD231C,PD235.,PD236.,PD240.>
$ PD231C,0,OF.,0,0,<PD231D,PD231E,PD231F>
$ PD231D,PCA21.,USERN.,0,0,<PD235.,PD236.,PD240.>
$ PD231E,PCA21.,PRONM.,0,0,<PD235.,PD236.,PD240.>
$ PD231F,E.139,0,0,0,<PD235.,PD236.,PD170.>
$ PD232.,PA2.,PRONM.,0,0,PD231A
$ PD232A,PA163.,INTGR.,0,0,PD231A
$ PD233.,E.115,0,0,0,PD170.
$ PD235.,0,TO.,0,0,<PD236.,PD243.,PD243A,PD244.,PD233.>
$ PD236.,0,PROCE.,0,0,<PD242.,PD243.,PD243A,PD244.,PD233.>
$ PD240.,E.114,0,0,0,PD170.
$ PD242.,0,TO.,0,0,<PD243.,PD243A,PD244.,PD233.>
$ PD243.,PCA23.,USERN.,0,0,<PD244B,PD248.>
$ PD243A,PCA31.,INTGR.,0,0,<PD244B,PD248.>
$ PD244.,PCA23.,PRONM.,0,0,<PD244B,PD248.>
$ PD244B,0,OF.,0,0,<PD244C,PD244D,PD244E>
$ PD244C,PCA22.,USERN.,0,0,PD248.
$ PD244D,PCA22.,PRONM.,0,0,PD248.
$ PD244E,E.139,0,0,0,PD170.
$ PD248.,PCA62.,0,0,0,<PD248A,PD248B>
$ PD248A,0,.COMMA,0,0,<PD249.,PD249A,PD249B,PD96.>
$ PD248B,0,0,0,0,<PD249.,PD249A,PD249B,PD96.>
$ PD249.,PA2.HI,USERN.,0,0,PD231A
$ PD249A,PA2.HI,PRONM.,0,0,PD231A
$ PD249B,PA163F,INTGR.,0,0,PD231A
;CLOSE <FILE-NAME>
$ PD262.,PA50.,CLOSE.,0,0,<PD263.,P1135A,P1135B,P1135C,PD1136,PDCT01,PD264.>
$ PD263.,PA2.,FILEN.,0,0,<PD266.,PD267.,PD268.,PD268A,PD269.>
$ PD264.,E.117,0,0,0,PD170.
$ PD266.,PA51.,REEL.,0,0,<PD268.,PD268A,PD269.>
$ PD267.,0,UNIT.,0,0,<PD268.,PD268A,PD269.>
$ PD268.,0,WITH.,0,0,<PD270.,PD270A,PD271.,PD272.>
$ PD268A,0,FOR.,0,0,<PD268B,PD272.>		;FOR
$ PD268B,PA52A.,REMOV.,0,0,PD277.	;REMOVAL
$ PD269.,0,0,0,0,<PD270.,PD270A,PD271.,PD277.>
$ PD270.,PA52.,LOCK.,0,0,PD277.
$ PD270A,PA232.,DELET.,0,0,PD277.
$ PD271.,0,NO.,0,0,<PD274.,PD275.>
$ PD272.,E.118,0,0,0,PD170.
$ PD274.,PA53.,REWIN.,0,0,PD277.
$ PD275.,E.119,0,0,0,PD170.
$ PD277.,PCA25C,0,0,0,<PD277A,PD96.>
$ PD277A,PCA47.,FILEN.,0,0,<PD266.,PD267.,PD268.,PD269.>

;COMPUTE
$ PD278A,PA191.,COMPU.,0,0,<PD278.,PD169.>
$ PD278.,PA2.,DATAN.,0,0,PD278B
$ PD278B,PD800.,0,1,0,<PD278C,PD278D>
$ PD278C,PA35.,ROUND.,0,0,PD278D
$ PD278D,PCA25.,0,0,0,<PD281A,PD281.,PD278E,PD282.>
$ PD278E,PCA93.,DATAN.,0,0,PD278B
$ PD281.,0,EQUAL.,0,0,<PD283.,PD284.>
$ PD281A,0,IS.,0,0,<PD281.,PD282.>
$ PD282.,E.149,0,0,0,PD170.
$ PD283.,0,TO.,0,0,PD284.
$ PD284.,PD640.,0,1,0,PD285.
$ PD285.,PA54A,0,0,0,<PD285B,PD285C,PD172.>
$ PD285B,0,ON.,0,0,<PD285C,PD285E>
$ PD285C,PA820.,SIZE.,0,0,<PD285D,PD285E>
$ PD285D,PA36.,ERROR.,0,0,PD210.
$ PD285E,E.109,0,0,0,PD172.
;DISPLAY
$ PD286.,PA55.,DISPL.,0,0,<PD287.,PD287A,PD288.,PD288A,PD288D,PD288E,PD288F,PD288G,PD169.>	;[1437]
$ PD287.,PA2.,DATAN.,0,0,PD287C
$ PD287A,DE111.,USERN.,0,0,<PD287.,PD287A,PD288.,PD288A,PD288D,PD288E,PD288F,PD288G,PD170.>	;[1437]
$ PD287C,PD800.,0,1,0,PD287D
$ PD287D,PA21.,0,0,0,PD290A
$ PD288.,PCA5.,LITER.,0,0,PD290A
$ PD288A,PCA5.,FIGCN.,0,0,PD290A
$ PD288C,E.186,0,0,0,PD170.
$ PD288D,PCA5A.,NLIT.,0,0,PD290A
$ PD288E,PCA5A.,INTGR.,0,0,PD290A
$ PD288F,PA218.,LINE.,0,0,PD290A
$ PD288G,PCA5.8,SYCHN.,0,0,PD290A		;symbolic-character
$ PD290A,0,0,0,0,<PD291.,PD292A,PD292B,PD287.,PD288.,PD288A,PD288D,PD288E,PD288F,PD288G,PD172.>
$ PD291.,TST.HI,UPON.,0,0,<PD292.,PD291A,PD293B,PD293C,PD293.>
$ PD291A,0,CONSL.,0,0,<PD292A,PD292B,PD172.>
$ PD292.,PCA34.,MNEMO.,0,0,<PD292A,PD292B,PD172.>
$ PD292A,0,WITH.,0,0,<PD292B,PD293A>
$ PD292B,TST.8,NO.,0,0,PD292D
$ PD292D,PA231.,0,0,0,<PD292C,PD172.>
$ PD292C,0,ADVAN.,0,0,PD172.
$ PD293.,E.102,0,0,0,PD293D
$ PD293A,E.18,0,0,0,PD172.
$ PD293B,E.606,WITH.,0,0,PD292A
$ PD293C,E.606,PRIOD.,0,0,PD172.
$ PD293D,PA23.Z,0,0,0,<PD292A,PD292B,PD172.>	;[775] PARSE "WITH NO ADVANCING" AFTER MNEMO WAS NOT DEFINED

;DIVIDE
$ PD295.,PA57.,DIVID.,0,0,<PD296.,PD297.,PD297A,PD297F,PD298.>
$ PD296.,PA2.,DATAN.,0,0,PD296C
$ PD296C,PD800.,0,1,0,PD296D
$ PD296D,PA21.,0,0,0,<PD299.,PD300.,PD301.>
$ PD297.,PCA5.,NLIT.,0,0,<PD299.,PD300.,PD301.>
$ PD297A,PCA5.,INTGR.,0,0,<PD299.,PD300.,PD301.>
$ PD297F,0,FIGCN.,0,0,PD297.
$ PD298.,E.110,0,0,0,PD170.	; [376]
$ PD299.,0,BY.,0,0,<PD302.,PD303.,PD303A,PD303F,PD298.>
$ PD300.,PA174.,INTO.,0,0,<PD305.,PD306.,PD306A,PD306F,PD298.>
$ PD301.,E.120,0,0,0,PD301A
$ PD301A,PA165.,0,0,0,PD170.	; [376]

$ PD302.,PA2.,DATAN.,0,0,PD302C
$ PD302C,PD800.,0,1,0,<PD311.,PD480.>
$ PD303.,PA2.,NLIT.,0,0,<PD311.,PD480.>
$ PD303A,PA2.,INTGR.,0,0,<PD311.,PD480.>
$ PD303F,0,FIGCN.,0,0,PD303.

$ PD305.,PA2.,DATAN.,0,0,PD307.
$ PD306.,PA2.,NLIT.,0,0,<PD311.,PD312.>
$ PD306A,PA2.,INTGR.,0,0,<PD311.,PD312.>
$ PD306F,0,FIGCN.,0,0,PD306.
$ PD307.,PD800.,0,1,0,<PD308.,PD311.,PD312.>
$ PD308.,PCA95.,DATAN.,0,0,PD309.		;DUMP DIV OPERATOR AND LAST OPERAND
$ PD309.,PD800.,0,1,0,<PD310.,PD313.>
$ PD310.,PCA96.,DATAN.,0,0,PD309.		;DUMP LAST OPERAND
$ PD311.,PA58.,GIVIN.,0,0,PD314.
$ PD312.,PCA64.,0,0,0,<PD320.,PD324.,PD325.,PD172.>
$ PD313.,PCA64A,0,0,0,<PD320.,PD324.,PD325.,PD172.>
$ PD314.,PCA65.,0,0,0,<PD315.,PD169.>
$ PD315.,PA2.,DATAN.,0,0,PD317.
$ PD316.,PA2.HI,DATAN.,0,0,PD317.
$ PD317.,PD800.,0,1,0,<PD318.,PD319.>
$ PD318.,PA35.,ROUND.,0,0,PD319.
$ PD319.,PA21.,0,0,0,<PD316.,PD320.,PD324.,PD325.,PD172.>
$ PD320.,PCA66.,REMAI.,0,0,<PD321.,PD169.>
$ PD321.,PA2.,DATAN.,0,0,PD322.
$ PD322.,PD800.,0,1,0,PD323.
$ PD323.,PA21.,0,0,0,<PD324.,PD325.,PD172.>
$ PD324.,0,ON.,0,0,<PD325.,PD328.>
$ PD325.,PA820.,SIZE.,0,0,<PD326.,PD328.>
$ PD326.,PA36.,ERROR.,0,0,PD327.
$ PD327.,PD156.,0,1,0,PD211A
$ PD328.,E.109,0,0,0,PD166.
;CANCEL
$ PD329.,PA250.,CAN.,0,0,<PD330A,PD330B,PD330C,PD330D,PD330E>
$ PD330A,0,USERN.,0,0,PD330B
$ PD330B,PA251.,EXTNA.,0,0,<PD330A,PD330B,PD330C,PD330D,PD172.>
$ PD330C,PA254.,LITER.,0,0,PD330B
$ PD330D,PCA5.,DATAN.,0,0,<PD330A,PD330B,PD330C,PD172.>
$ PD330E,E.92,0,0,0,PD172.

;CALL/ENTER
$ PD347.,PA248.,CALL.,0,0,<PD350B,PD350C,PD349L,PD349D,PD350D>
$ PD348A,PA169.,ENTER.,0,0,<PD348.,PD348B,PD348C,PD350.,PD352.>
$ PD348.,PA141.,MACRO.,0,0,<PD350B,PD350C,PD349L,PD350D>
$ PD348B,PA143.,LINKG.,0,0,PD172.
$ PD348C,PA249.,F10.,0,0,<PD350B,PD350C,PD349L,PD350D>
$ PD349D,PA2.HI,DATAN.,0,0,PD349F
$ PD349E,PCA25.,0,0,0,<PD991.,PD992.,PD96.>
$ PD349F,0,0,0,0,<PD350F,PD349E>
$ PD349L,PA254.,LITER.,0,0,PD349U
$ PD349U,PA2.,USERN.,0,0,PD350E
$ PD350.,PA143A,COBOL.,0,0,<PD350B,PD350C,PD349L,PD350D>
$ PD350B,PA2.HI,USERN.,0,0,PD350E
$ PD350C,PA2.,EXTNA.,0,0,PD350E
$ PD350D,E.92,0,0,0,PD170.
$ PD350E,PA260.,0,0,0,<PD350F,PD349E>
$ PD350F,PA217.,USING.,0,0,<PD351.,PD351R,PD351C,PD350I,PD350L,PD350M,PD350N,PD350O,PD350P,PD350Q,PD350R,PD350X,PD991.,PD992.,PD350Y,PD350Z>
$ PD350I,PA2.,DATAN.,0,0,PD350J
$ PD350J,PD800A,0,1,0,PD350K
$ PD350K,PA21.R,0,0,0,<PD351.,PD351R,PD351C,PD350I,PD350L,PD350M,PD350N,PD350O,PD350P,PD350Q,PD350R,PD350X,PD991.,PD992.,PD172.>
$ PD350L,PA2.,LITER.,0,0,PD350K
$ PD350M,PA2.,NLIT.,0,0,PD350K
$ PD350N,PA2.,INTGR.,0,0,PD350K
$ PD350O,PA2.,FIGCN.,0,0,PD350K
$ PD350P,PCA71.,PRONM.,0,0,<PD350S,PD350K>
$ PD350Q,PA24.,PRONM.,0,1,PD172.
$ PD350R,PA2.8,SYCHN.,0,0,PD350K
$ PD350S,0,OF.,0,0,<PD350T,PD350V,PD244E>
$ PD350T,PCA70.,PRONM.,0,0,PD350K
$ PD350V,PCA70.,USERN.,0,0,PD350K
$ PD350X,PCA71.,USERN.,0,0,<PD350S,PD350K>
$ PD350Y,E.629,PRIOD.,0,0,PD170.	;[1002] MISSING ARG.
$ PD350Z,E.630,0,0,0,PD170.		;[1002] ILLEGAL ARG.
$ PD351.,0,BY.,0,0,<PD351R,PD351C,PD351E>	;BY
$ PD351R,PA805.,REFER.,0,0,<PD350I,PD350L,PD350M,PD350N,PD350O,PD350P,PD350Q,PD350R,PD350X,PD991.,PD992.,PD350Y,PD350Z>
$ PD351C,PA806.,CNTNT.,0,0,<PD350I,PD350L,PD350M,PD350N,PD350O,PD350P,PD350Q,PD350R,PD350X,PD991.,PD992.,PD350Y,PD350Z>
$ PD351E,E.806,0,0,0,PD170.		;ERROR, REFERENCE OR CONTENTS EXPECTED
$ PD352.,E.164,0,0,0,PD170.
;INSPECT identifier
$ PD353.,PA61.,INSPC.,0,0,<PD354.,PD169.>
$ PD354.,PCA91.,DATAN.,0,0,PD354C
$ PD354C,PD800A,0,1,0,PD354D
$ PD354D,PA21.,0,0,0,<PD356.,PD357.,PD358.,PD359.>

;INSPECT identifier CONVERTING identifier TO identifier
$ PD356.,PA69.,CONVT.,0,0,<PD356A,PD356B,PD356C,PD356D,PD169.>
$ PD356A,PA2.,DATAN.,0,0,PD356E
$ PD356B,PCA5.,FIGCN.,0,0,<PD356G,PD169.>
$ PD356C,PCA5.,LITER.,0,0,<PD356G,PD169.>
$ PD356D,PCA5.,SYCHN.,0,0,<PD356G,PD169.>
$ PD356E,PD800A,0,1,0,PD356F
$ PD356F,PA21.,0,0,0,<PD356G,PD169.>
$ PD356G,0,TO.,0,0,<PD356H,PD356K,PD356L,PD356M,PD169.>
$ PD356H,PA2.,DATAN.,0,0,PD356I
$ PD356I,PD800A,0,1,0,PD356J
$ PD356J,PA21.,0,0,0,<PD356P,PD356Q,PD379.>
$ PD356K,PCA5.,FIGCN.,0,0,<PD356P,PD356Q,PD379.>
$ PD356L,PCA5.,LITER.,0,0,<PD356P,PD356Q,PD379.>
$ PD356M,PCA5.,SYCHN.,0,0,<PD356P,PD356Q,PD379.>
$ PD356P,PA65B.,BEFOR.,0,0,<PD356R,PD356T,PD356U,PD356V,PD356W,PD169.>
$ PD356Q,PA65A.,AFTER.,0,0,<PD356R,PD356T,PD356U,PD356V,PD356W,PD169.>
$ PD356R,0,INITL.,0,0,<PD356T,PD356U,PD356V,PD356W,PD370.>
$ PD356T,PA2.,DATAN.,0,0,<PD356P,PD356Q,PD379.>
$ PD356U,PCA5.,FIGCN.,0,0,<PD356P,PD356Q,PD379.>
$ PD356V,PCA5.,LITER.,0,0,<PD356P,PD356Q,PD379.>
$ PD356W,PCA5.,SYCHN.,0,0,<PD356P,PD356Q,PD379.>

;INSPECT identifier TALLYING identifier FOR ... [REPLACING]
$ PD357.,PA62.,TLYNG.,0,0,<PD357A,PD169.>
$ PD357A,PCA92T,DATAN.,0,0,PD357U
$ PD357C,0,FOR.,0,0,<PD362.,PD363.,PD366.,PD361.>
$ PD357T,PCA92T,DATAN.,0,0,PD357U
$ PD357U,PD800A,0,1,0,PD357V
$ PD357V,PA21.,0,0,0,<PD357C,PD169.>
$ PD358.,PA66.,REPLA.,0,0,<PD381.,PD382.,PD383.,PD380.>
$ PD359.,E.150,0,0,0,PD170.
$ PD361.,0,0,0,0,<PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD362.,PA64.,LEAD.,0,0,<PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD363.,PA65.,CHARA.,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>
$ PD364.,E.122,0,0,0,PD170.
$ PD366.,PA67.,FIRST.,0,0,<PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD367.,E.165,0,0,0,PD170.
$ PD369.,PCA5.,LITER.,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>
$ PD369A,PCA5.,FIGCN.,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>
$ PD369B,PCA5A.,INTGR.,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>
$ PD369C,PA2.,DATAN.,0,0,PD369D
$ PD369D,PD800A,0,1,0,PD369E
$ PD369E,PA21.,0,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>
$ PD369F,PCA5.8,SYCHN.,0,0,<PD371A,PD371B,PD372.,PD357T,PD379.>	;symbolic-character
$ PD370.,E.123,0,0,0,PD170.
$ PD371A,PA65A.,AFTER.,0,0,<PD371C,PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD371B,PA65B.,BEFOR.,0,0,<PD371C,PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD371C,0,INITL.,0,0,<PD369.,PD369A,PD369B,PD369C,PD369F,PD370.>
$ PD372.,PA66A.,REPLA.,0,0,<PD381.,PD382.,PD383.,PD380.>
$ PD373.,0,BY.,0,0,<PD376.,PD376A,PD376B,PD376C,PD376F,PD377.>
$ PD374.,E.124,0,0,0,PD170.
$ PD376.,PCA5.,LITER.,0,0,<PD387A,PD387B,PD381.,PD382.,PD383.,PD388L,PD388J,PD388K,PD388I,PD388D,PD379.>
$ PD376A,PCA5.,FIGCN.,0,0,<PD387A,PD387B,PD381.,PD382.,PD383.,PD388L,PD388J,PD388K,PD388I,PD388D,PD379.>
$ PD376B,PCA5A.,INTGR.,0,0,<PD387A,PD387B,PD381.,PD382.,PD383.,PD388L,PD388J,PD388K,PD388I,PD388D,PD379.>
$ PD376C,PA2.,DATAN.,0,0,PD376D
$ PD376D,PD800A,0,1,0,PD376E
$ PD376E,PA21.,0,0,0,<PD387A,PD387B,PD381.,PD382.,PD383.,PD388L,PD388J,PD388K,PD388I,PD388D,PD379.>
$ PD376F,PCA5.8,SYCHN.,0,0,<PD387A,PD387B,PD381.,PD382.,PD383.,PD388L,PD388J,PD388K,PD388I,PD388D,PD379.>	;symbolic-character
$ PD377.,E.123,0,0,0,PD170.
$ PD379.,PCA92E,0,0,0;	;SET "LAST INSPECT ARG" BIT, OUTPUT LAST ARG

;INSPECT identifier REPLACING ...
$ PD380.,PCA92.,0,0,0,<PD388.,PD388A,PD388B,PD388C,PD388F,PD389.>
$ PD381.,PCA92L,LEAD.,0,0,<PD388.,PD388A,PD388B,PD388C,PD388F,PD389.>
$ PD382.,PCA92F,FIRST.,0,0,<PD388.,PD388A,PD388B,PD388C,PD388F,PD389.>
$ PD383.,PCA92C,CHARA.,0,0,<PD373.,PD380.>
$ PD384.,E.166,0,0,0,PD170.
$ PD385.,PA65.,FIRST.,0,0,<PD388.,PD388A,PD388B,PD388F,PD389.>
$ PD387A,PA65A.,AFTER.,0,0,<PD387C,PD376.,PD376A,PD376B,PD376C,PD376F,PD370.>
$ PD387B,PA65B.,BEFOR.,0,0,<PD387C,PD376.,PD376A,PD376B,PD376C,PD376F,PD370.>
$ PD387C,0,INITL.,0,0,<PD376.,PD376A,PD376B,PD376C,PD376F,PD370.>
$ PD388.,PCA5.,LITER.,0,0,<PD373.,PD374.>
$ PD388A,PCA5.,FIGCN.,0,0,<PD373.,PD374.>
$ PD388B,PCA5A.,INTGR.,0,0,<PD373.,PD374.>
$ PD388C,PA2.,DATAN.,0,0,PD388E
$ PD388D,PCA92S,DATAN.,0,0,PD388E
$ PD388E,PD800A,0,1,0,PD388X
$ PD388F,PCA5.8,SYCHN.,0,0,<PD373.,PD374.>	;symbolic-character
$ PD388I,PCA92R,INTGR.,0,0,<PD373.,PD374.>
$ PD388J,PCA92R,FIGCN.,0,0,<PD373.,PD374.>
$ PD388K,PCA92Y,SYCHN.,0,0,<PD373.,PD374.>	;symbolic-character
$ PD388L,PCA92R,LITER.,0,0,<PD373.,PD374.>
$ PD388X,PA21.,0,0,0,<PD373.,PD374.>
$ PD389.,E.123,0,0,0,PD170.
;GO TO ...
$ PD391A,PA25.,GO.,0,0,<PD391.,PD394.,PD394A,PD395.,PD396.>
$ PD391.,0,TO.,0,0,<PD394.,PD394A,PD395.,PD396.>
$ PD394.,PCA17.,USERN.,0,0,<PD395B,PD395F>
$ PD394A,PCA30.,INTGR.,0,0,<PD395B,PD395F>
$ PD395.,PCA17.,PRONM.,0,0,<PD395B,PD395F>
$ PD395B,0,OF.,0,0,<PD395C,PD395D,PD395E>
$ PD395C,PCA18.,PRONM.,0,0,PD395F
$ PD395D,PCA18.,USERN.,0,0,PD395F
$ PD395E,E.139,0,0,0,PD395F
$ PD395F,PA21.,0,0,0,<PD398.,PD398A,PD398B,PD401.,PD405.,PD406.,PD407.,PD407A,PD413.,PD172.>
$ PD395G,0,0,0,0,PD407A			;Used in COBOLD at PA27A.
$ PD396.,E.115,0,0,0,PD170.
$ PD398.,PA24.,USERN.,0,1,PD403.
$ PD398A,PA24.,PRONM.,0,1,PD403.
$ PD398B,PA24.,INTGR.,0,1,PD403.
$ PD401.,PA24.,PRIOD.,0,0,PD172.
$ PD403.,DE125.,0,0,0,PD172.
$ PD405.,PCA17.,USERN.,0,0,<PD407C,PD407G>
$ PD406.,PCA17.,PRONM.,0,0,<PD407C,PD407G>
$ PD407.,PCA30.,INTGR.,0,0,<PD407C,PD407G>
$ PD407A,PA68.,DEPEN.,0,0,<PD410.,PD411.,PD411E,PD412.>
$ PD407C,0,OF.,0,0,<PD407D,PD407E,PD407F>
$ PD407D,PCA18.,PRONM.,0,0,PD407G
$ PD407E,PCA18.,USERN.,0,0,PD407G
$ PD407F,E.139,0,0,0,PD407G
$ PD407G,PA21.,0,0,0,<PD405.,PD406.,PD407.,PD407A,PD408.>
$ PD408.,E.126,0,0,0,PD170.
$ PD410.,0,ON.,0,0,<PD411.,PD411E,PD412.>
$ PD411.,PA2.,DATAN.,0,0,PD411A
$ PD411A,PD800A,0,1,0,PD411B
$ PD411B,PA21.,0,0,0,PD172.
$ PD411E,PA2.,FIGCN.,0,0,PD411B
$ PD412.,E.101,0,0,0,PD170.
$ PD413.,PA24.R,ENDXX.,0,0,PD176.
;IF
$ PD415.,PA102X,IF.,0,0,PD416.
$ PD416.,PD656.,0,1,0,PD416A			;[1602]
$ PD416A,PD416B,0,1,0,PD433A		 	;[1602]
$ PD416B,0,0,0,0,<PD417.,PD420.,PD433.>  	;[1602]
$ PD417.,0,NEXT.,0,0,<PD418.,PD419.>
$ PD418.,PA103N,SENT.,0,0,<PD421.,PD422.,PD424.,PD423.>	;[1602]
$ PD419.,E.153,0,0,0,PD170.
$ PD420.,TST.8,THEN.,0,0,<PD417.,PD433.>
$ PD421.,PCA7.,ELSE.,0,0		     ;[1602]
$ PD422.,PCA7.,PRIOD.,0,0		     ;[1602]
$ PD423.,E.152,0,0,0,PD170.
$ PD424.,PCA61.,ENDXX.,0,0		;[1611][1602] could be an END-IF
$ PD425.,PA192.,ELSE.,0,0,PD437.	;[1602]
$ PD433.,PA524.,0,0,0,PD433C	;If error in condition, go pop up a node
$ PD433C,0,0,0,0,PD156.		;[1602]OK so far, go parse statements
$ PD433A,PA24.,0,0,0,<PD425.,PD424.,PD434A,PD433B>	;[1602][244]
$ PD433B,0,0,0,0,<PD435A,PD435W,PD434A>		;[1602][244]
$ PD434.,PCA60.,PRIOD.,0,0 
$ PD434A,PCA61.,PRIOD.,0,0 ;[244]
$ PD435.,PA192.,ELSE.,0,0,<PD436.,PD437.>
$ PD435A,PA148.,ENDIT.,0,0,PD434.
$ PD435B,PCA61.,ENDXX.,0,0,0		;[1602]
$ PD435W,PA37.,WHEN.,0,0,PD160B
$ PD436.,0,NEXT.,0,0,<PD436A,PD434.>
$ PD436A,PA103N,SENT.,0,0,<PD421.,PD422.,PD424.,PD423.>	;[1602][1405]
$ PD437.,PD438.,0,1,0,<PD437A,PD435W,PD434.,PD435A,PD435B>	;[1602]
$ PD437A,PCA61.,ELSE.,0,0 			;[244]
$ PD438.,0,0,0,0,<PD436.,PD433C>				;[1602]
;MOVE
$ PD441.,PA70.,MOVE.,0,0,<PD446.,PD443.,PD444.,PD444A,PD445.,PD445A,PD445B,P1220A,PD1220,PD442.,PD169.>
$ PD442.,PA450.,USERN.,0,0,PD446.		;Undefined data-name
$ PD443.,PA2.,LITER.,0,0,<PD448.,PD214.>
$ PD444.,PA2.,FIGCN.,0,0,<PD448.,PD214.>
$ PD444A,PA2.8,SYCHN.,0,0,<PD448.,PD214.>	;symbolic-character
$ PD445.,TST.HI,CORR.,0,0,<PD455.,PD455A,PD169.>
$ PD445A,PA2.,NLIT.,0,0,<PD448.,PD214.>
$ PD445B,PA2.,INTGR.,0,0,<PD448.,PD214.>
$ PD446.,PA2.,DATAN.,0,0,PD446C
$ PD446C,PD800A,0,1,0,<PD448.,PD214.>
$ PD447.,0,0,0,0,<PD446.,PD443.,PD444.,PD444A,PD445.,PD445A,PD445B,PD442.,PD169.>

$ PD448.,PA21.,TO.,0,0,<PD451.,PD452.,PD452A,PD452B,PD452C,PD452D,PD452E,PD169.>
$ PD451.,PA2.,DATAN.,0,0,PD451C
$ PD451C,PD800A,0,1,0,PD451D
$ PD451D,PA21.,0,0,0,<PD451.,PD452.,PD452A,PD452B,PD452C,PD452D,PD452E,PD172.>
$ PD452.,PA450.,USERN.,0,0,PD451.
$ PD452A,PA451.,LITER.,0,0,PD453.
$ PD452B,PA451.,FIGCN.,0,0,PD453.
$ PD452C,PA451.,NLIT.,0,0,PD453.
$ PD452D,PA451.,INTGR.,0,0,PD453.
$ PD452E,PA451.,SYCHN.,0,0,PD453.
$ PD453.,PA2.,0,0,0,PD451D

$ PD455.,PA2.,DATAN.,0,0,PD455C
$ PD455A,PA450.,USERN.,0,0,PD455.
$ PD455C,PD800A,0,1,0,<PD456.,PD214.>
$ PD456.,PA47.,TO.,0,0,<PD457.,PD457A,PD169.>
$ PD457.,PA2.,DATAN.,0,0,PD457C
$ PD457A,PA450.,USERN.,0,0,PD457C
$ PD457C,PD800A,0,1,0,PD458.
$ PD458.,PCA67.,0,0,0,PD219.
;MULTIPLY
$ PD464.,PA72.,MULTI.,0,0,<PD465.,PD466.,PD467.,PD467F,PD169.>
$ PD465.,PA2.,DATAN.,0,0,PD465A
$ PD465A,PD800.,0,1,0,PD472.
$ PD466.,PA2.,NLIT.,0,0,PD472.
$ PD467.,PA2.,INTGR.,0,0,PD472.
$ PD467F,0,FIGCN.,0,0,PD467.
$ PD470.,0,BY.,0,0,<PD475.,PD476.,PD477.,PD477F,PD169.>
$ PD472.,PA21.,0,0,0,<PD470.,PD374.>
$ PD474.,0,0,0,0,<PD478.,PD487.>
$ PD475.,PA2.,DATAN.,0,0,PD475A
$ PD475A,PD800.,0,1,0,PD474.
$ PD476.,PA2.,INTGR.,0,0,PD481.
$ PD477.,PA2.,NLIT.,0,0,PD481.
$ PD477F,0,FIGCN.,0,0,PD477.
$ PD478.,PCA63.,GIVIN.,0,0,<PD482.,PD412.>
$ PD479.,PCA39.,GIVIN.,0,0,<PD482.,PD412.>
$ PD480.,E.121,0,0,0,PD170.
$ PD481.,PA21.,0,0,0,<PD479.,PD480.>
$ PD482.,PA2.,DATAN.,0,0,PD482A
$ PD482A,PD800.,0,1,0,PD482B
$ PD482B,PA34.,0,0,0,<PD485.,PD486.>
$ PD482C,PA2.HI,DATAN.,0,0,PD482A
$ PD485.,PA35.,ROUND.,0,0,PD486.
$ PD486.,PA21.,0,0,0,<PD324.,PD325.,PD482C,PD172.>
$ PD487.,PCA37.,0,0,0,<PD485.,PD486.>
;OPEN
$ PD490.,PASU1.,OPEN.,0,0,<PD491.,PD492.,PD493.,PD494.,PD1341,PD1342,PDOJ01,PDOT01,PD490E>
$ PD490E,E.154,0,0,0,PD170.

;OPEN INPUT
$ PD491.,PASU2.,INPUT.,0,0,<PD491A,PD264.>
$ PD491A,PASU5.,FILEN.,0,0,<PD491B,PD491C,PD491D,PD491X>
$ PD491B,PASUR.,REVER.,0,0,<PD491C,PD491D,PD491X>
$ PD491C,0,WITH.,0,0,<PD491D,PD275.>
$ PD491D,0,NO.,0,0,<PD491R,PD275.>
$ PD491R,PASU6.,REWIN.,0,0,PD491X
$ PD491X,PASU7.,0,0,0,<PD491A,PD491.,PD492.,PD493.,PD494.,PDSU20,PD49UN,PD490X>

;OPEN OUTPUT
$ PD492.,PASU3.,OUTPU.,0,0,<PD492A,PD264.>
$ PD492A,PASU5.,FILEN.,0,0,<PD492C,PD492D,PD492X>
$ PD492C,0,WITH.,0,0,<PD492D,PD275.>
$ PD492D,0,NO.,0,0,<PD492R,PD275.>
$ PD492R,PASU6.,REWIN.,0,0,PD492X
$ PD492X,PASU7.,0,0,0,<PD492A,PD491.,PD492.,PD493.,PD494.,PDSU20,PD49UN,PD490X>

;OPEN I-O
$ PD493.,PASU4.,IO.,0,0,<PD493A,PD264.>
$ PD493A,PASU5.,FILEN.,0,0,<PDSU1.,PD493B>
$ PD493B,PASU7.,0,0,0,<PD493A,PD491.,PD492.,PD493.,PD494.,PDSU20,PD49UN,PD490X>

;OPEN EXTEND
$ PD494.,PASUE.,EXTEN.,0,0,<PD494A,PD264.>
$ PD494A,PASU5.,FILEN.,0,0,PD494B
$ PD494B,PASU7.,0,0,0,<PD494A,PD491.,PD492.,PD493.,PD494.,PDSU20,PD49UN,PD490X>

;(VARIOUS PARSE ERRORS FOR "OPEN")
$ PD49UN,DE125.,USERN.,0,1,PD49U1
$ PD49U1,PA24.,0,0,0,PD490X

;FINISHED A COMPLETE "OPEN" STATEMENT
$ PD490X,PASU8.,0,0,0
;PERFORM
$ PD513.,PA94.,PERFO.,0,0,<PD514.,PD514A,PD513A,PD521A,PD523.,PD523A,PD520D,PD525.>
$ PD513A,PA830.,INTGR.,0,0,<PD513B,PD513C>
$ PD513B,PA832.,TIMES.,0,0,PD513D	;[1553]In-line Perform n times
$ PD513C,PA831.,0,0,0,PD514B		;Numeric paragraph
$ PD513D,PA22.,0,0,0,PD513E		;[1553]
$ PD513E,PD156.,0,1,0,PD516.		;[1553]
$ PD514.,PA2.,PRONM.,0,0,PD514B
$ PD514A,PA2.,USERN.,0,0,PD514B
$ PD514B,PA156.,0,0,0,<PD514D,PD514H>
$ PD514D,0,OF.,0,0,<PD514E,PD514F,PD244E>
$ PD514E,PCA26.,USERN.,0,0,PD514H
$ PD514F,PCA26.,PRONM.,0,0,PD514H
$ PD514H,0,0,0,0,<PD519.,PD520.,PD521.,PD555.,PD555A,PD514I>
$ PD514I,PCA29.,0,0,0,<PD517.,PD518.,PD518A,PD172.>	; [265]
$ PD515.,E.155,0,0,0,PD170.
$ PD516.,PA835.,0,0,0			;[1553]
$ PD517.,PA2.,DATAN.,0,0,PD517A
$ PD517A,PD800A,0,1,0,<PD530.,PD531.>
$ PD518.,PA2.,INTGR.,0,0,<PD530.,PD531.>
$ PD518A,PA400.,FIGCN.,0,0,<PD530.,PD531.>	; [265]
$ PD519.,0,THRU.,0,0,<PD522A,PD522.,PD519A,PD244E>
$ PD519A,PCA32.,INTGR.,0,0,PD522B
$ PD520.,PA198.,UNTIL.,0,0,PD520F		;[1553]
$ PD520A,PA102.,0,0,0,PD520B
$ PD520B,PD656.,0,1,0,PD520C
$ PD520C,PA199.,0,0,0,PD96.
$ PD520D,PA833.,UNTIL.,0,0,PD520E		;In-line PERFORM UNTIL
$ PD520E,PA198.,0,0,0,PD526.			;[1553]
$ PD520F,PD520A,0,1,0,PD96.			;[1553]
$ PD521.,PA96.,VARYI.,0,0,PD521C		;[1553]
$ PD521A,PA833.,VARYI.,0,0,PD521B		;In-line PERFORM VARYING
$ PD521B,PA96.,0,0,0,PD527.			;[1553]
$ PD521C,PD536.,0,1,0,PD96.			;[1553]
$ PD522.,PCA28.,PRONM.,0,0,PD522B
$ PD522A,PCA28.,USERN.,0,0,PD522B
$ PD522B,0,0,0,0,<PD522D,PD520.,PD521.,PD555.,PD555A,PD522H>
$ PD522D,0,OF.,0,0,<PD522E,PD522F,PD244E>
$ PD522E,PCA27.,USERN.,0,0,<PD520.,PD521.,PD555.,PD555A,PD522H>
$ PD522F,PCA27.,PRONM.,0,0,<PD520.,PD521.,PD555.,PD555A,PD522H>
$ PD522H,PCA44.,0,0,0,<PD517.,PD518.,PD520.,PD521.,PD555.,PD555A,PD172.>
$ PD523.,0,WITH.,0,0,<PD523A,PD555D>		;WITH
$ PD523A,0,TEST.,0,0,<PD523B,PD523C,PD555E>	;TEST
$ PD523B,PA807.,BEFOR.,0,0,<PD521A,PD520D,PD555F>	;BEFORE
$ PD523C,PA808.,AFTER.,0,0,<PD521A,PD520D,PD555F>	;AFTER
$ PD525.,PA834.,0,0,0,PD96.			;Inline PERFORM xxx END-PERFORM
$ PD526.,PD520A,0,1,0,PD513E			;[1553]
$ PD527.,PD536.,0,1,0,PD513E			;[1553]
$ PD530.,PCA45.,TIMES.,0,0,PD172.
$ PD531.,E.127,0,0,0,PD170.
$ PD536.,PA97.,0,0,0,<PD538.,PD539.>
$ PD538.,PA2.,DATAN.,0,0,PD538C
$ PD538C,PD800A,0,1,0,<PD540.,PD540A>
$ PD539.,DE111.,0,0,0,PD554.
$ PD540.,PA98.,FROM.,0,0,<PD542.,PD542A,PD542B,PD543.,PD544.>	; [265]
$ PD540A,E.157,0,0,0,PD554.
$ PD542.,PA2.,INTGR.,0,0,<PD545.,PD546.>
$ PD542A,PA2.,NLIT.,0,0,<PD545.,PD546.>
$ PD542B,PA400.,FIGCN.,0,0,<PD545.,PD546.>	; [265]
$ PD543.,PA2.,DATAN.,0,0,PD543C
$ PD543C,PD800A,0,1,0,<PD545.,PD546.>
$ PD544.,E.131,0,0,0,PD554.
$ PD545.,PA99.,BY.,0,0,<PD547.,PD547A,PD547B,PD548.,PD545A>	; [265]
$ PD545A,E.131,0,0,0,PD554.
$ PD546.,E.124,0,0,0,PD554.
$ PD547.,PA2.,INTGR.,0,0,<PD549.,PD550.>
$ PD547A,PA2.,NLIT.,0,0,<PD549.,PD550.>
$ PD547B,PA400.,FIGCN.,0,0,<PD549.,PD550.>	; [265]
$ PD548.,PA2.,DATAN.,0,0,PD548C
$ PD548C,PD800A,0,1,0,<PD549.,PD550.>
$ PD549.,PA100.,UNTIL.,0,0,PD551.
$ PD550.,E.158,0,0,0,PD554.
$ PD551.,PA102.,0,0,0,PD551A
$ PD551A,PD656.,0,1,0,PD551B
$ PD551B,PA101.,0,0,0,<PD552.,PD551C>
$ PD551C,PA200.,0,0,0,PD96.
$ PD552.,0,AFTER.,0,0,<PD553.,PD536.>
$ PD553.,0,VARYI.,0,0,PD536.
$ PD554.,PA165.,0,0,0,PD166A
$ PD555.,0,WITH.,0,0,<PD555A,PD555D>		;WITH
$ PD555A,0,TEST.,0,0,<PD555B,PD555C,PD555E>		;TEST
$ PD555B,PA807.,BEFOR.,0,0,<PD520.,PD521.,PD555F>	;BEFORE
$ PD555C,PA808.,AFTER.,0,0,<PD520.,PD521.,PD555F>	;AFTER
$ PD555D,E.807,0,0,0,PD170.				;TEST expected
$ PD555E,E.143,0,0,0,PD170.				;BEFORE or AFTER expected
$ PD555F,E.808,0,0,0,PD170.				;UNTIL or VARYING expected
;READ FILE-NAME [NEXT] RECORD [INTO IDENT] [KEY IS IDENT] [AT END / INVALID KEY]
$ PD557.,PA80.,READ.,0,0,<PD558.,PD264.>
$ PD558.,PCA5F.,FILEN.,0,0,PD558B
$ PD558B,PA162.,0,0,0,<PD558D,PD559.,PD559A,PD560.,PD563.,PD566.,PD570A,PD561.>
$ PD558D,PA174N,NEXT.,0,0,<PD559.,PD559A,PD563.,PD566.,PD570A,PD561.>
$ PD559.,0,REC.,0,0,<PD559A,PD563.,PD566.,PD560.,PD570A,PD561.>
$ PD559A,PA174.,INTO.,0,0,<PD559C,PD412.>
$ PD559C,PA2.,DATAN.,0,0,PD559F
$ PD559F,PD800A,0,1,0,PD559G
$ PD559G,PA21.,0,0,0,<PD560.,PD563.,PD566.,PD570A,PD561.>
$ PD560.,PA174K,KEY,0,0,<PD560A,PD560B,PD412.>
$ PD560A,0,IS.,0,0,<PD560B,PD412.>
$ PD560B,PA2.,DATAN.,0,0,PD560C
$ PD560C,PD800A,0,1,0,PD560D
$ PD560D,PCAKIS,0,0,0,<PD559A,PD563.,PD566.,PD570A,PD561.>
$ PD561.,PCA6A.,0,0,0
$ PD563.,0,AT.,0,0,<PD566.,PD567.>
$ PD566.,PCA54.,END.,0,0,PD569.
$ PD567.,E.128,0,0,0,PD170.
$ PD568.,E.753,0,0,0,PD170.
$ PD569.,PD156.,0,1,0,PD211.
$ PD570A,PCA56.,INVAL.,0,0,<PD570B,PD569.>
$ PD570B,0,KEY,0,0,PD569.

;SET
$ PD571.,PA82.,SET.,0,0,PD572.
$ PD572.,0,0,0,0,<PD574.,PD2000,PD2005,PD576.>
$ PD574.,PA2.,DATAN.,0,0,PD574C
$ PD574C,PD800A,0,1,0,PD574D
$ PD574D,PA21.,0,0,0,PD577.
$ PD576.,E.133,0,0,0,PD593.
$ PD577.,0,0,0,0,<PD574.,PD578.,PD579.,PD580.,PD581.>
$ PD578.,0,TO.,0,0,PD584.
$ PD579.,PA83.,UP.,0,0,<PD582.,PD583.>
$ PD580.,PA84.,DOWN.,0,0,<PD582.,PD583.>
$ PD581.,E.132,0,0,0,PD593.
$ PD582.,0,BY.,0,0,PD584.
$ PD583.,E.124,0,0,0,PD593.
$ PD584.,0,0,0,0,<PD585.,PD586.,PD587.,PD587A,PD591.>
$ PD585.,PCA5.,FIGCN.,0,0,PD172.
$ PD586.,PA2.,DATAN.,0,0,PD586C
$ PD586C,PD800A,0,1,0,PD586D
$ PD586D,PA21.,0,0,0,PD172.
$ PD587.,PCA5.,INTGR.,0,0,PD172.
$ PD587A,PCA5.,NLIT.,0,0,PD172.
$ PD591.,E.131,0,0,0,PD593.
$ PD593.,PA165.,0,0,0,PD166A
;STOP RUN / LITERAL
$ PD597.,PA134.,STOP,0,0,<PD598.,PD598A,PD598B,PD598C,PD598E,PD599.,PD599A>
$ PD598.,PCA14.,RUN.,0,0,PD599C
$ PD598A,PCA19.,FIGCN.,0,0
$ PD598B,PCA19S,SYCHN.,0,0,		;symbolic-character
$ PD598C,PCA19A,NLIT.,0,0
$ PD598D,E.186,0,0,0,PD599B
$ PD598E,PCA19A,INTGR.,0,0
$ PD599.,PCA19.,LITER.,0,0
$ PD599A,E.170,0,0,0,PD599B
$ PD599B,PCA14.,0,0,0,PD599C
$ PD599C,0,0,0,0,<PD163.,PD599F,PD599G,PD599P,PD599Q,PD599R,PD599S,PD599M> ;[1554]
$ PD599F,PA24.,USERN.,0,1,PD599L
$ PD599G,PA24.,PRONM.,0,1,PD599L
$ PD599H,PCA16.,ENDIT.,0,0
$ PD599I,E.141,0,0,0,PD599N
$ PD599J,PA133.,0,0,0,PD599C
$ PD599L,PCA16.,0,0,0
$ PD599M,DE125.,0,0,0,PD599L
$ PD599N,PA149.,0,0,0,PD599J
$ PD599P,PA24.,INTGR.,0,1,PD599L
$ PD599Q,PA24.,ELSE.,0,0,PD163.		;[244]
$ PD599R,PA24.,WHEN.,0,0,PD163.		;[533] OK IF IN SEARCH
$ PD599S,PCA7.,ENDXX.,0,0,0		;[1554] OK IF SCOPE TERM.

;SUBTRACT
$ PD600.,PA91.,SUBTR.,0,0,<PD601.,PD602.,PD603.,PD603F,PD600A,PD605.>
$ PD600A,TST.HI,CORR.,0,0,<PD604.,PD169.>
$ PD601.,PA2.,DATAN.,0,0,PD601A
$ PD601A,PD800.,0,1,0,PD611.
$ PD602.,PA2.,NLIT.,0,0,PD611.
$ PD603.,PA2.,INTGR.,0,0,PD611.
$ PD603F,0,FIGCN.,0,0,PD603.
$ PD604.,PA2.,DATAN.,0,0,PD604C
$ PD604C,PD800.,0,1,0,<PD619.,PD214.>
$ PD605.,DE111.,0,0,0,PD606.
$ PD606.,PAYECC,0,0,0,PD172.
$ PD607.,PA2.,DATAN.,0,0,PD601A
$ PD608.,PA2.,NLIT.,0,0,PD611.
$ PD609.,PA2.,INTGR.,0,0,PD611.
$ PD610.,0,FROM.,0,0,<PD613.,PD614.,PD615.,PD615F,PD169.>
$ PD611.,PA21.,0,0,0,<PD607.,PD608.,PD609.,PD610.,PD612.>
$ PD612.,E.157,0,0,0,PD170.
$ PD613.,PA2.,DATAN.,0,0,PD613A
$ PD613A,PD800.,0,1,0,<PD618.,PD617.>
$ PD614.,PA2.,INTGR.,0,0,<PD618.,PD617.>
$ PD615.,PA2.,NLIT.,0,0,<PD618.,PD617.>
$ PD615F,0,FIGCN.,0,0,PD615.
$ PD617.,PCA37.,0,0,0,<PD200.,PD200A>
$ PD618.,PCA38.,GIVIN.,0,0,PD196.
$ PD619.,PA47.,FROM.,0,0,<PD215.,PD169.>
$ PD620.,E.121,0,0,0,PD170.
;REWRITE <RECORD-NAME>
$ PD621R,PA85R.,REWRT.,0,0,<PD623.,PD624.>

;WRITE <RECORD-NAME>
$ PD622.,PA85.,WRITE.,0,0,<PD623.,PD624.>
$ PD623.,PA2.,DATAN.,0,0,PD623A	
$ PD623A,PD800A,0,1,0,PD623B
$ PD623B,PA216.,0,0,0,PD623K
$ PD623C,0,REC.,0,0,<PD623D,PD626.,PD627.,PD634.>
$ PD623D,PA176.,FROM.,0,0,<PD623E,PD623F,PD623G,PD169.>
$ PD623E,PA2.,DATAN.,0,0,PD623I
$ PD623F,PCA5.N,FIGCN.,0,0,<PD626.,PD627.,PD634.>	;[754] FOR DEBBIE, BUT MAKE FIGCN AFTER ADVANCING WORK
$ PD623G,PCA5.N,LITER.,0,0,<PD626.,PD627.,PD634.>
$ PD623I,PD800A,0,1,0,PD623J
$ PD623J,PA21.,0,0,0,<PD626.,PD627.,PD634.>
$ PD623K,PA161.,0,0,0,<PD623C,PD623D,PD626.,PD627.,PD634.>
$ PD624.,E.159,0,0,0,PD170.
$ PD626.,PA86.,BEFOR.,0,0,<PD628.,PD629.,PD630.,PD631.,PD631A,PD631B,PD628C,PD628A>
$ PD627.,PA87.,AFTER.,0,0,<PD628.,PD629.,PD630.,PD631.,PD631A,PD631B,PD628B,PD628A>
$ PD628.,0,ADVAN.,0,0,<PD629.,PD630.,PD631.,PD631A,PD631B,PD628A>
$ PD628A,E.288,0,0,0,PD170.
$ PD628B,PA88.,PSTNG.,0,0,<PD629.,PD630.,PD628D>
$ PD628C,E.581,PSTNG.,0,0,PD170.
$ PD628D,E.580,0,0,0,PD170.
$ PD629.,PA2.HI,DATAN.,0,0,PD629A
$ PD629A,PD800A,0,1,0,PD629B
$ PD629B,PA21.,0,0,0,<PD632.,PD633.>
$ PD630.,PCA5.,INTGR.,0,0,<PD632.,PD633.>
$ PD631.,PCA5.M,SPECN.,0,0,PD633.
$ PD631A,PA89.,PAGE.,0,0,PD633P		;PAGE
$ PD631B,PCA5Z.,FIGCN.,0,0,<PD632.,PD633.>	;ZERO ALLOWED
$ PD632.,0,LINE.,0,0,PD633.
$ PD633.,PCA55.,0,0,0,<PD638A,PD638E,PD96.>
$ PD633P,PCA55.,0,0,0,<PD638B,PD638F,PD96.>
$ PD634.,PA22.,0,0,0,<PD635.,PD638A,PD638E,PD96.>
$ PD635.,PA90.,INVAL.,0,0,<PD637.,PD569.>
$ PD637.,0,KEY,0,0,PD569.
$ PD638.,E.161,0,0,0,PD170.
$ PD638A,0,AT.,0,0,<PD638E,PD568.>
$ PD638B,0,AT.,0,0,<PD638F,PD568.>
$ PD638E,PA81P.,EOP.,0,0,PD569.
$ PD638F,PA81Q.,EOP.,0,0,PD569.

;Pushdown node for expression evaluation
$ PD640.,PA111.,0,0,0,<PD641.,PD642.,PD642A>
$ PD641.,PA125.,MINUS.,0,0,<PD641.,PD642.,PD642A>
$ PD642.,0,PLUS.,0,0,<PD641.,PD642.,PD642A>
$ PD642A,0,0,0,0,<PD643.,PD644.,PD644A,PD643Z,PD645.,PD644B,PD644C,PD646.>
$ PD643.,PA2.,DATAN.,0,0,PD643A
$ PD643A,PD800.,0,1,0,PD643B
$ PD643Z,PCA5.,LITER.,0,0,PD655.
$ PD643B,PA21.,0,0,0,PD655.
$ PD644.,PCA5.,NLIT.,0,0,PD655.
$ PD644A,PCA5.,INTGR.,0,0,PD655.
$ PD644B,PCA5.,FIGCN.,0,0,PD655.
$ PD644C,PCA5.,SYCHN.,0,0,PD655.		;symbolic-character
$ PD645.,PA126.,LPREN.,0,0,<PD641.,PD642.,PD642A>
$ PD646.,PCA82.,0,0,0,PD647.	; [313]
$ PD647.,PA165.,0,0,0,PD647A
$ PD647A,PA133.,0,0,0,PD654.
$ PD648.,PA178.,PLUS.,0,0,<PD641.,PD642.,PD642A>
$ PD649.,PA179.,MINUS.,0,0,<PD641.,PD642.,PD642A>
$ PD650.,PA180.,ASTER.,0,0,<PD641.,PD642.,PD642A>
$ PD651.,PA181.,SLASH.,0,0,<PD641.,PD642.,PD642A>
$ PD652.,PA182.,EXPON.,0,0,<PD641.,PD642.,PD642A>
$ PD653.,PA128.,RPREN.,0,0,PD655.
$ PD653A,PA128.,COLON.,0,0,PD96.  ;RM found colon while evaluating expression
$ PD654.,PCA59.,0,0,0
$ PD655.,0,0,0,0,<PD648.,PD649.,PD650.,PD651.,PD652.,PD653.,PD653A,PD654.>
;TARGET OF IF
$ PD656.,PA104.,0,0,0,PD657.
$ PD657.,0,0,0,0,<PD658.,PD659.,PD659D,PD659E,PD659L,PD660.,
  PD661.,PD662.,PD662A,PD662B,PD662C,PD662D,PD662E,PD662F,PD1100,PD1110,PD169.>
$ PD657A,0,0,0,0,<PD658.,PD658A,PD659D,PD659E,PD659L,PD660.,
  PD661.,PD662.,PD662A,PD662B,PD662C,PD662D,PD662E,PD1100,PD1110,PD169.>
$ PD658.,PA107.,NOT.,0,0,PD657A
$ PD658A,PA2.NT,CONDI.,0,0,PD659A
$ PD659.,PA2.HI,CONDI.,0,0,PD659A
$ PD659A,PD800.,0,1,0,PD659B
$ PD659B,PA21.,0,0,0,PD659C
$ PD659C,0,0,0,0,<PD659F,PD659G,PD659H,PD659I,PD659K>
$ PD659D,PA2.,MNEMO.,0,0,PD659B
$ PD659E,PA2.,SPECN.,0,0,PD659B
$ PD659F,0,IS.,0,0,<PD659G,PD659H,PD659I,PD659J>
$ PD659G,PA107.,NOT.,0,0,<PD659G,PD659H,PD659I,PD659J>
$ PD659H,PA195.,ON.,0,0,PD702.
$ PD659I,PA196.,OFF.,0,0,PD702.
$ PD659J,E.18,0,0,0,PD170.
$ PD659K,PA194.,0,0,0,PD702.
$ PD659L,0,SWTCH.,0,0,<PD659M,PD659J>
$ PD659M,0,LPREN.,0,0,<PD659O,PD659P>
$ PD659O,PA197.,INTGR.,0,0,<PD659Q,PD659J>
$ PD659P,E.25,0,0,0,PD170.
$ PD659Q,0,RPREN.,0,0,<PD659F,PD659G,PD659H,PD659I,PD659J>
$ PD660.,PA126.,LPREN.,0,0,PD657.
$ PD661.,0,DATAN.,0,0,PD661A
$ PD661A,PD661B,0,1,0,PD659B;		;IF IT TURNS OUT TO BE A CONDITIONAL
					; WE WILL COME BACK HERE TO GO
					; TO PD659B, OTHERWISE WE WILL
					; JUMP INTO THE MIDDLE OF THE
					; EXPRESSION SYNTAX SCAN AT
					; PD643A AND EVENTUALLY POP
					; UP TO PD669.
$ PD661B,PA2.,DATAN.,0,0,PD661C;	;SET UP ITEM.
$ PD661C,PD800.,0,1,0,PD661D;		;SCAN QUALIFIERS AND SUBSCRIPTS.
$ PD661D,PA28.,0,0,0;			;SEE IF IT'S A CONDITIONAL AND
					; GO TO THE APPROPRIATE PLACE.
$ PD662.,PA24.,LITER.,0,0,PD669.
$ PD662A,PA24.,NLIT.,0,0,PD669.
$ PD662B,PA24.,INTGR.,0,0,PD669.
$ PD662C,PA24.,PLUS.,0,0,PD669.
$ PD662D,PA24.,MINUS.,0,0,PD669.
$ PD662E,PA24.,FIGCN.,0,0,PD669.
$ PD662F,PA24.S,SYCHN.,0,0,PD669.	;symbolic-character
$ PD669.,PD640.,0,1,0,<PD671.,PD671A,PD672.>
$ PD671.,PA107.,NOT.,0,0,PD672N
$ PD671A,0,IS.,0,0,<PD671.,PD672.>
$ PD672.,0,0,0,0,<PD671.,PD673.,PD673L,PD673U,PD674.,PD675.,PD676.,PD677.,
  PD678.,PD679.,PD680.,PD681.,PD684.>
$ PD672N,0,0,0,0,<PD671.,PD673.,PD673L,PD673U,PD674.,PD675N,PD676N,PD677N,
  PD678N,PD679N,PD680N,PD681N,PD684.>
$ PD673.,PA183.,ALPHB.,0,0,PD702.
$ PD673L,PA803.,ALPHL.,0,0,PD702.
$ PD673U,PA804.,ALPHU.,0,0,PD702.
$ PD674.,PA184.,NUMER.,0,0,PD702.
$ PD675.,PA185.,PSTV.,0,0,PD702.
$ PD675N,PA185N,PSTV.,0,0,PD702.
$ PD676.,PA186.,NEGAT.,0,0,PD702.
$ PD676N,PA186N,NEGAT.,0,0,PD702.
$ PD677.,PA187.,FIGCN.,0,0,PD702.
$ PD677N,PA187N,FIGCN.,0,0,PD702.
$ PD678.,PA188.,GREAT.,0,0,<PD687.,PD686.>
$ PD678N,PA188N,GREAT.,0,0,<PD687.,PD686.>
$ PD679.,PA189.,LESS.,0,0,<PD687.,PD686.>
$ PD679N,PA189N,LESS.,0,0,<PD687.,PD686.>
$ PD680.,PA190.,EQUAL.,0,0,<PD688.,PD686.>
$ PD680N,PA190N,EQUAL.,0,0,<PD688.,PD686.>
$ PD681.,PA187S,SYCHN.,0,0,PD702.		;symbolic-character
$ PD681N,PA187R,SYCHN.,0,0,PD702.		;symbolic-character
$ PD684.,PA841E,0,0,0,0				;either in EVALUATE or error
$ PD686.,PD686A,0,1,0,<PD696.,PD697.,PD698.,PD706.>
$ PD686A,0,0,0,0,<PD685.,PD689.,PD690.,PD690A,PD690B,PD690C,PD691.,PD691A,PD691B,PD169.>
$ PD685.,PA24.,LITER.,0,0,PD694.
$ PD687.,0,THAN.,0,0,PD686.
$ PD688.,0,TO.,0,0,PD686.
$ PD689.,PA24.,DATAN.,0,0,PD694.
$ PD690.,PA24.,NLIT.,0,0,PD694.			;[1635]
$ PD690A,PA24.,INTGR.,0,0,PD694.
$ PD690B,PA24.,FIGCN.,0,0,PD694.
$ PD690C,PA24.S,SYCHN.,0,0,PD694.		;symbolic-character
$ PD691.,PA24.,LPREN.,0,0,PD694.
$ PD691A,PA24.,PLUS.,0,0,PD694.
$ PD691B,PA24.,MINUS.,0,0,PD694.
$ PD694.,PD640.,0,1,0,PD96.
$ PD696.,PA120.,AND.,0,0,PD707A
$ PD697.,PA121.,OR.,0,0,PD707A
$ PD698.,PA122.,RPREN.,0,0,PD702.
$ PD702.,0,0,0,0,<PD703.,PD704.,PD705.,PD706.>
$ PD703.,PA120.,AND.,0,0,PD657.
$ PD704.,PA121.,OR.,0,0,PD657.
$ PD705.,PA122.,RPREN.,0,0,PD702.
$ PD706.,PA123.,0,0,0
$ PD707.,0,0,0,0,<PD708.,PD709.,PD710.,PD711.,PD712.,PD712A,PD712B,PD713.,
PD713D,PD659.,PD659D,PD659E,PD659L,PD671A,PD673.,PD674.,
PD675.,PD676.,PD677.,PD678.,PD679.,PD680.,PD681.,PD169.>
$ PD707A,0,0,0,0,<PD708A,PD709.,PD710.,PD711.,PD712.,PD712A,PD712B,PD713.,
PD713D,PD659.,PD659D,PD659E,PD659L,PD671A,PD673.,PD674.,
PD675.,PD676.,PD677.,PD678.,PD679.,PD680.,PD681.,PD169.>
$ PD708.,PA107.,NOT.,0,0,PD707.
$ PD708A,PA106.,NOT.,0,0,PD707.
$ PD709.,PA126.,LPREN.,0,0,PD707.
$ PD710.,PA24.,PLUS.,0,0,PD714.
$ PD711.,PA24.,MINUS.,0,0,PD714.
$ PD712.,PA24.,LITER.,0,0,PD714.
$ PD712A,PA24.,NLIT.,0,0,PD714.
$ PD712B,PA24.,INTGR.,0,0,PD714.
$ PD713.,0,DATAN.,0,0,PD713A.
$ PD713A,PD713B,0,1,0,PD659B;		;IF IT TURNS OUT TO BE A CONDITIONAL
					; WE WILL COME BACK HERE TO GO
					; TO PD659B, OTHERWISE WE WILL
					; JUMP INTO THE MIDDLE OF THE
					; EXPRESSION SYNTAX SCAN AT
					; PD643A AND EVENTUALLY POP UP
					; TO PD714.
$ PD713B,PA2.,0,0,0,PD713C;		;SET UP ITEM.
$ PD713C,PD800.,0,1,0,PD713F;		;SCAN QUALIFIERS AND SUBSCRIPTS.
$ PD713F,PA28.1,0,0,0;			;SEE IF IT'S A CONDITIONAL AND
					; GO TO THE APPROPRIATE PLACE.
$ PD713D,PA24.,FIGCN.,0,0,PD714.
$ PD714.,PD640.,0,1,0,PD715.
$ PD715.,0,0,0,0,<PD716.,PD717.,PD696.,PD697.,PD671A,PD673.,
PD674.,PD675.,PD676.,PD677.,PD678.,PD679.,PD680.,PD681.,PD706.>
$ PD715N,0,0,0,0,<PD716.,PD717.,PD696.,PD697.,PD671A,PD673.,
PD674.,PD675.,PD676.,PD677.,PD678N,PD679N,PD680N,PD681.,PD706.>
$ PD716.,PA107.,NOT.,0,0,PD715N
$ PD717.,PA122.,RPREN.,0,0,PD715.
;GENERAL SYNTAX TREES FOR QUALIFICATION, SUBSCRIPTING AND ROUNDING

$ PD800.,PA171.,0,0,0,<PD802.,PD809A,PD801.>
$ PD801.,PA170.,0,0,0,<PD801A,PD96.>
$ PD801A,PA35.,ROUND.,0,0,PD96.

;AS ABOVE BUT WITH NO ROUNDING

$ PD800A,PA171.,0,0,0,<PD802.,PD809A,PD801B>
$ PD801B,PA170.,0,0,0,PD96.

$ PD802.,TST.HI,OF.,0,0,<PD804.,PD807.,PD807R,PD807C,PD807U,PD808.>
$ PD804.,PCA42.,DATAN.,0,0,<PD802.,PD809A,PD801.>
$ PD807.,PCA42.,FILEN.,0,0,<PD809A,PD801.>	; [242]
$ PD807C,PCA42.,CDNAM.,0,0,<PD809A,PD801.>
$ PD807R,PCA42.,RPNAM.,0,0,PD801.
$ PD807U,DE111.,USERN.,0,0,<PD802.,PD809A,PD801.>
$ PD808.,E.101,0,0,0,<PD802.,PD809A,PD801.>

$ PD809A,PA205I,LPREN.,0,0,PD809B		;compute nbr of subs needed
$ PD809B,PD809.,0,1,0,PD809C			;scan subscripts
$ PD809C,PA24.R,0,0,0,<PD809N,PD809D,PD809I,PD809R,PD809E>	;
$ PD809D,PCA94.,LPREN.,0,0,<PD809Q,PD809T,PD809F>	;if LPREN., no subs
$ PD809E,PCA94.,0,0,0,<PD809N,PD809Q,PD809F>	;both subs and ref modders
$ PD809F,PD640.,0,1,0,PD809G			;scan ref mod offset
$ PD809G,PA24.R,0,0,0,<PD809H,PD809I,PD809P>	;store offset, cont scan
$ PD809H,PA865.,RPREN.,0,0,PD809O		;RPREN. => never saw COLON.
$ PD809I,0,COLON.,0,0,<PD809L,PD809Q,PD809J>	;found offset, store it
$ PD809J,PA861.,0,0,0,PD809K			;something other than ) after :
$ PD809K,PD640.,0,1,0,PD809M			;scan length
$ PD809L,PA860.,RPREN.,0,0,PD809O		;ref. mod. for offset only
$ PD809M,PA862.,0,0,0,PD809O			;found length, store it
$ PD809N,PA863.,RPREN.,0,0,<PD801A,PD96.>	;no ref. modders
$ PD809O,0,RPREN.,0,0,<PD801A,PD96.>		;
$ PD809P,PA864.,0,0,0				;didn't find : or )
$ PD809Q,DE111.,USERN.,0,0,<PD809I,PD809H,PD809F>	;set up dummy, cont
$ PD809R,E.84,PRIOD.,0,0,PD809O			;
$ PD809T,E.850,COLON.,0,0,<PD809N,PD809K>	;scanned (:, no offset

$ PD809.,PA205.,LPREN.,0,0,<PD810.,PD812.,PD814.>
$ PD810.,PA2.,DATAN.,0,0,<PD826.,PD817.>	;if colon get out
$ PD812.,PA2.,INTGR.,0,0,<PD826.,PD815.>	;    "  "
$ PD814.,PA263.,0,0,0,<PD826.,PD817.>
$ PD815.,PA206.,0,0,0,<PD810.,PD812.,PD816.,PD814.>
$ PD816.,PA220.,RPREN.,0,0,PD96.
$ PD817.,PD818.,0,1,0,PD817A.
$ PD817A,PA206A,0,0,0,<PD817B,PD817C,PD817G>
$ PD817B,PA234.,PLUS.,0,0,<PD817E,PD817F>
$ PD817C,PA235.,MINUS.,0,0,<PD817E,PD817F>
$ PD817E,PA236.,INTGR.,0,0,<PD826.,PD817I>
$ PD817F,E.25,0,0,0,PD817G
$ PD817G,0,0,0,0,<PD810.,PD812.,PD816.,PD817H>
; [165]  MAKE SURE SUBCRIPT CHAR IS LEGAL AND PREVENT LOOP FOR MISSING RIGHT PAREN
$ PD817H,E.251,0,0,0,PD816.
$ PD817I,PA236A,0,0,0,PD817G	; need to scan past INTGR.


$ PD818.,PA171.,0,0,0,<PD820.,PD821.>
$ PD820.,0,OF.,0,0,<PD823.,PD824.,PD825.>
$ PD821.,PA170.,0,0,0,PD96.
$ PD823.,PCA42.,DATAN.,0,0,<PD820.,PD821.>
$ PD824.,PCA42.,FILEN.,0,0,<PD820.,PD821.>
$ PD825.,E.190,0,0,0,<PD820.,PD821.>
$ PD826.,E.274,COLON.,0,0,PD818.	;looked for subs, found RM:

$ PD991.,0,ON.,0,0,<PD992.,PD659J>
$ PD992.,PA255.,OVRFL.,0,0,PD569.
;RELEASE RECORD-NAME [FROM IDENTIFIER]
$ PD902.,PA222.,RELEA.,0,0,<PD903.,PD903B,PD624.>	; [257]
$ PD903.,PA2.,RECNA.,0,0,PD904.
$ PD903B,PA2.,DATAN.,0,0,PD904.
$ PD904.,PD800A,0,1,0,PD904A
$ PD904A,PCA80.,0,0,0,<PD905.,PD906.,PD172.>		; [257]
$ PD905.,0,REC.,0,0,<PD906.,PD172.>
$ PD906.,PA176.,FROM.,0,0,<PD908.,PD624.>
$ PD908.,PA2.,DATAN.,0,0,PD908A
$ PD908A,PD800A,0,1,0,PD909.
$ PD909.,PCA10.,0,0,0

;RETURN FILE-NAME RECORD [INTO IDENTIFIER] AT END IMPERATIVE-STATEMENT
$ PD910.,PA223.,RETUR.,0,0,<PD911.,PD264.>	; [257]
$ PD911.,PCA81.,FILEN.,0,0,<PD559.,PD559A,PD563.,PD566.,PD570A,PD561.>; [257]
;SORT / MERGE
$ PD950.,PA207.,SORT.,0,0,<PD951.,PD264.>
$ PD950A,PA207A,MERG.,0,0,<PD950B,PD950C,PD950D,PD951.,PD264.>
$ PD950B,0,WITH.,0,0,<PD950C,PD950D,PD950E>
$ PD950C,0,SEQCE.,0,0,<PD950D,PD950E>
$ PD950D,PA401.,CHECK.,0,0,<PD951.,PD264.>
$ PD950E,E.592,0,0,0,PD170.
$ PD951.,PCA15.,FILEN.,0,0,<PD954.,PD955.>
$ PD954.,0,ON.,0,0,PD955.
$ PD955.,0,0,0,0,<PD956.,PD957.,PD958.>
$ PD956.,PA208.,DESCN.,0,0,<PD959.,PD960.>
$ PD957.,PA209.,ASCND.,0,0,<PD959.,PD960.>
$ PD958.,E.280,0,0,0,PD170.
$ PD959.,0,KEY,0,0,PD960.
$ PD960.,0,0,0,0,<PD961.,PD169.>
$ PD961.,PA2.,DATAN.,0,0,PD961D
$ PD961D,PD800A,0,1,0,PD961E
$ PD961E,PCA88.,0,0,0,<PD961.,PD954.,PD956.,PD957.,PD963.>
$ PD963.,0,0,0,0,<PD968.,PD969.,PD969A,PD964.,PD965.,PD966.,PD967.,PD978.>
$ PD968.,0,WITH.,0,0,<PD968A,PD968E>		;WITH
$ PD968A,TST.8,DUPL.,0,0,<PD968B,PD968C,PD968D>	;DUPLICATES
$ PD968B,0,IN.,0,0,<PD968C,PD968D>			;IN
$ PD968C,0,ORDER.,0,0,<PD968D,PD968D>		;ORDER
$ PD968D,0,0,0,0,<PD969.,PD969A,PD964.,PD965.,PD966.,PD967.,PD978.>
$ PD968E,E.801,0,0,0,PD170.
$ PD969.,0,COLLA.,0,0,<PD969A,PD963E>		;COLLATING
$ PD969A,PA207C,SEQCE.,0,0,<PD969B,PD969C,PD963E>	;SEQUENCE
$ PD969B,0,IS.,0,0,<PD969C,PD963E>			;IS
$ PD969C,PA229A,ALPBN.,0,0,<PD961.,PD954.,PD956.,PD957.,PD963.>	;alphabet-name
$ PD963E,E.713,0,0,0,PD170.
$ PD964.,PA210.,INPUT.,0,0,<PD979.,PD980.,PD981.,PD981A,PD981B,PD515.>
$ PD965.,PA211.,OUTPU.,0,0,<PD979.,PD980.,PD981.,PD981A,PD981B,PD515.>
$ PD966.,PA212.,USING.,0,0,<PD976A,PD264.>
$ PD967.,PA213.,GIVIN.,0,0,<PD976.,PD264.>
$ PD976.,PCA68.,FILEN.,0,0,<PD976C,PD963.>
$ PD976A,PCA68.,FILEN.,0,0,<PD976B,PD963.>
$ PD976B,PA212F,FILEN.,0,0,PD976A
$ PD976C,PA213S,FILEN.,0,0,PD976.
$ PD978.,PA214.,0,0,0,PD96.
$ PD979.,0,PROC.,0,0,<PD980.,PD981.,PD981A,PD981B,PD515.>
$ PD980.,0,IS.,0,0,<PD981.,PD981A,PD981B,PD515.>
$ PD981.,PA2.,PRONM.,0,0,PD981C
$ PD981A,PA2.,USERN.,0,0,PD981C
$ PD981B,PA163.,INTGR.,0,0,PD981C
$ PD981C,PA156.,0,0,0,<PD983.,PD985.,PD986.>
$ PD983.,0,OF.,0,0,<PD984.,PD984A,PD515.>
$ PD984.,PCA26.,PRONM.,0,0,<PD985.,PD986.>
$ PD984A,PCA26.,USERN.,0,0,<PD985.,PD986.>
$ PD985.,0,THRU.,0,0,<PD987.,PD987A,PD987B,PD515.>
$ PD986.,PCA29.,0,0,0,PD986A
$ PD986A,PA22.,0,0,0,PD963.
$ PD987.,PCA28.,PRONM.,0,0,<PD988.,PD990.>
$ PD987A,PCA28.,USERN.,0,0,<PD988.,PD990.>
$ PD987B,PCA32.,INTGR.,0,0,<PD988.,PD990.>
$ PD988.,0,OF.,0,0,<PD989.,PD989A,PD515.>
$ PD989.,PCA27.,PRONM.,0,0,PD990.
$ PD989A,PCA27.,USERN.,0,0,PD990.
$ PD990.,PCA44.,0,0,0,PD986A
;NOTE: ALWAYS RETURN TO PD493B FOR "OPEN I-O FILEN."
$ PDSU1.,TST.NS,FOR.,0,0,<PDSU2.,PDSU3.,PDSU4.,PDSU5.,PDSU6.,PDSU23>
$ PDSU2.,PASU9.,READ.,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU3.,PASU10,REWRT.,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU4.,PASU11,WRITE.,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU5.,PASU12,DELET.,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU6.,PASU13,ANY.,0,0,<PDSU18,PDSU9.,PDSU10,PDSU29,PD493B>
$ PDSU29,0,VERB.,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU9.,0,ALLOW.,0,0,<PDSU10,PDSU25>
$ PDSU10,TST.NS,OTHER.,0,0,<PDSU11,PDSU12,PDSU13,PDSU14,PDSU15,PDSU16,PDSU26>
$ PDSU11,PASU14,NONE.,0,0,<PDSU19,PD493B>
$ PDSU12,PASU15,READ.,0,0,<PDSU19,PD493B>
$ PDSU13,PASU16,REWRT.,0,0,<PDSU19,PD493B>
$ PDSU14,PASU17,WRITE.,0,0,<PDSU19,PD493B>
$ PDSU15,PASU18,DELET.,0,0,<PDSU19,PD493B>
$ PDSU16,PASU19,ANY.,0,0,<PDSU19,PDSU28,PD493B>
$ PDSU28,0,VERB.,0,0,<PDSU19,PD493B>
$ PDSU18,0,AND.,0,0,<PDSU2.,PDSU3.,PDSU4.,PDSU5.,PDSU24>
$ PDSU19,0,AND.,0,0,<PDSU12,PDSU13,PDSU14,PDSU15,PDSU26>
$ PDSU20,PASU20,UNAVA.,0,0,PDSU21
$ PDSU21,PD156.,0,1,0,PDSU22
;;;;;$ PDSU22,PASU21,0,0,0 ;THE FOLLOWING TWO LINES REPLACE THIS ONE.
;;; NOTE: LET INPUT, OUTPUT, I-O, EXTEND FOLLOW UNAVAILABLE CLAUSE.
$ PDSU22,PASU21,0,0,0,<PD491.,PD492.,PD493.,PD494.,PDSU2A>
$ PDSU2A,PA0.,0,0,0
$ PDSU23,E.326,0,0,0,<PDSU9.,PDSU10,PD493B>
$ PDSU24,E.326,0,0,0,<PDSU18,PDSU9.,PDSU10,PD493B>
$ PDSU25,E.233,0,0,0,<PDSU11,PDSU12,PDSU13,PDSU14,PDSU15,PDSU16,PDSU26>
$ PDSU26,E.326,0,0,0,PD493B
;RETAIN
$ PDSU30,PA822N,RETAI.,0,0,<PDSU31,PDSU32>
;RETAIN FILENAME [NEXT] RECORD FOR...
$ PDSU31,PASU30,FILEN.,0,0,<PDSU90,PDSU33,PDSU58,PDSU36,PDSU37>
$ PDSU90,PASU90,NEXT.,0,0,<PDSU91,PDSU36,PDSU37>
$ PDSU91,0,REC.,0,0,<PDSU36,PDSU37>
$ PDSU33,0,REC.,0,0,<PDSU58,PDSU36,PDSU37>
$ PDSU58,0,KEY,0,0,<PDSU34,PDSU35,PDSU54,PDSU55,PDSU56,PDSU57>
$ PDSU34,PASU31,DATAN.,0,0,PDSU99
$ PDSU35,PASU31,LITER.,0,0,<PDSU36,PDSU37>
$ PDSU54,PASU31,NLIT.,0,0,<PDSU36,PDSU37>
$ PDSU55,PASU31,INTGR.,0,0,<PDSU36,PDSU37>
$ PDSU56,PASU31,FIGCN.,0,0,<PDSU36,PDSU37>
$ PDSU36,0,FOR.,0,0,<PDSU38,PDSU39,PDSU40,PDSU41,PDSU42,PDSU43,PDSU44,PDSU45>
$ PDSU38,PASU33,READ.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU39,PASU34,READR.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU40,PASU35,READW.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU41,PASU36,DELET.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU42,PASU37,WRITE.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU43,PASU38,REWRT.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU44,PASU39,ANY.,0,0,<PDSU4A,PDSU46,PDSU59,PDSU52>
$ PDSU59,0,VERB.,0,0,<PDSU4A,PDSU46,PDSU52>
$ PDSU4A,0,AND.,0,0,<PDSU38,PDSU39,PDSU40,PDSU41,PDSU42,PDSU43,PDSU44,PDSU45>
$ PDSU46,PASU40,UNTIL.,0,0,<PDSU48,PDSU5A>
$ PDSU48,0,FREED.,0,0,PDSU52
$ PDSU47,PASU41,UNAVA.,0,0,PDSU50
$ PDSU50,PD156.,0,1,0,PDSU53
$ PDSU51,PASU42,0,0,0
$ PDSU32,E.13,0,0,0,PD96.
$ PDSU37,E.67,0,0,0,PDSU51
$ PDSU45,E.326,0,0,0,PDSU51
$ PDSU57,E.201,0,0,0,PDSU51
$ PDSU5A,E.148,0,0,0,PDSU51
$ PDSU52,PASU44,0,0,0,<PDSU47,PDSU31,PDSU34,PDSU51>
$ PDSU53,PASU45,0,0,0
$ PDSU99,PD800A,0,1,0,<PDSU36,PDSU37>
;FREE
$ PDSU60,PA822N,FREE.,0,0,<PDSU61,PDSU62,PDSU63>
$ PDSU61,PASU60,EVERY.,0,0,<PDSU64,PDSU65,PDSU66>
$ PDSU63,E.13,0,0,0,PD96.
$ PDSU64,0,REC.,0,0,<PDSU65,PDSU66>
$ PDSU65,PA820.,NOT.,0,0,<PDSU67,PDSU68>
$ PDSU66,PASU63,0,0,0
$ PDSU67,PASU61,RETAD.,0,0,PDSU69
$ PDSU68,E.18,0,0,0,PDSU66
$ PDSU69,PD156.,0,1,0,PDSU70
$ PDSU70,PASU62,0,0,0
$ PDSU62,PASU30,FILEN.,0,0,<PDSU92,PDSU97,PDSU80,PDSU78,PDSU76>
;FREE FILENAME [NEXT RECORD]..
$ PDSU92,PASU92,NEXT.,0,0,<PDSU79,PDSU76>
$ PDSU71,PASU31,DATAN.,0,0,PDSU98
$ PDSU72,PASU31,LITER.,0,0,PDSU76
$ PDSU73,PASU31,NLIT.,0,0,PDSU76
$ PDSU74,PASU31,INTGR.,0,0,PDSU76
$ PDSU75,PASU31,FIGCN.,0,0,PDSU76
$ PDSU76,PASU66,0,0,0,<PDSU65,PDSU62,PDSU66>
$ PDSU78,PASU64,EVERY.,0,0,<PDSU79,PDSU76>
$ PDSU79,0,REC.,0,0,PDSU76
$ PDSU80,0,KEY,0,0,<PDSU71,PDSU72,PDSU73,PDSU74,PDSU75,PDSU81>
$ PDSU81,E.201,0,0,0,PD96.
$ PDSU98,PD800A,0,1,0,PDSU76
$ PDSU97,0,REC.,0,0,<PDSU80,PDSU76>

;UNLOCK -- JUST A STUB FOR NOW.

$ PSU100,PASU70,UNLOC.,0,0,PD170.
;GENERATE <REPORT-ITEM-NAME, REPORT-NAME>
$ PD1000,PA225.,GEN.,0,0,<PD1001,PD1002,PD1003>
$ PD1001,PA226.,DATAN.,0,0,0
$ PD1002,PA227.,RPNAM.,0,0,0
$ PD1003,E.104,0,0,0,PD96.


;INITIATE <REPORT-NAME>, <REPORT-NAME>, ...

$ PD1010,PA228.,INIT.,0,0,<PD1011,PD1012>
$ PD1011,PA229.,RPNAM.,0,0,<PD1011,PD96.>
$ PD1012,E.359,0,0,0,PD96.


;SUPPRESS [PRINTING].

$ PD1015,PA523.,SUPPR.,0,0,<PD1016,PD172.>
$ PD1016,0,PRINT.,0,0,PD172.


;TERMINATE <REPORT-NAME>, <REPORT-NAME>, ...

$ PD1020,PA230.,TERM.,0,0,<PD1021,PD1012>
$ PD1021,PA229.,RPNAM.,0,0,<PD1021,PD96.>


;USE BEFORE REPORTING <REPORT-GROUP-NAME>

$ PD1022,TST.RP,REPTG.,0,0,<PD1023,PD1026,PD1027>
$ PD1023,PA233.,DATAN.,0,0,<PD158A,PD1025>	;[1573]
$ PD1025,DE125.,0,0,0,PD158A			;[1573]
$ PD1026,E.104,USERN.,0,0,<PD158A,PD1025>	;[1573]
$ PD1027,E.18,0,0,0,PD96.
;TRACE ON/OFF

$ PD1028,PA237.,TRAC.,0,0,<PD1029,PD1030,PD1031>
$ PD1029,PA238.,ON.,0,0,PD172.
$ PD1030,PA239.,OFF.,0,0,PD172.
$ PD1031,E.388,0,0,0,PD1029

;SEARCH

$ PD1032,PA240.,SEARC.,0,0,<PD1033,PD1040,PD1041>
$ PD1033,PA241.,DATAN.,0,0,<PD1034,PD1037,PD1042,PD1049>
$ PD1034,0,VARYI.,0,0,<PD1035,PD1036>
$ PD1035,PA2.,DATAN.,0,0,P1035A			;[221]
$ P1035A,PD800A,0,1,0,P1035B			;[221]
$ P1035B,PA21.,0,0,0,<PD1037,PD1042,PD1049>	;[221]
$ PD1036,E.101,0,0,0,<PD1037,PD1042,PD1049>
$ PD1037,0,AT.,0,0,<PD1042,PD1043>
$ PD1039,PCA84.,0,0,0,PD554.	; [362] COUNT-DOWN SPFLVL LEVEL COUNT AND GIVE "WHEN" EXPECTED MSG
$ PD1040,PA242.,ALL.,0,0,<PD1058,PD1041>
$ PD1041,E.101,0,0,0,PD166A
$ PD1042,0,END.,0,0,<P1042A,P1044A>
$ P1042A,0,NEXT.,0,0,<P1042B,P1042C>
$ P1042B,0,SENT.,0,0,PD1049
$ P1042C,E.148,0,0,0,PD1049
$ PD1043,E.128,0,0,0,PD1049
$ PD1044,PD156.,0,1,0,<PD1046,PD1045,P1045A,P1044B>
$ P1044A,PCA54.,0,0,0,PD1044
$ P1044B,PCA84.,0,0,0,P1044C	; [362] COUNT-DOWN SPFLVL LEVEL COUNT AND GIVE "WHEN" EXPECTED MSG
$ P1044C,PCA16.,PRIOD.,0,0,0
$ PD1045,PA149.,PRIOD.,0,0,PD1039
$ P1045A,PA149.,ENDIT.,0,0,PD1039
$ PD1046,PA245.,WHEN.,0,0,PD1050
$ PD1047,PA102.,0,0,0,PD1051
$ PD1048,PA244.,0,0,0,<P1048A,PD96.>
$ P1048A,PA24.,ENDXX.,0,0,PD96.	;[1553] shut off SWHEN if END-XXX
$ PD1049,PCA54.,0,0,0,<PD1046,PD1039>
$ PD1050,PA140.,0,0,0,PD1047
$ PD1051,PD656.,0,1,0,<PD1052,PD1055>
$ PD1052,PA245.,NEXT.,0,0,<PD1053,PD1054>
$ PD1053,0,SENT.,0,0,<PD1057,PD1048>
$ PD1054,E.153,0,0,0,<PD1057,PD1048>
$ PD1055,PA524.,0,0,0,P1055A	;If error in condition, pop up a node
$ P1055A,PD156.,0,1,0,PD1056	;OK so far, go parse statements
$ PD1056,PA245.,0,0,0,<PD1057,PD1048>
$ PD1057,PA37.,WHEN.,0,0,PD1047
;SEARCH ALL

$ PD1058,PA241.,DATAN.,0,0,<PD1059,PD1061,PD1060>
$ PD1059,0,AT.,0,0,<PD1061,PD1062>
$ PD1060,PCA54.,0,0,0,<PD1063,PD1039>
$ PD1061,0,END.,0,0,<P1061A,P1064A>
$ P1061A,0,NEXT.,0,0,<P1061B,P1061C>
$ P1061B,0,SENT.,0,0,PD1060
$ P1061C,E.148,0,0,0,PD1060
$ PD1062,E.128,0,0,0,PD1060
$ PD1063,PA245.,WHEN.,0,0,PD1070
$ PD1064,PD156.,0,1,0,<PD1063,PD1045,P1045A,P1044B>
$ P1064A,PCA54.,0,0,0,PD1064
$ PD1065,PD689.,DATAN.,1,0,<PD1071,PD1073,PD1074>
$ PD1066,PCA72.,CONDI.,0,0,PD1067
$ PD1067,PD800A,0,1,0,PD1068
$ PD1068,PCA73.,0,0,0,<PD1076,PD1077>
$ PD1070,PA140.,0,0,0,<PD1065,PD1066,PD1065>
$ PD1071,0,IS.,0,0,<PD1073,PD1075>
$ PD1072,0,TO.,0,0,PD1075
$ PD1073,0,EQUAL.,0,0,<PD1072,PD1075>
$ PD1074,E.389,0,0,0,PD170.				;[205]= EXPECTED
$ PD1075,PD686A,0,1,0,<PD1076,PD1077>
$ PD1076,0,AND.,0,0,<PD1065,PD1066,PD1065>
$ PD1077,PA246.,0,0,0,<PD1078,PD1081>
$ PD1078,0,NEXT.,0,0,<PD1079,PD1080>
$ PD1079,0,SENT.,0,0,PD1082
$ PD1080,E.153,0,0,0,PD1082
$ PD1081,PD156.,0,1,0,PD1083
$ PD1082,PA247.,0,0,0,PD96.
$ PD1083,PA24.,0,0,0,PD1082
;PROCEDURE DIVISION USING <IDENTIFIER, ...>

$ PD1085,PA258.,0,0,0,<PD1086,PD1087>
$ PD1086,PD1093,USING.,1,0,<PD7.0,PD8.>
$ PD1087,PCA25.,0,0,0,<PD7.0,PD8.>

;ENTRY <ENTRY-NAME> USING <IDENTIFIER, ...>

$ PD1089,PA262.,EXTNA.,0,0,<P1097A,PD909.>
$ PD1090,PA256.,ENTRY.,0,0,<PD1089,PD1092,PD1097,PD1091>
$ PD1091,E.95,0,0,0,PD170.
$ PD1092,PA257.,USERN.,0,0,<P1097A,PD909.>
$ PD1093,PA259.,USING.,0,0,P1097A
$ PD1094,PCA74.,DATAN.,0,0,PD1095
$ P1094A,PA24.,USERN.,0,1,PD172.	;[520] THIS IS PARAG. MISSING PERIOD
$ P1094B,E.104,USERN.,0,0,P1094C	;[520] UNDEFINED DATA ITEM
$ P1094C,PA263.,USERN.,0,0,PD1095	;[520] GIVE DUMMY FOR E & CONTIN
$ PD1095,PD800A,0,1,0,PD1096
$ PD1096,PA21.,0,0,0,<PD1094,P1094A,P1094B,PD172.>	;[520] LOOP BACK
$ PD1097,PA254.,LITER.,0,0,PD1092
$ P1097A,PA217.,USING.,0,0,<PD1094,P1094A,P1094B,PD412.>	;[520]
$ PD1099,PA217.,USING.,0,0,<PD1094,P1094A,P1094B,PD172.>	;[520]
SUBTTL	DBMS SYNTAX
IFN DBMS,<

;IF <SET-NAME> SET [NOT] EMPTY, ...

$ PD1100,PA265.,USERN.,0,0,<PD1101,PD1102>
$ PD1101,TST.DB,SET.,0,0,<PD1103,PD1104,PD1104>
$ PD1102,PA267.,0,0,0,PD170.
$ PD1103,PA107.,NOT.,0,0,<PD1104,PD1104>
$ PD1104,PA266.,EMPTY.,0,0,PD702.


;IF RECORD [NOT] [MEMBER/OWNER] OF <SET-NAME>/ANY SET

$ PD1110,TST.DB,REC.,0,0,<PD1111,PD1112,PD1113,PD1114,PD1115,PD1116,PD1117>
$ PD1111,PA107.,NOT.,0,0,<PD1112,PD1113,PD1114,PD1115,PD1116,PD1117>
$ PD1112,PA268.,MEMBR.,0,0,<PD1118,PD1115,PD1116,PD1117>
$ PD1113,PA269.,OWNER.,0,0,<PD1118,PD1115,PD1116,PD1117>
$ PD1114,PA270.,OF.,0,0,<PD1115,PD1116,PD1117>
$ PD1115,PA265.,USERN.,0,0,<PD1119,PD1120>
$ PD1116,PA265.,ANY.,0,0,<PD1119,PD1120>
$ PD1117,E.403,0,0,0,PD170.
$ PD1118,0,OF.,0,0,<PD1115,PD1116,PD1117>
$ PD1119,PA271.,SET.,0,0,PD702.
$ PD1120,E.404,0,0,0,PD170.


;USE IF ERROR-STATUS [INTEGER,...].

$ PD1125,TST.DB,IF.,0,0,<PD1126,PD1127>
$ PD1126,PA272.,DATAN.,0,0,<PD1128,PD1131,PD1129,PD1130>
$ PD1127,PA272E,0,0,0,<PD1134,PD96.>
$ PD1128,PA274.,PRIOD.,0,0,PD96.
$ PD1129,PA273.,INTGR.,0,0,<PD1134,PD1129,PD1133>
$ PD1130,DE125.,0,0,0,PD1128
$ PD1131,0,IS.,0,0,<PD1129,PD1132>
$ PD1132,E.25,0,0,0,PD96.
$ PD1133,DE125.,0,0,0,PD96.
$ PD1134,0,PRIOD.,0,0,PD96.


;CLOSE ALL.

$ P1135A,PA275.,ALL.,0,0,<PD172.,PD172.>


;CLOSE RUN-UNIT.	(FOR SUPPORT OF BACKUP RECOVERY)
$ P1135B,PA275.,RNUNT.,0,0,<PD172.,PD172.>


;CLOSE JOURNAL.	(FOR SUPPORT OF BACKUP RECOVERY)
$ P1135C,PA275.,JOURN.,0,0,<PD172.,PD172.>


>
;CLOSE TRANSACTION [TRANSNAME] (DBMS-V6 ENHANCEMENT)
IFN DBMS6,<
$ PDCT01,PACT01,TRANS.,0,0,<PDCT02,PDCT03>
$ PDCT02,PA277.,USERN.,0,0,PD172.
$ PDCT03,PA283.,0,0,0,PD172.
>
IFE DBMS6,<$ PDCT01,E.91,TRANS.,0,0,PD170.>

;CLOSE AREA A1 [,A2...].
IFN DBMS,<
$ PD1136,PA275.,AREA.,0,0,<PD1137,PD1138>
$ PD1137,PA277.,USERN.,0,0,<PD1137,PD172.>
$ PD1138,E.407,0,0,0,PD1139
$ PD1139,PA22.,0,0,0,PD96.
>


;STORE <REC-NAME> [SUPPRESS AREA/ALL/REC/SET/<SET-NAME,...> CURR UPDATE].

IFN DBMS,<
$ PD1140,TST.DB,STORE.,0,0,<PD1142,PD1141>
$ PD1141,E.159,0,0,0,PD1152
$ PD1142,PA279.,DATAN.,0,0,<PD1143,PD172.>
$ PD1143,0,SUPPR.,0,0,<PD1145,PD1146,PD1147,PD1148,PD1149,PD1144>
$ PD1144,E.409,0,0,0,PD1153
$ PD1145,PA277.,ALL.,0,0,<PD1150,PD1151,PD172.>
$ PD1146,PA277.,REC.,0,0,<PD1147,PD1148,PD1149,PD1150,PD1151,PD172.>
$ PD1147,PA277.,AREA.,0,0,<PD1146,PD1148,PD1149,PD1150,PD1151,PD172.>
$ PD1148,PA277.,SET.,0,0,<PD1146,PD1147,PD1150,PD1151,PD172.>
$ PD1149,PA277.,USERN.,0,0,<PD1146,PD1147,PD1149,PD1150,PD1151,PD172.>
$ PD1150,0,CURR.,0,0,<PD1151,PD172.>
$ PD1151,0,UPDAT.,0,0,<PD172.,PD172.>
$ PD1152,0,0,0,0,<PD1143,PD96.>
$ PD1153,0,0,0,0,<PD96.,PD96.>
>
;INSERT <REC-NAME> INTO [ALL SETS]/[<SET-NAME,...>]

IFN DBMS,<
$ PD1155,PA280.,INSRT.,0,0,<P1156A,PD1156,PD1160>
$ P1156A,PA283.,INTO.,0,0,PD1157
$ PD1156,PA277.,DATAN.,0,0,<PD1157,PD1162>
$ PD1157,0,INTO.,0,0,<PD1158,PD1159,PD1163>
$ PD1158,PA277.,ALL.,0,0,<P11581,PD172.>
$ P11581,0,SET.,0,0,<PD172.,PD172.>
$ PD1159,PA277.,USERN.,0,0,<PD1159,PD172.>
$ PD1160,E.159,0,0,0,PD170.
$ PD1162,E.411,0,0,0,PD1164
$ PD1163,E.412,0,0,0,PD1164
$ PD1164,PA149.,0,0,0,<PD172.,PD172.>
>


;MODIFY [<REC-NAME>].
;MODIFY <REC-NAME>; DATA-NAME1 [, DATA-NAME2,...].

IFN DBMS,<
$ PD1170,PA281.,MODIF.,0,0,<PD1171,PD1173>
$ PD1171,PA277.,DATAN.,0,0,<PD1172,PD172.>
$ PD1172,PA277.,DATAN.,0,0,<PD1172,PD172.>
$ PD1173,PA283.,0,0,0,PD172.
$ PD1174,E.159,0,0,0,PD1175
$ PD1175,PA283.,0,0,0,<PD170.,PD170.>
>


;GET [<REC-NAME>].
;GET <REC-NAME>; DATA-NAME1 [,DATA-NAME2,...].

IFN DBMS,<
$ PD1180,PA282.,GET.,0,0,<PD1181,PD1182>
$ PD1181,PA277.,DATAN.,0,0,<PD1181,PD172.>
$ PD1182,PA283.,0,0,0,PD172.
$ PD1183,E.159,0,0,0,PD1184
$ PD1184,PA283.,0,0,0,<PD170.,PD170.>
>


;REMOVE <REC-NAME> FROM [ALL SETS]/<SET-NAME1,...>].

IFN DBMS,<
$ PD1190,PA284.,REMOV.,0,0,<PD1194,PD1191,PD1160>
$ PD1191,PA277.,DATAN.,0,0,<PD1192,PD1193>
$ PD1192,0,FROM.,0,0,<PD1158,PD1159,PD1163>
$ PD1193,E.157,0,0,0,PD1175
$ PD1194,PA283.,FROM.,0,0,PD1192
>


;DELETE <REC-NAME> [ONLY/SELECTIVE/ALL] [MEMBERS [FROM SET1,...]].
;DELETE [ONLY/SELECTIVE/ALL] [MEMBERS [FROM SET1,...]].
;	MEMBERS CLAUSE IS DBMS-V6 ENHANCEMENT
;DELETE TRANSACTION [TRANSNAME] (DBMS-V6 ENHANCEMENT)
;[68] DELETE <REC-NAME> INVALID KEY ...
;[74] DELETE <FILE-NAME> RECORD [INVALID KEY <IMPERATIVE SENTENCE>]

IFN DBMS,<
$ PD1200,PA85D.,DELET.,0,0,<PD1201,PD1202,PD1203,PD1204,PD1216,P1218A,PD1213>
$ PD1201,PA285.,ALL.,0,0,<P1219A,PD172.>
$ PD1202,PA285.,SELTV.,0,0,<P1219A,PD172.>
$ PD1203,PA285.,ONLY.,0,0,<P1219A,PD172.>
$ PD1204,SAVEM.,DATAN.,0,0,<PD1205,PD1207,PD1209,PD1210,PD1214,PD1206>
$ PD1205,PA286.,INVAL.,0,0,P1205A
$ P1205A,E.715,0,0,0,<PD637.,PD569.>
$ PD1206,PA287.,0,0,0,<P1219A,PD172.>
$ PD1207,PA288.,ONLY.,0,0,<P1219A,PD172.>
$ PD1209,PA288.,ALL.,0,0,<P1219A,PD172.>
$ PD1210,PA288.,SELTV.,0,0,<P1219A,PD172.>
$ PD1211,E.414,0,0,0,PD1212
$ PD1212,GETEM.,0,0,0,PD170.
$ PD1213,PA285A,0,0,0,<P1219A,PD172.>
$ PD1214,PA288A,OF.,0,0,PD1215
$ PD1215,PD802.,0,1,0,PD623B
IFN DBMS6,<
$ P1218A,PADT01,TRANS.,0,0,<PDCT02,PDCT03>
$ P1219A,0,MEMBR.,0,0,<P1219B,PDCT03>
$ P1219B,0,FROM.,0,0,<P1219C,P1219D>
$ P1219C,PA277.,USERN.,0,0,<P1219C,PD172.>
$ P1219D,E.422,0,0,0,PD1164
>		;END IFN DBMS6
IFE DBMS6,<
$ P1218A,E.91,TRANS.,0,0,PD170.
$ P1219A,0,0,0,0,PD172.
>		;END IFE DBMS6
>		;END IFN DBMS

IFE DBMS,<
$ PD1200,PA85D.,DELET.,0,0,<PD1216,PD264.>
>

$ PD1216,PCA5F.,FILEN.,0,0,<P1216A,P1216B,PD561.>	;FILE-NAME
$ P1216A,0,REC.,0,0,<P1216B,PD561.>		;RECORD
$ P1216B,PCA56.,INVAL.,0,0,<P1216C,PD569.>	;INVALID
$ P1216C,0,KEY,0,0,PD569.			;KEY



;MOVE STATUS FOR [RUN-UNIT/<REC-NAME> RECORD/<SET> SET/
		;<AREA-NAME> AREA] TO <IDENTIFIER>.

IFN DBMS,<
$ P1220A,0,CURR.,0,0,<PD1220,PD1237>
$ PD1220,PA289.,STATU.,0,0,<PD1221,PD1222,PD1223,PD1234,PD1230>
$ PD1221,0,FOR.,0,0,<PD1222,PD1223,PD1234,PD1230>
$ PD1222,PA290.,RNUNT.,0,0,<PD1227,PD1231>
$ PD1223,PA277R,DATAN.,0,0,<PD1226,PD1232>	;[1026]
$ PD1224,PA277.,AREA.,0,0,<PD1227,PD1231>
$ PD1225,PA277.,SET.,0,0,<PD1227,PD1231>
$ PD1226,PA277.,REC.,0,0,<PD1227,PD1231>
$ PD1227,0,TO.,0,0,<PD1228,PD412.>
$ PD1228,PA2.,DATAN.,0,0,P1228A;	;[642]
$ P1228A,PD800A,0,1,0,P1228B;		;[642]
$ P1228B,PA21.,0,0,0,PD172.;		;[642]
$ PD1229,E.418,0,0,0,PD1236
$ PD1230,E.416,0,0,0,PD1236
$ PD1231,E.136,0,0,0,PD1236
$ PD1232,E.417,0,0,0,PD170.
$ PD1234,PA277.,USERN.,0,0,<PD1224,PD1225,PD1235>
$ PD1235,E.419,0,0,0,PD170.
$ PD1236,PA283.,0,0,0,PD170.
$ PD1237,E.467,0,0,0,PD170.
>


IFE DBMS,<
$ P1220A,DE111.,CURR.,0,0,PD170.
$ PD1220,DE111.,STATU.,0,0,PD170.
>
;FIND RSE [SUPPRESS ALL/RECORD/AREA/SET/<SET-NAME>,...] [CURRENCY UPDATES].


IFE DBMS,<
$ PD1240,E.91,FIND.,0,0,PD170.
>

IFN DBMS,<

$ PD1240,TST.DB,FIND.,0,0,PD1241
$ PD1241,0,0,0,0,<PD1260,PD1242,PD1300,PD1301,PD1302,PD1303,PD1304,PD1305,PD1307,PD1330,PD1280>
$ PD1242,0,OWNER.,0,0,<PD1243,PD1244,PD1245,PD1280>
$ PD1243,0,IN.,0,0,<PD1245,PD1281>
$ PD1244,PA293.,REC.,0,0,<PD1271,PD1272,PD1281>
$ PD1245,SAVEM.,USERN.,0,0,<PD1246,PD1247,PD1248,PD1249,PD1258>
$ PD1246,PA294.,OF.,0,0,<P1260A,PD1282>
$ PD1247,PA294.,CURNT.,0,0,P1260A
$ PD1248,PA295.,SET.,0,0,<PD1250,PD172.>
$ PD1249,PA295.,SUPPR.,0,0,PD1250

;END OF RSE PARSE, RETURN TO "FIND" PARSE.
$ PD1250,0,SUPPR.,0,0,<PD1251,PD1252,PD1253,PD1254,PD1255,PD1283>
$ PD1251,PA277.,ALL.,0,0,<PD1256,PD1257,PD172.>
$ PD1252,PA277.,REC.,0,0,<PD1253,PD1254,PD1255,PD1256,PD1257,PD172.>
$ PD1253,PA277.,AREA.,0,0,<PD1252,PD1254,PD1255,PD1256,PD1257,PD172.>
$ PD1254,PA277.,SET.,0,0,<PD1252,PD1253,PD1256,PD1257,PD172.>
$ PD1255,PA277.,USERN.,0,0,<PD1252,PD1253,PD1255,PD1256,PD1257,PD172.>
$ PD1256,0,CURR.,0,0,<PD1257,PD172.>
$ PD1257,0,UPDAT.,0,0,<PD172.,PD172.>
$ PD1258,PA295.,0,0,0,PD172.


;PARSE RSE2 AND RSE4.
$ PD1260,PA291.,CURNT.,0,0,P1260A
$ P1260A,0,CURNT.,0,0,<PD1261,PD1262,PD1264,PD1267,PD1278>
$ PD1261,0,OF.,0,0,<PD1262,PD1264,PD1267,PD1278>
$ PD1262,PA277.,DATAN.,0,0,<PD1263,PD1232>
$ PD1263,PA277.,REC.,0,0,<PD1250,PD172.>
$ PD1264,PA277.,USERN.,0,0,<PD1265,PD1266,PD1277>
$ PD1265,PA277.,SET.,0,0,<PD1250,PD172.>
$ PD1266,PA277.,AREA.,0,0,<PD1250,PD172.>
$ PD1267,PA290.,RNUNT.,0,0,<PD1250,PD172.>
$ PD1268,0,0,0,0,<PD1269,PD1281>
$ PD1269,PA277.,USERN.,0,0,<PD1270,P1260A,PD1282>
$ PD1270,0,OF.,0,0,<P1260A,PD1282>
$ PD1271,0,OF.,0,0,<PD1272,PD1281>
$ PD1272,PA277.,USERN.,0,0,<PD1273,PD1250,PD172.>
$ PD1273,0,SET.,0,0,<PD1250,PD172.>



;ERROR NODES FOR RSE
$ PD1277,E.419,0,0,0,PD170.
$ PD1278,E.416,0,0,0,PD170.
$ PD1280,E.424,0,0,0,PD170.
$ PD1281,E.422,0,0,0,PD1284
$ PD1282,E.423,0,0,0,PD170.
$ PD1283,E.409,0,0,0,PD170.
$ PD1284,PA283.,0,0,0,PD170.
$ PD1286,E.426,0,0,0,PD170.
$ PD1287,E.417,0,0,0,PD170.
$ PD1288,E.424,0,0,0,PD1289		;BAD RSE, POP STACK
$ PD1289,GETEM.,0,0,0,PD170.		;NO OUTPUT HAS OCCURED
$ PD1290,E.159,0,0,0,PD170.
$ PD1291,E.427,0,0,0,PD170.
>
IFN DBMS,<

;PARSE RSE1, RSE3, AND RSE5.
$ PD1300,SAVEM.,DATAN.,0,0,<PD1308,PD1310,PD1312,PD1318,PD1331,PD1311>
$ PD1301,SAVEM.,NEXT.,0,0,<PD1327,PD1328,PD1329,PD1288>
$ PD1302,PA296.,PRIOR.,0,0,PD1324
$ PD1303,PA296.,FIRST.,0,0,PD1324
$ PD1304,PA296.,LAST.,0,0,PD1324
$ PD1305,PA298.,INTGR.,0,0,PD1324
$ PD1307,PA299.,DUPL.,0,0,<PD1321,PD1322,PD1290>


;RSE1
$ PD1308,PA302.,USING.,0,0,<PD1309,PD412.>
$ PD1309,PCA5.,DATAN.,0,0,<PD1250,PD172.>

;RSE3 OR RSE5
$ PD1310,0,REC.,0,0,<PD1312,PD1313,PD1317,PD1311>
$ PD1311,PA303.,0,0,0,PD172.
$ PD1312,PA303.,SUPPR.,0,0,PD1250
$ PD1313,PA304.,OF.,0,0,<PD1314,PD1286>
$ PD1314,PA277.,USERN.,0,0,<PD1315,PD1316,PD1277>
$ PD1315,PA277.,SET.,0,0,<PD1250,PD172.>
$ PD1316,PA277.,AREA.,0,0,<PD1250,PD172.>
$ PD1317,PA305.,USERN.,0,0,<PD1315,PD1316,PD1277>

;RSE3--FIND <IDENT> <REC-NAME>...
$ PD1318,PA306.,DATAN.,0,0,<PD1319,PD1287>
$ PD1319,0,REC.,0,0,<PD1320,PD1314,PD1286>
$ PD1320,0,OF.,0,0,<PD1314,PD1286>

;RSE5--FIND DUPLICATE ...
$ PD1321,0,WITHN.,0,0,<PD1322,PD1290>
$ PD1322,PA277.,DATAN.,0,0,<PD1323,PD1250,PD172.>
$ PD1323,0,REC.,0,0,<PD1250,PD172.>

;RSE3--FIND FIRST/LAST/PRIOR/NEXT...
$ PD1324,0,0,0,0,<PD1325,PD1326,PD1291>
$ PD1325,PA277.,DATAN.,0,0,<PD1319,PD1287>
$ PD1326,PA283.,REC.,0,0,PD1319
$ PD1327,PA307.,DATAN.,0,0,<PD1319,PD1287>
$ PD1328,PA308.,REC.,0,0,PD1319
$ PD1329,PA309.,DUPL.,0,0,<PD1321,PD1322,PD1290>

;RSE1--FIND USING...
$ PD1330,PA310.,USING.,0,0,<PD1309,PD412.>

;RSE6--FIND RECNAME VIA CURRENT SETNAME USING DATANAME1,... (DBMS-V6 ENHANCEMENT)
IFN DBMS6,<
$ PD1331,PAFIN6,VIA.,0,0,<PD1332,PD1337>
$ PD1332,0,CURNT.,0,0,<PD1333,PD1334,PD1337>
$ PD1333,0,OF.,0,0,<PD1334,PD1337>
$ PD1334,PA277.,USERN.,0,0,<PD1335,PD1337>
$ PD1335,0,USING.,0,0,<PD1336,PD1337>
$ PD1336,PA277.,DATAN.,0,0,<PD1336,PD1250,PD172.>
$ PD1337,E.424,0,0,0,PD170.
>		;END IFN DBMS6
IFE DBMS6,<$ PD1331,0,0,0,0,PD1311>
>		;END IFE DBMS
;PARSE "OPEN" VERB.
;
;FORMAT 1:	OPEN ALL [USAGE-MODE IS [PROTECTED/EXCLUSIVE] UPDATE/RETRIEVAL
;
;FORMAT 2:	OPEN AREA <AREA-NAME1,...> [USAGE-MODE IS ...]
;				PRIVACY KEY FOR COMPILE IS <LITERAL>].
;
IFN DBMS,<

$ PD1341,PA311.,AREA.,0,0,<PD1343,PD1364>
$ PD1342,PA319.,ALL.,0,0,<PD1344,PD1355,PD1356>
$ PD1343,PA312.,USERN.,0,0,<PD1343,PD1344,PD1355,PD1356>
$ PD1344,0,USGMD.,0,0,<PD1345,PD1346,P1347A,PD1353,P1354A,PD1363>
$ PD1345,0,IS.,0,0,<PD1346,P1347A,PD1353,P1354A,PD1363>
$ PD1346,PA313.,EXCL.,0,0,<P1347B,P1354B,PD1362>
$ P1347A,PA317.,UPDAT.,0,0,<PD1348,PD1357>
$ P1347B,PA314.,UPDAT.,0,0,<PD1348,PD1357>
$ PD1348,0,PRVCY.,0,0,<PD1349,PD1361>
$ PD1349,0,KEY,0,0,<PD1350,PD1351,PD1360>
$ PD1350,0,IS.,0,0,<PD1351,PD1360>
$ PD1351,PA315.,USERN.,0,0,<PD172.,PD172.>
$ PD1352,PA316.,0,0,0,PD172.
$ PD1353,SAVEM.,PROT.,0,0,<P1347B,P1354B,PD1362>
$ P1354A,PA317.,RETR.,0,0,<PD1348,PD1357>
$ P1354B,PA314.,RETR.,0,0,<PD1348,PD1357>
$ PD1355,PA318.,PRVCY.,0,0,P1355A
$ P1355A,PA283.,0,0,0,<PD1349,PD1361>
$ PD1356,PA320.,0,0,0,PD172.
$ PD1357,PA283.,0,0,0,PD1352


; OPEN JOURNAL USAGE-MODE [EXCL] UPDATE.
$ PDOJ01,PA319.,JOURN.,0,0,<PDOJ02,PD1363>
$ PDOJ02,0,USGMD.,0,0,<PDOJ2A,PDOJ03,PDOJ04,PD1363>
$ PDOJ2A,0,IS.,0,0,<PDOJ03,PDOJ04,PD1363>
$ PDOJ03,PA313.,EXCL.,0,0,<PDOJ05,PD1362>
$ PDOJ04,PA317.,UPDAT.,0,0,PD1357
$ PDOJ05,PA314.,UPDAT.,0,0,PD1357			;[523]	

; OPEN TRANSACTION TRANS-NAME (DBMS-V6 ENHANCEMENT)
IFN DBMS6,<
$ PDOT01,PAOT01,TRANS.,0,0,<PDOT02,PDOT03>
$ PDOT02,PA277.,USERN.,0,0,PD172.
$ PDOT03,E.594,0,0,0,PDOT04			;GIVE FATAL ERROR
$ PDOT04,PA283.,0,0,0,PD170.			; AND OUTPUT A DUMMY TRANS-NAME
>
IFE DBMS6,<$ PDOT01,E.91,TRANS.,0,0,PD170.>

;ERROR NODES FOR "OPEN"
$ PD1360,E.429,0,0,0,PD170.
$ PD1361,E.161,0,0,0,PD170.
$ PD1362,E.430,0,0,0,PD1367		;MUST POP STACK BEFORE EXIT
$ PD1363,E.425,0,0,0,PD1366
$ PD1364,E.407,0,0,0,PD1366.
$ PD1366,PA321.,0,0,0,PD170.
$ PD1367,PA321.,0,0,0,PD1289	;OUTPUT OPERATOR AND POP STACK
>
IFE DBMS,<
$ PD1100,DE111.,USERN.,0,0,PD170.
$ PD1110,DE111.,REC.,0,0,PD170.
$ PD1125,0,IF.,0,0,<PD1126,PD99.>
$ PD1126,0,DATAN.,0,0,PD99.
$ P1135A,E.91,ALL.,0,0,PD170.
$ P1135B,E.91,RNUNT.,0,0,PD170.
$ P1135C,E.91,JOURN.,0,0,PD170.
$ PD1136,E.91,AREA.,0,0,PD170.
$ PD1140,E.91,STORE.,0,0,PD170.
$ PD1341,E.91,ALL.,0,0,PD170.
$ PD1342,E.91,AREA.,0,0,PD170.
$ PD1155,E.91,0,0,0,PD170.
$ PD1170,E.91,MODIF.,0,0,PD170.
$ PD1180,E.91,GET.,0,0,PD170.
$ PD1190,E.91,REMOV.,0,0,PD170.
$ PDOJ01,E.91,JOURN.,0,0,PD170.
$ PDOT01,E.91,TRANS.,0,0,PD170.		;[613]
>
SUBTTL	MESSAGE CONTROL SYSTEM SYNTAX

IFN MCS,<
$ PD1370,PA323.,DISAB.,0,0,<PD1372,PD1374,PD1382>
$ PD1371,PA324.,ENABL.,0,0,<PD1372,PD1374,PD1382>
$ PD1372,0,INPUT.,0,0,<PD1373,P1375A,PD1383>
$ PD1373,PA326.,TERML.,0,0,<P1375A,PD1384>
$ PD1374,PA327.,OUTPU.,0,0,<PD1375,PD1384>
$ P1375A,PA325.,CDNAM.,0,0,<PD1376,PD1377,PD1385>
$ PD1375,PA328.,CDNAM.,0,0,<PD1376,PD1377,PD1385>
$ PD1376,0,WITH.,0,0,<PD1377,PD1385>
$ PD1377,0,KEY,0,0,<PD1378,P1378A,PD1380,PD1386>
$ P1378A,E.17,USERN.,0,0,PD170.
$ PD1378,PA2.,DATAN.,0,0,PD1379
$ PD1379,PD800A,0,1,0,P1379A
$ P1379A,PA21.,0,0,0,<PD172.,PD172.>
$ PD1380,PA328.,LITER.,0,0,<PD172.,PD172.>

;ERROR NODES FOR DISABLE/ENABLE
$ PD1382,E.448,0,0,0,PD170.
$ PD1383,E.449,0,0,0,PD170.
$ PD1384,E.435,0,0,0,PD170.
$ PD1385,E.161,0,0,0,PD170.
$ PD1386,E.450,0,0,0,PD170.

;ACCEPT COUNT
$ PD1391,PA329.,CDNAM.,0,0,<PD1392,PD1393,PD1395>
$ PD1392,0,MSG.,0,0,<PD1393,PD1396>
$ PD1393,0,COUNT.,0,0,<PD172.,PD172.>

$ PD1395,E.451,0,0,0,PD170.
$ PD1396,E.452,0,0,0,PD170.
;SEND
$ PD1400,PA330.,SEND.,0,0,<PD1401,PD1384>
$ PD1401,PA330A,CDNAM.,0,0,<PD1402,PD1403,PD1424>
$ PD1402,0,FROM.,0,0,<PD1404,PD412.>
$ PD1403,PA331.,WITH.,0,0,PD1405
$ PD1404,PA332.,DATAN.,0,0,P1404A
$ P1404A,PD800A,0,1,0,P1404B
$ P1404B,PA21.,0,0,0,<PD1405,P1424A,P1424B,P1419A>
IFE TOPS20,<
$ PD1405,0,WITH.,0,0,<PD1406,PD1407,PD1408,PD1409,PD1410,PD1421>
>
IFN TOPS20,<
$ PD1405,0,WITH.,0,0,<PD1406,PD1407,PD1408,PD1409,PD1421>
>
$ PD1406,PA2.,DATAN.,0,0,P1406A
$ P1406A,PD800A,0,1,0,P1406B
$ P1406B,PA21.,0,0,0,<PD1411,PD1412,PD172.>
$ PD1407,PA333.,ESI.,0,0,<PD1411,PD1412,PD172.>
$ PD1408,PA334.,EMI.,0,0,<PD1411,PD1412,PD172.>
$ PD1409,PA335.,EGI.,0,0,<PD1411,PD1412,PD172.>
IFE TOPS20,<
$ PD1410,PA336.,EPI.,0,0,<PD1411,PD1412,PD172.>
>
$ PD1411,0,BEFOR.,0,0,<PD1413,PD1414,PD1416,PD1417,P1417A,PD1418,PD1420>
$ PD1412,PA337.,AFTER.,0,0,<PD1413,PD1414,PD1416,PD1417,P1417A,PD1418,PD1420>
$ PD1413,0,ADVAN.,0,0,<PD1414,PD1416,PD1417,P1417A,PD1418,PD1420>
$ PD1414,PA2.,DATAN.,0,0,P1414A
$ P1414A,PD800A,0,1,0,P1414B
$ P1414B,PA21.,0,0,0,<PD1419,PD172.>
$ PD1416,PA328.,INTGR.,0,0,<PD1419,PD172.>
$ PD1417,PA328.,SPECN.,0,0,<PD1419,PD172.>
$ P1417A,PA328A,FIGCN.,0,0,<PD1419,PD172.>		;ZERO ALLOWED
$ PD1418,PA338.,PAGE.,0,0,<PD1419,PD172.>
$ PD1419,0,LINE.,0,0,PD172.
$ P1419A,PA331.,0,0,0,PD172.

$ PD1420,E.288,0,0,0,PD170.
$ PD1421,E.455,0,0,0,PD170.
$ PD1424,E.457,0,0,0,PD170.
$ P1424A,PA331.,BEFOR.,0,0,PD1411
$ P1424B,PA331.,AFTER.,0,0,PD1412
;RECEIVE

$ PD1425,PA339.,RECEV.,0,0,<PD1426,PD1384>
$ PD1426,PA325.,CDNAM.,0,0,<PD1427,PD1428,PD1435>
$ PD1427,0,MSG.,0,0,<PD1429,PD1436>
$ PD1428,PA340.,SGMNT.,0,0,<PD1429,PD1436>
$ PD1429,0,INTO.,0,0,<PD1430,PD412.>
$ PD1430,PA332.,DATAN.,0,0,P1430A
$ P1430A,PD800A,0,1,0,P1430B
$ P1430B,PA21.,0,0,0,<PD1431,PD172.>
$ PD1431,0,NO.,0,0,<PD1432,PD1437>
$ PD1432,PA341.,DATA.,0,0,PD1433
$ PD1433,PD156.,0,1,0,PD211A

$ PD1435,E.459,0,0,0,PD170.
$ PD1436,E.411,0,0,0,PD170.
$ PD1437,E.203,0,0,0,PD170.

>;END IFN MCS

IFE MCS,<
$ PD1370,E.91,DISAB.,0,0,PD170.
$ PD1371,E.91,ENABL.,0,0,PD170.
$ PD1400,E.91,SEND.,0,0,PD170.
$ PD1425,E.91,RECEV.,0,0,PD170.
>
SUBTTL	STRING/UNSTRING SYNTAX

;    [<ID-1/LIT-1>... DELIMITED [BY] <ID-2/LIT-2/SIZE>]...
;    INTO <ID-3>
;    [[WITH] POINTER <ID-4>]
;    [[ON] OVERFLOW <STATEMT-1>... .]

$ PD1500,PA822.,STRIN.,0,0,<PD1501,PD1502,PD1503,PD1504,PD1531>	;[504] NO A-MARGIN CHECK
$ PD1501,PD1597,DATAN.,1,0,PD1530		;[504]
$ PD1502,PCA5.8,SYCHN.,0,0,PD1530		;symbolic-character
$ PD1503,PCA5.,LITER.,0,0,PD1530		;[504]
$ PD1504,PCA5.,FIGCN.,0,0,PD1530
$ PD1506,PA361.,DLIMD.,0,0,<PD1507,PD1507>
$ PD1507,0,BY.,0,0,<PD1508,PD1510,PD1511,P1511A,PD1512,PD1532>
$ PD1508,PD1597,DATAN.,1,0,P1513A
$ PD1510,PCA5.,LITER.,0,0,P1513A
$ PD1511,PCA5.,FIGCN.,0,0,P1513A
$ P1511A,PCA5.8,SYCHN.,0,0,P1513A		;symbolic-character
$ PD1512,PA362.,SIZE.,0,0,P1513A
$ PD1513,PA360.,0,0,0,P1513A
$ P1513A,PA22.,0,0,0,<PD1515,PD1501,PD1502,PD1503,PD1504,PD169.>
$ PD1514,PA363.,INTO.,0,0,PD1515
$ PD1515,PA364.,INTO.,0,0,<PD1516,PD169.>
$ PD1516,PD1597,DATAN.,1,0,<PD1519,PD1520,PD1525,PD1526,PD172.>
$ PD1518,PA360.,0,0,0,<PD1519,PD1520,PD1525,PD1526,PD172.>
$ PD1519,0,WITH.,0,0,<PD1520,PD1521>
$ PD1520,PA365.,PNTR.,0,0,<PD1522,PD1524>
$ PD1521,E.460,0,0,0,PD1520
$ PD1522,PD1597,DATAN.,1,0,<PD1525,PD1526,PD172.>
$ PD1524,PA360.,0,0,0,<PD1525,PD1526,PD172.>
$ PD1525,0,ON.,0,0,<PD1526,PD172.>
$ PD1526,PA366.,OVRFL.,0,0,PD1533
$ PD1527,E.461,0,0,0,PD1526
$ PD1529,PCA6.,PRIOD.,0,0,0
$ PD1530,0,STRIN.,0,0,<PD1501,PD1502,PD1503,PD1504,PD1506,PD1514>	;[504]
$ PD1531,E.615,0,0,0,PD170.
$ PD1532,E.616,0,0,0,PD170.
$ PD1533,PCA54.,0,0,0,PD1534
$ PD1534,PD156.,0,1,0,PD211A
;UNSTRING <ID-1>
;    [DELIMITED [BY] [ALL] <ID-2/LIT-2>
;		[OR  [ALL] <ID-3/LIT-3>]...]
;    INTO <ID-4> [DELIMITER [IN] <ID-5>] [COUNT [IN] <ID-6>]
;	 [<ID-7> [DELIMITER [IN] <ID-8>] [COUNT [IN] <ID-9>]]...
;    [[WITH] POINTER <ID-10>]
;    [TALLYING [IN] <ID-11>]
;    [[ON] OVERFLOW <STATEMT-1>... .]

$ PD1540,PA822.,UNSTR.,0,0,<PD1541,PD169.>
$ PD1541,PA2.,DATAN.,0,0,PD1542
$ PD1542,PD800A,0,1,0,PD1543
$ PD1543,PA370.,0,0,0,<PD1545,PD1555,PD1556>
$ PD1545,PA372.,DLIMD.,0,0,<PD1546,PD1546>
$ PD1546,0,BY.,0,0,<PD1547,PD1548,PD1550,PD1551,PD1552,PD169.>
$ P1547A,0,BY.,0,0,P1547B		;[1116] ANOTHER 'BY'?
$ P1547B,E.648,0,0,0,PD170.		;[1116] GIVE ERROR MSG AND UNWIND
$ PD1547,PA373.,ALL.,0,0,<PD1548,PD1550,PD1551,PD1552,PD169.>
$ PD1548,PD1597,DATAN.,1,0,<PD1553,PD1554,PD1556>
$ PD1550,PCA5.,LITER.,0,0,<PD1553,PD1554,PD1556>
$ PD1551,PCA5.,FIGCN.,0,0,<PD1553,PD1554,PD1556>
$ PD1552,PCA5.8,SYCHN.,0,0,<PD1553,PD1554,PD1556>	;symbolic-character
$ PD1553,PA374.,OR.,0,0,<P1547A,PD1547,PD1548,PD1550,PD1551,PD1552,PD169.>
$ PD1554,PA22.,INTO.,0,0,PD1555
$ PD1555,PA375.,INTO.,0,0,<PD1557,PD169.>
$ PD1556,E.468,0,0,0,PD170.
$ PD1557,PD1597,DATAN.,1,0,<PD1561,PD1567,PD1573,PD1574>
$ PD1561,PA376.,DLIMR.,0,0,<PD1562,PD1562>
$ PD1562,0,IN.,0,0,<PD1563,PD169.>
$ PD1563,PD1597,DATAN.,1,0,<PD1567,PD1573,PD1574>
$ PD1566,PA360.,0,0,0,<PD1567,PD1573,PD1574>
$ PD1567,PA377.,COUNT.,0,0,<PD1568,PD1568>
$ PD1568,0,IN.,0,0,<PD1569,PD169.>
$ PD1569,PD1597,DATAN.,1,0,<PD1573,PD1574>
$ PD1573,PA380.,DATAN.,0,0,PD1557
$ PD1574,PA378.,0,0,0,<PD1575,PD1576,PD1582,PD1588,PD1589,PD172.>
$ PD1575,0,WITH.,0,0,<PD1576,PD1577>
$ PD1576,PA365.,PNTR.,0,0,<PD1578,PD169.>
$ PD1577,E.460,0,0,0,<PD1578,PD169.>
$ PD1578,PD1597,DATAN.,1,0,<PD1582,PD1588,PD1589,PD172.>
$ PD1582,PA379.,TLYNG.,0,0,<PD1583,PD1583>
$ PD1583,0,IN.,0,0,<PD1584,PD169.>
$ PD1584,PD1597,DATAN.,1,0,<PD1588,PD1589,PD172.>
$ PD1588,0,ON.,0,0,<PD1589,PD1590>
$ PD1589,PA366.,OVRFL.,0,0,PD1591
$ PD1590,E.461,0,0,0,PD1589
$ PD1591,PCA54.,0,0,0,PD1592
$ PD1592,PD156.,0,1,0,PD211A

;SUBROUTINE FOR HANDLING IDENTIFIERS
; SETS THEM UP (PA2.), CHECKS QUALIFICATION+SUBSCRIPTING (PD800A),
; AND OUTPUTS (PA21.)

$ PD1597,PA2.,0,0,0,PD1598
$ PD1598,PD800A,0,1,0,PD1599
$ PD1599,PCA75.,0,0,0,0
SUBTTL	COBOL-74 SYNTAX

;[74] START FILE-NAME [KEY IS ARITHMETIC-CONDITION DATA-NAME] [INVALID KEY ...]

$ PD1600,PA177.,START.,0,0,<PD1601,PD1618,PD264.>
$ PD1601,PA503.,FILEN.,0,0,<PD1602,PD570A,PD561.>
$ PD1602,0,KEY,0,0,<PD1603,PD1604,PD1606,PD1608,PD1612>
$ PD1603,0,IS.,0,0,<PD1604,PD1606,PD1608,PD1612>
$ PD1604,PA500.,EQUAL.,0,0,<PD1605,PD1611,PD412.>
$ PD1605,0,TO.,0,0,<PD1611,PD412.>
$ PD1606,PA501.,GREAT.,0,0,<PD1607,PD1611,PD412.>
$ PD1607,0,THAN.,0,0,<PD1611,PD412.>
$ PD1608,0,NOT.,0,0,<PD1609,PD1612>
$ PD1609,PA502.,LESS.,0,0,<PD1610,PD1611,PD412.>
$ PD1610,0,THAN.,0,0,<PD1611,PD412.>
$ PD1611,PA2.,DATAN.,0,0,PD1616
$ PD1612,E.86,0,0,0,<PD1611,PD570A,PD561.>
$ PD1616,PD800A,0,1,0,PD1617
$ PD1617,PA504.,0,0,0,<PD570A,PD561.>
$ PD1618,PA177A,PRIOD.,0,0,PD170.

;[74] USE FOR DEBUGGING ON SOMETHING

$ PD1620,0,FOR.,0,0,<PD1621,PD1645>				;FOR
$ PD1621,PA510.,DEBUG.,0,0,<PD1622,PD1623>			;DEBUGGING
$ PD1622,0,ON.,0,0,<PD1623,PD1623>				;ON
IFN MCS,<
$ PD1623,0,0,0,0,<PD36.,PD1624,PD1625,PD1629,PD1630,PD1632,PD1646>
$ PD1624,PA512.,CDNAM.,0,0,<PD20.,PD1640,PD1623>		;CD-NAME
>
IFE MCS,<
$ PD1623,0,0,0,0,<PD36.,PD1625,PD1629,PD1630,PD1632,PD1646>
>
$ PD1625,0,ALL.,0,0,<PD1626,PD1627,PD1628,PD1631,PD1647>	;ALL
$ PD1626,0,REFER.,0,0,<PD1627,PD1628,PD1648>		;REFERENCES
$ PD1627,0,OF.,0,0,<PD1628,PD1648>				;OF
$ PD1628,PA2.HI,DATAN.,0,0,PD1635				;IDENTIFIER
$ PD1629,PA513.,FILEN.,0,0,<PD20.,PD1640,PD1623>		;FILE-NAME
$ PD1630,PA514.,USERN.,0,0,<PD20.,PD1640,PD1623>		;PROCEDURE-NAME
$ PD1631,PA511.,PROC.,0,0,<PD20.,PD1640,PD1623>		;ALL PROCEDURES
$ PD1632,PA2.HI,DATAN.,0,0,PD1633				;IDENTIFIER
$ PD1633,PD800A,0,1,0,PD1634					;QUALIFICATION
$ PD1634,PA516.,0,0,0,<PD20.,PD1640,PD1623>
$ PD1635,PD800A,0,1,0,PD1636					;QUALIFICATION
$ PD1636,PA515.,0,0,0,<PD20.,PD1640,PD1623>
$ PD1640,0,PRIOD.,0,0,PD119.
$ PD1645,E.728,0,0,0,<PD119.,PD120.>			;DEBUGGING EXPECTED
$ PD1646,E.736,0,0,0,<PD119.,PD120.>			;VARIOUS THINGS EXPECTED
$ PD1647,E.737,0,0,0,<PD119.,PD120.>			;REFERENCES OF IDENTIFIER OR PROCEDURES EXPECTED
$ PD1648,E.101,0,0,0,<PD119.,PD120.>			;IDENTIFIER EXPECTED
;ANS-8x SYNTAX

;SET condition-name ... TO TRUE
$ PD2000,PA2.HI,CONDI.,0,0,P2000A		;[1564] 
$ P2000A,PD800A,0,1,0,P2000B			;[1564] Scan cond.-name(subs)
$ P2000B,PA21.,0,0,0,<P2000C,PD2001,PD2003>	;[1564] Put operand in genfil
$ P2000C,PCA98.,CONDI.,0,0,PD2000		;[1564] Put operator in genfil
$ PD2001,0,TO.,0,0,<PD2002,PD2004>
$ PD2002,PA800.,TRUE.,0,0,PD172.		;[1564] Put out op code
$ PD2003,E.136,0,0,0,PD593.			;TO expected
$ PD2004,E.803,0,0,0,PD593.			;TRUE expected

;SET switch ... TO {ON|OFF}
$ PD2005,PCA5.,SPECN.,0,0,<PD2005,PD2006,PD2003>
$ PD2006,0,TO.,0,0,<PD2007,PD2008,PD2009>
$ PD2007,PA801.,ON.,0,0,PD172.
$ PD2008,PA802.,OFF.,0,0,PD172.
$ PD2009,E.87,0,0,0,PD593.			;ON or OFF expected

;CONTINUE
$ PD2010,PA809.,CONT.,0,0,PD172.

;END PROGRAM program-id
$ PD2011,TST.8,END.,0,0,<PD2012,PD2014>	;END
$ PD2012,0,PGM.,0,0,<PD2013,PD2015>		;PROGRAM
$ PD2013,PA810.,EXTNA.,0,0,PD96.		;program-id
$ PD2014,E.815,0,0,0,PD170.			;PROGRAM expected
$ PD2015,E.816,0,0,0,PD170.			;program-id expected

;INITIALIZE identifier REPLACING class-type DATA BY {identifier|literal}
$ PD2020,PA811.,INITI.,0,0,<PD2021,PD2024>	;INITIALIZE
$ PD2021,PA2.,DATAN.,0,0,PD2022		;identifier
$ PD2022,PD800A,0,1,0,PD2023			;Qualifiers
$ PD2023,PA21.,0,0,0,<PD2021,PD2025,PD172.>
$ PD2024,E.101,0,0,0,PD170.			;identifier expected
$ PD2025,0,REPLA.,0,0,<PD2026,PD2027,PD2028,PD2029,PD2030,PD2031>
$ PD2026,PA812.,ALPHB.,0,0,<PD2032,PD2033,PD2034>	;ALPHABETIC
$ PD2027,PA813.,ALPHN.,0,0,<PD2032,PD2033,PD2034>	;ALPHANUMERIC
$ PD2028,PA814.,NUMER.,0,0,<PD2032,PD2033,PD2034>	;NUMERIC
$ PD2029,PA815.,ALPHE.,0,0,<PD2032,PD2033,PD2034>	;ALPHANUMERIC-EDITED
$ PD2030,PA816.,NUMED.,0,0,<PD2032,PD2033,PD2034>	;NUMERIC-EDITED
$ PD2031,E.817,0,0,0,PD170.			;One of the above expected
$ PD2032,0,DATA.,0,0,<PD2033,PD2034>	;DATA
$ PD2033,0,BY.,0,0,<PD2035,PD2036,PD2037,PD2038,PD2039,PD2040>
$ PD2034,E.124,0,0,0,PD170.			;BY expected
$ PD2035,PA2.,DATAN.,0,0,PD2041		;identifier
$ PD2036,PCA5.,LITER.,0,0,PD2044		;[1600]literal
$ PD2037,PCA5.,NLIT.,0,0,PD2044			;[1600]numeric literal
$ PD2038,PCA5.,INTGR.,0,0,PD2044		;[1600]integer
$ PD2039,PCA5.,FIGCN.,0,0,PD2044		;[1600]figurative constant
$ PD2040,PCA5.,SYCHN.,0,0,PD2044		;[1600]symbolic-character
$ PD2041,PD800A,0,1,0,PD2042			;qualification
$ PD2042,PA21.,0,0,0,PD2044			;[1600]
$ PD2043,E.818,0,0,0,PD170.			;something expected
$ PD2044,PA817.,0,0,0,PD172.			;[1600]genfil subscr count
;EVALUATE ...
;;; Nodes PD2051 thru PD2062 handle Selection Subjects

$ PD2050,PA840.,EVAL.,0,0,<PD2052,PD2053,PD2054,PD2060> ;True,False,Zeroes, Any expression
$ PD2051,0,PRIOD.,0,0,PD170.		;Error escape -- Catch-all for now
$ PD2052,PA841.,TRUE.,0,0,PD2055	;Next Selection Subject
$ PD2053,PA841F,FALSE.,0,0,PD2055	;Next Selection Subject
$ PD2054,E.822,ZERO.,0,0,PD170.		;Error Escape
$ PD2055,PA842.,0,0,0,<PD2052,PD2053,PD2054,PD2065,PD2060> ;True, False, Zeroes, When, Any Expression
$ PD2060,PD657.,0,1,0,PD2061	;Go the cond expr route for now -- untested
$ PD2061,PA849.,0,0,0,<PD2051,PD2055>	;Test for errors in expression

;;; Nodes PD2065 thru PD2076 handle WHEN clauses.

$ PD2065,PA843I,WHEN.,0,0,PD2075	;There must be one WHEN clause without an OTHER
$ PD2070,PA843.,WHEN.,0,0,<PD2071,PD2075>	;Other, Any Selection Object
$ PD2071,PD2093,OTHER.,1,0,PD2072	;Go do Set of Imperative Statements
$ PD2072,0,0,0,0,<PD2099,PD2100,PD2101> ;End-Eval, Period, Default
$ PD2075,PD2080,0,1,0,PD2076	;Go handle a Selection Object
$ PD2076,0,0,0,0,<PD2098,PD2099,PD2100,PD2070,PD2075> ;End-eval, Period, Endit, When, Another Selection Object

;;; Nodes PD2080 thru PD2090 are a sub-sequence which handle a Selection Object

$ PD2080,PA854.,0,0,0,<PD2081,PD2082,PD2083,PD2084,PD2088,PD2085> ;Any, TRUE, FALSE, CONDI., NOT., Any expression
$ PD2081,PA844.,ANY.,0,0,PD2090	;Next Selection Object
$ PD2082,PA841.,TRUE.,0,0,PD2090	;Next Selection Object
$ PD2083,PA841F,FALSE.,0,0,PD2090	;Next Selection Object
$ PD2084,PA850.,CONDI.,0,0,PD2090	;Next Selection Object
$ PD2085,PD657.,0,1,0,PD2086	;Go do conditional expression -- for now
$ PD2086,PA849.,0,0,0,<PD2087,PD2051,PD2090>	;Test for error in expression
$ PD2087,PA851.,THRU.,0,0,0	;Handle 'THRU' and return, SO not complete yet
$ PD2088,PA852.,NOT.,0,0,<PD2084,PD2085>  ;Set NOT flag, scan expr or cond
$ PD2090,PA845.,0,0,0	;Return to superior node to pick up next Selection Object

;;; NOTE: The parsing routines for nodes PD2081 thru PD2087 will have to
;;; keep track of how many Selection Objects are processed and when this
;;; count equals the count of the number of Selection
;;; Subjects, we will have to hop out of this loop to pick up the next
;;; syntactical object, which should be a Set of Imperative Statements.
;;; This will be done by some stuff in PA845. at PD2090, which
;;; will jump out to PD2094. This jump will assume SOIS, and it will be
;;; accomplished by something like PA28. and PA28.1, which are described
;;; briefly near PD661A and PD713A above. Those routines diddle the parent
;;; node in the syntax processing depending on whether or not the expression
;;; being processed is conditional. PA845. will have to diddle
;;; depending on whether or not the count of selection objects has been met.
;;; When you jump out to PD2094, you will wind up in SQURL. below the
;;; indexed PUSHJ to the syntax processing routines, so there is no use
;;; in specifying a routine in the action position at PD2094.
;;; Note: SQUIRL will not take 2 pushdown nodes in a row.
;;; END-NOTE.

;;; Nodes to call statement parsing syntax for Set of Imperative Statements.

$ PD2093,PA848.,0,0,0,PD2095	;Set OTHER flag
$ PD2094,0,0,0,0,PD2095	;Come here from PD2090 when SO ct GE SS ct.
$ PD2095,PD156.,0,1,0,PD2096	;Go do Set of Imperative Statements
$ PD2096,PA846.,0,0,0	;Wrap up and return to superior node VIA PA0.

;;; Wrap-up Nodes for Good termaination of this syntax

$ PD2098,0,ENDIT.,0,0,PD2101	;Default
$ PD2099,PCA97.,ENDXX.,0,0,<PD2100,PD2101> ;[1553] Period, Default
$ PD2100,PA853.,PRIOD.,0,0,PD2101		;Default
$ PD2101,PA847.,0,0,0,PD96.		;(Default) Good escape

	END