Google
 

Trailing-Edge - PDP-10 Archives - BB-H580E-SB_1985 - ctree.mac
There are 21 other files named ctree.mac in the archive. Click here to see a list.
; UPD ID= 3488 on 4/14/81 at 2:51 PM by NIXON                           
TITLE	CTREE FOR COBOL V12C
SUBTTL	DATA DIVISION SYNTAX TREE		W.NEELY/CAM/SEB



	SEARCH	COPYRT
	SALL

;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1974, 1985
;ALL RIGHTS RESERVED.
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE.

	SEARCH	P
	%%P==:%%P
	RPW==:RPW
	DBMS==:DBMS
	MCS==:MCS
	TCS==:TCS

;EDITS
;V12B*******************
;SMI	03-DEC-82	[1436] 68274 Fix PA1050 ill. inst. when in COMM. SEC. 
;RJD	24-MAY-82	[1356] Allow qualification in DATA RECORDS ARE clause
;V10*****************
;NAME	DATE		COMMENTS
;SSC	3-5		PLACED 6A EDIT [316] INTO V10
;********************

; EDIT 343 RECOVER IF RD STATEMENT NOT ENDED PROPERLY.
; EDIT 337 FIX TREE TO MAKE 'USAGE' OPTIONAL IN FRONT OF DATABASE-
;	KEY. ADD DD142A TO DD107.
; EDIT 335 REPORT WRITER FATAL ERROR
;[316] /SSC	FOR ACCESS, CHANGED 355. TO DD355A, DD355B AND DD380. TO
;			DD380A AND DD380B.
;		DELETED CHECK FOR NUMBER (IE. PPN) AFTER SCHEMA NAME
; EDIT 315 CHECK "NEXT GROUP" CLAUSE



;[216] /ACK	PREVENT SKIPPING EVERYTHING IF AN RD IS
;		  TERMINATED WITH A DOUBLE PERIOD.
; EDIT 174 FIXES RD FILENAME COPY

TWOSEG
	.COPYRIGHT		;Put COPYRIGHT statement in .REL file.

SALL
.HWFRMT
RELOC	400000

ENTRY	CTREE
CTREE:
;DATA DIVISION
$ DD1.,0,0,0,0,<DD1A,DD9.,DD10.,DD1B>
$ DD1A,0,DATA.,0,1,<DD2.,DD3.>
$ DD1B,E.203,0,0,0,<DD2.,DD3.>
$ DD2.,DA1.,DIVIS.,0,0,<DD4.,DD5.>
$ DD3.,E.137,0,0,0,DD2.
$ DD4.,0,PRIOD.,0,0,DD6.
$ DD5.,CE125.,0,0,0,DD6.
$ DD6.,0,0,0,0,<DD400.,DD350.,DD380A,DD380B,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD11.>
$ DD7.,DCA1.,FILE.,0,1,<DD14.,DD15.>
$ DD7A.,DCA7.,LINKG.,0,1,<DD24A,DD24B>
$ DD8.,DCA2.,WORKI.,0,1,<DD24A,DD24B>
$ DD9.,DA4.,PROC.,0,1
$ DD10.,DA4.,ENDIT.,0,0
$ DD11.,E.43,0,0,0,DD12.
$ DD12.,DA5.,0,0,0,<DD400.,DD350.,DD380A,DD380B,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD13.>
$ DD13.,DA6.,0,0,0,DD12.
$ DD14.,0,SECT.,0,0,<DD16.,DD17.>
$ DD15.,E.140,0,0,0,<DD16.,DD17.>
$ DD16.,0,PRIOD.,0,0,<DD400.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD19.>
$ DD17.,CE125.,0,0,0,<DD400.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD19.>
$ DD18.,DA10.,FD.,0,1,DD22.
$68 DD18A.,DA10.,SD.,0,1,DD18B.
$74 DD18A.,DA10S.,SD.,0,1,DD18B.
$ DD18B.,DD174A,0,1,0,<DD400.,DD24.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD21.>
$ DD19.,E.176,0,0,0,DD20.
$ DD20.,DA5.,0,0,0,<DD400.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD21.>
$ DD21.,DA5.,0,0,0,<DD400.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD21.>
$ DD22.,DD36.,0,1,0,<DD400.,DD24.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD19.>
IFN RPW,<
$ DD23.,DA8.,0,0,0,<DD400.,DD24.,DD18.,DD18A.,DD205.,DD205E,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD19.>
>
IFE RPW,<
$ DD23.,DA8.,0,0,0,<DD400.,DD24.,DD18.,DD18A.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD19.>
>
$ DD24.,DA7.,INTGR.,0,0,DD25.
$ DD24A,0,SECT.,0,0,<DD24C,DD24D>
$ DD24B,E.140,0,0,0,<DD24C,DD24D>
$ DD24C,0,PRIOD.,0,0,<DD24E,DD376.,DD24K>
$ DD24D,CE125.,0,0,0,DD24C
$ DD24E,DA7.,INTGR.,0,0,DD24F
$ DD24F,DD86A.,0,1,0,DD24G
$ DD24G,DA8.,0,0,0,<DD24E,DD24K>
$ DD24H,E.25,0,0,0,DD24I
$ DD24I,DA5.,0,0,0,<DD400.,DD24E,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD24J>
$ DD24J,DA6.,0,0,0,DD24I
$ DD24K,0,0,0,0,<DD400.,DD7.,DD350.,DD380A,DD380B,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD24H>
$ DD25.,DD86A.,0,1,0,DD23.
$ DD36.,0,0,0,0,<DD37.,DD37A.,DD38.>
$ DD37.,DA9.,FILEN.,0,0,<DD40.,DD42.>
$ DD37A.,DA9.,USERN.,0,0,<DD40.,DD42.>
$ DD38.,E.20,0,0,0,DD39.
$ DD39.,DCA3.,0,0,0
$ DD40.,DA0.,PRIOD.,0,0
$68 DD42.,0,0,0,0,<<DD43.,DD43A.,DD44.,DD45.,DD46.,DD47.,DD48.,DD47A.,DD60A.,DD49.>>
$74 DD42.,0,0,0,0,<<DD43.,DD43A.,DD44.,DD45.,DD46.,DD600.,DD198.,DD47.,DD48.,DD47A.,DD60A.,DD49.>>
$68 DD43.,0,BLOCK.,0,0,<<DD51.,DD52.,DD53.>>
$74 DD43.,DA25F.,BLOCK.,0,0,<<DD51.,DD52.,DD53.>>
$ DD44.,DA16.,DATA.,0,0,<DD67A.,DD67.>
$68 DD45.,DA17.,LABEL.,0,0,<<DD73.,DD74.,DD75.,DD76.,DD77.>>
$74 DD45.,DA25F.,LABEL.,0,0,<<DD73.,DD74.,DD75.,DD76.,DD77.>>
$68 DD46.,0,REC.,0,0,<<DD60.,DD61.,DD53.>>
$74 DD46.,DA25F.,REC.,0,0,<<DD60.,DD61.,DD53.>>
$68 DD47.,0,VALUE.,0,0,<<DD78.,DD79.,DD79A.,DD80.,DD49.>>
$74 DD47.,DA25F.,VALUE.,0,0,<<DD78.,DD79.,DD79A.,DD80.,DD49.>>
$ DD47A.,DD500.,RECRDG,1,0,<DD40.,DD42.>
$ DD48.,CE125.,INTGR.,0,0,DD50.
$ DD49.,E.18,0,0,0,DD39.
$ DD50.,DCA4.,0,0,0

;BLOCK CONTAINS [INTEGER-1 TO] INTEGER-2 RECORDS/CHARACTERS
$ DD51.,0,CONTA.,0,0,<DD52.,DD53.>
$ DD52.,DA11.,INTGR.,0,0,<DD54.,DD57.,DD58.,DD59.>
$ DD53.,E.25,0,0,0,DD39.
$68 DD54.,0,TO.,0,0,<<DD55.,DD56.>>
$74 DD54.,DA25G.,TO.,0,0,<<DD55.,DD56.>>
$ DD55.,DA12.,INTGR.,0,0,<DD57.,DD58.,DD59.>
$ DD56.,E.25,0,0,0,<DD57.,DD58.,DD59.>
$ DD57.,DA13.,REC.,0,0,<DD40.,DD42.>
$ DD58.,DA14.,CHARA.,0,0,<DD40.,DD42.>
$ DD59.,E.395,0,0,0,<DD40.,DD42.>

;RECORD CONTAINS [INTEGER-1 TO ] INTEGER-2 CHARACTERS
$ DD60.,0,CONTA.,0,0,<DD61.,DD53.>
$ DD60A.,DA13A.,CONTA.,0,0,<DD61.,DD53.>
$ DD61.,DA11.,INTGR.,0,0,<DD63.,DD65.,DD66.>
$ DD63.,0,TO.,0,0,<DD64.,DD53.>
$ DD64.,DA12.,INTGR.,0,0,<DD65.,DD66.>
$ DD65.,DA15.,CHARA.,0,0,<DD40.,DD42.>
$ DD66.,DA15.,0,0,0,<DD40.,DD42.>
$ DD67.,0,0,0,0,<DD69.,DD70.,DD70C.,DD71.>
$ DD67A.,0,REC.,0,0,DD67.
$ DD69.,0,ARE.,0,0,<DD70.,DD70C.,DD71.>
$ DD70.,DA18.,USERN.,0,0,<DD70D.,DD72.,DD70.,DD70C.,DD40.,DD42.>	;[1356] Insert node for OF
$ DD71.,E.17,0,0,0,DD39.
$ DD70C.,DA18.,DATAN.,0,0,<DD70D.,DD72.,DD70.,DD40.,DD42.>	;[1356] Check for OF or IN
$ DD70D.,0,OF.,0,0,<DD70E.,DD70F.>				;[1356] Here if 0F or IN
$ DD70E.,DA18A.,FILEN.,0,0,<DD72.,DD70.,DD40.,DD42.>		;[1356] Current filename used?
$ DD70F.,E.13,0,0,0,DD39.					;[1356] No filename given
$ DD72.,0,.COMMA,0,0,<DD70.,DD40.,DD42.>
$68 DD73.,0,REC.,0,0,<<DD74.,DD75.,DD76.,DD77.>>
$74 DD73.,0,REC.,0,0,<<DD74.,DD75.,DD76.,DD49.>>
$68 DD74.,0,ARE.,0,0,<<DD75.,DD76.,DD77.>>
$74 DD74.,0,ARE.,0,0,<<DD75.,DD76.,DD49.>>
$ DD75.,DA19.,STAND.,0,0,<DD40.,DD42.>
$ DD76.,DA20.,OMITT.,0,0,<DD40.,DD42.>
$68 DD77.,DA21.,0,0,0,<<DD70.,DD70C.,DD71.>>
$74 DD77.,E.716,0,0,0,DD39.
$ DD78.,0,OF.,0,0,<DD79.,DD79A.,DD80.,DD49.>
$ DD79.,DA22.,ID.,0,0,<DD82I.,DD83I.,DD84.,DD84E.,DD49.>
$ DD79A.,DA61.,PPN.,0,0,<DD82P.,DD83P.,DD84.,DD84E.,DD49.>
$ DD80.,DA23.,DATEW.,0,0,<DD82D.,DD83D.,DD83N.,DD84.,DD84E.,DD49.>
$ DD82D.,0,IS.,0,0,<DD83D.,DD84.,DD49.>
$ DD82I.,0,IS.,0,0,<DD83I.,DD84.,DD49.>
$ DD82P.,0,IS.,0,0,<DD83P.,DD84.,DD49.>
$ DD83I.,DA24I.,LITER.,0,0,<DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD83D.,DA24D.,LITER.,0,0,<DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD83N.,DA24D.,INTGR.,0,0,<DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD83P.,DA24P.,INTGR.,0,0,<DD83PP,DD83PE>
$ DD83PP,DA24P.,INTGR.,0,0,<DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD83PE,DA24PE,0,0,0,<DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD84.,DA25.,USERN.,0,0,<DD84A.,DD79A.,DD79.,DD80.,DD40.,DD42.>
$ DD84A.,0,OF.,0,0,<DD84C.,DD84D.,DD49.>
$ DD84C.,DA60.,USERN.,0,0,<DD84A.,DD79.,DD79A.,DD80.,DD40.,DD42.>
$ DD84D.,0,DATAN.,0,0,DD84C.
$ DD84E.,0,DATAN.,0,0,DD84.
$ DD86A.,0,0,0,0,<DD86.,DD53.>
$ DD86.,DA26.,INTGR.,0,0,<DD89.,DD89A.,DD89B.,DD89F.,DD90.>
$ DD89P.,0,0,0,0,DD89.
$ DD89.,DA27.,DATAN.,0,0,DD92.
$ DD89A.,DA27.,USERN.,0,0,DD92.
$ DD89B.,DA27.,CONDI.,0,0,DD92.
$ DD89F.,DA27.,FILLE.,0,0,DD92.
$ DD90.,DA99.,0,0,0,DD39.
$ DD91P.,0,0,0,0,DD39.				;CALLED FROM COBOLC
$ DD92.,DD99A.,0,1,0,<DD93.,DD93C.,DD50.>	; [260]
$ DD93.,DCA5.,INTGR.,0,0,<DD95.,DD95A.,DD95B.,DD96.,DD97.>
$ DD93A.,0,0,0,0,DD93B.
$ DD93B.,DD153A,0,1,0,<DD93.,DD50.>
$ DD93C.,E.148,PRIOD.,0,0,<DD93C.,DD93.,DD50.>	; [260]
$ DD95P.,0,0,0,0,DD95.
$ DD95.,DA29.,USERN.,0,0,DD92.
$ DD95A.,DA29.,DATAN.,0,0,DD92.
$ DD95B.,DA29.,CONDI.,0,0,DD92.
$ DD96.,DA29.,FILLE.,0,0,DD92.
$ DD97.,DA99A.,0,0,0,DD98.
$ DD98P.,0,0,0,0,DD39.				;CALLED FROM COBOLC
$ DD98.,DA5.,0,0,0,<DD93.,DD50.>
$ DD99A.,0,0,0,0,<DD101.,DD99B.>
$ DD99B.,DA30N.,0,0,0,<DD99.,DD107.>
$ DD99.,DA107.,PRIOD.,0,0

$ DD101.,DA100.,REDEF.,0,0,<DD102.,DD103.>
$ DD102.,DA30.,DATAN.,0,0,<DD105.,DD106.,DD107.>
$ DD103.,CE111.,0,0,0,DD39.
$ DD105.,0,SEMIC.,0,0,<DD106.,DD107.>
$ DD106.,DA107.,PRIOD.,0,0
$68 DD107.,0,0,0,0,<<DD108.,DD109.,DD110.,DD111.,DD112.,DD113.,DD114.,
DD136.,DD137.,DD138.,DD139.,DD140.,DD140A,DD141.,DD142.,DD142A,DD142B,
DD247.,DD257.,DD265.,DD267.,DD277.,DD282.,DD304.,DD314.,DD115.>>
$74 DD107.,0,0,0,0,<<DD108.,DD109.,DD110.,DD111.,DD112.,DD113.,DD114.,DD116.,DD116B,DD116C,
DD136.,DD137.,DD138.,DD139.,DD140.,DD140A,DD141.,DD142.,DD142A,DD142B,
DD247.,DD257.,DD265.,DD267.,DD277.,DD282.,DD304.,DD314.,DD115.>>
$ DD108.,0,BLANK.,0,0,<DD117.,DD118.,DD119.>
$ DD109.,0,JUST.,0,0,<DD120.,DD120A,DD120.>
$68 DD110.,DA73.,OCCUR.,0,0,<<DD122.,DD53.>>
$74 DD110.,DA73.F,OCCUR.,0,0,<<DD122.,DD53.>>
$ DD111.,0,PIC.,0,0,DD121.
$ DD112.,DA73.,SYNCH.,0,0,<DD131.,DD132.,DD133.>
$ DD113.,0,USAGE.,0,0,<DD134.,DD135.>
$ DD114.,0,VALUE.,0,0,<DD145.,DD146.,DD146A,DD146B,DD146C,DD147.>
$ DD115.,DA105.,0,0,0,DD39.

;[74] SIGN IS LEADING/TRAILING SEPARATE CHARACTER
$74 DD116.,DA32.C,SIGN.,0,0,<<DD116A,DD116B,DD116C,DD116D,DD116Z>>
$74 DD116A,0,IS.,0,0,<<DD116B,DD116C,DD116D,DD116Z>>
$74 DD116B,DA32.L,LEAD.,0,0,<<DD116E,DD116F,DD105.,DD106.,DD107.>>
$74 DD116C,0,TRAIL.,0,0,<<DD116E,DD116F,DD105.,DD106.,DD107.>>
$74 DD116D,DA32.L,SEPER.,0,0,DD116E
$74 DD116E,DA32.S,SEPER.,0,0,<<DD116F,DD105.,DD106.,DD107.>>
$74 DD116F,0,CHARA..,0,0,<<DD105.,DD106.,DD107.>>

$74 DD116Z,E.710,0,0,0,DD39.
$ DD117.,0,WHEN.,0,0,<DD118.,DD119.>
$ DD118.,DA31.,FIGCN.,0,0,<DD105.,DD106.,DD107.>
$ DD119.,E.18,0,0,0,<DD105.,DD106.,DD107.>
$ DD120.,DA32.,RIGHT.,0,0,<DD105.,DD106.,DD107.>
$ DD120A,0,LEFT.,0,0,<DD106.,DD107.>
$ DD121.,DA35.,0,0,0,<DD105.,DD106.,DD107.>

;OCCURS INTERGER TIMES ...
$ DD122.,DA33.,INTGR.,0,0,<DD125.,DD122A,DD122L>
$ DD122A,0,TO.,0,0,<DD122B,DD53.>
$ DD122B,DA56.,INTGR.,0,0,<DD122C,DD122D,DD122E>
$ DD122C,0,TIMES.,0,0,<DD122D,DD122E>
$ DD122D,TST.HI,DEPEN.,0,0,<DD122F,DD122G>
$ DD122E,E.126,0,0,0,DD122L
$ DD122F,0,ON.,0,0,DD122G
$ DD122G,0,0,0,0,<DD122H,DD122M,DD122K>
$ DD122H,DA57.,DATAN.,0,0,<DD122N,DD122L>
$ DD122K,CE111.,0,0,0,DD122L
$ DD122L,0,0,0,0,<DD126.,DD335.,DD336.,DD105.,DD106.,DD107.>
$ DD122M,0,USERN.,0,0,DD122H
$ DD122N,0,OF.,0,0,<DD122P,DD122Q,DD122K>
$ DD122P,DA60.,DATAN.,0,0,<DD122N,DD122L>
$ DD122Q,0,USERN.,0,0,DD122P
$ DD125.,0,TIMES.,0,0,DD122L
$ DD126.,0,INDXD.,0,0,<DD127.,DD128.,DD128A,DD129.>
$ DD127.,0,BY.,0,0,<DD128.,DD128A,DD129.>
$ DD128.,DA34.,USERN.,0,0,<DD130.,DD128.,DD128A,DD335.,DD336.,DD105.,DD106.,DD107.>
$ DD128A,DA34.,DATAN.,0,0,<DD130.,DD128.,DD128A,DD335.,DD336.,DD105.,DD106.,DD107.>
$ DD129.,E.58,0,0,0,<DD335.,DD336.,DD105.,DD106.,DD107.>
$ DD130.,0,.COMMA,0,0,<DD128.,DD128A,DD105.,DD106.,DD107.>
$ DD131.,DA36.,RIGHT.,0,0,<DD105.,DD106.,DD107.>
$ DD132.,DA37.,LEFT.,0,0,<DD105.,DD106.,DD107.>
$ DD133.,DA37.,0,0,0,<DD105.,DD106.,DD107.>
$ DD134.,0,IS.,0,0,DD135.
$ DD135.,0,0,0,0,<DD136.,DD137.,DD138.,DD139.,DD140.,DD140A,DD141.,DD142.,DD142A,DD142B,DD49.>
$ DD136.,DA39A.,DISPL.,0,0,<DD105.,DD106.,DD107.>
$ DD137.,DA39.,DSPL6.,0,0,<DD105.,DD106.,DD107.>
$ DD138.,DA38.,DSPL7.,0,0,<DD105.,DD106.,DD107.>
$ DD139.,DA40.,COMP.,0,0,<DD105.,DD106.,DD107.>
$ DD140.,DA41.,COMP1.,0,0,<DD105.,DD106.,DD107.>
$ DD140A,DA41A.,COMP2.,0,0,<DD105.,DD106.,DD107.>
$ DD141.,DA42.,COMP3.,0,0,<DD105.,DD106.,DD107.>
$ DD142.,DA43.,INDEX.,0,0,<DD105.,DD106.,DD107.>
$ DD142A,DA43A.,DBKEY.,0,0,<DD105.,DD106.,DD107.>
$ DD142B,DA43B.,DSPL9.,0,0,<DD105.,DD106.,DD107.>
$ DD145.,0,IS.,0,0,<DD146.,DD146A,DD146B,DD146C,DD147.>
$ DD146.,DA55.,LITER.,0,0,<DD105.,DD106.,DD107.>
$ DD146A,DA55.,NLIT.,0,0,<DD105.,DD106.,DD107.>
$ DD146B,DA55.,INTGR.,0,0,<DD105.,DD106.,DD107.>
$ DD146C,DA55.,FIGCN.,0,0,<DD105.,DD106.,DD107.>

$ DD147.,E.258,0,0,0,DD39.
$ DD153.,DA46.,USERN.,0,0,<DD40.,DD155.,DD156.,DD159.>
$ DD153A,0,0,0,0,<DD153.,DD153B,DD153E,DD71.>
$ DD153B,DA46.,DATAN.,0,0,DD153G
$ DD153E,DA46.,CONDI.,0,0,DD153G
$ DD153G,0,0,0,0,<DD40.,DD155.,DD156.,DD159.>
$ DD155.,0,SEMIC.,0,0,<DD156.,DD155A>
$ DD155A,E.296,0,0,0,DD39.
$ DD156.,0,VALUE.,0,0,<DD157.,DD157A>
$ DD157.,0,IS.,0,0,DD157A
$ DD157A,0,0,0,0,<DD158.,DD158A,DD158B,DD158C,DD159.>
$ DD158.,DA47.,LITER.,0,0,<DD160.,DD161.>
$ DD158A,DA47.,NLIT.,0,0,<DD160.,DD161.>
$ DD158B,DA47.,INTGR.,0,0,<DD160.,DD161.>
$ DD158C,DA47.,FIGCN.,0,0,<DD160.,DD161.>
$ DD159.,DA47E.,0,0,0,<DD160.,DD161.>
$ DD160.,0,THRU.,0,0,<DD162.,DD162A,DD162B,DD162C,DD159.>
$ DD161.,DA48.,0,0,0,<DD164.,DD40.,DD164A,DD156.,DD157A>
$ DD162.,DA49.,LITER.,0,0,<DD164.,DD40.,DD164A,DD156.,DD157A>
$ DD162A,DA49.,NLIT.,0,0,<DD164.,DD40.,DD164A,DD156.,DD157A>
$ DD162B,DA49.,INTGR.,0,0,<DD164.,DD40.,DD164A,DD156.,DD157A>
$ DD162C,DA49.,FIGCN.,0,0,<DD164.,DD40.,DD164A,DD156.,DD157A>
$ DD164.,0,.COMMA,0,0,<DD40.,DD164A,DD157A>
$ DD164A,0,SEMIC.,0,0,DD157A
$ DD165.,0,0,0,0,<DD165A,DD165B,DD71.>
$ DD165A,DA29.,USERN.,0,0,<DD166.,DD167.>
$ DD165B,DA29.,DATAN.,0,0,<DD166.,DD167.>
$ DD166.,TST.HI,RENAM.,0,0,<DD168.,DD103.>
$ DD167.,E.281,0,0,0,DD39.
$68 DD168.,DA51.,DATAN.,0,0,<<DD168A,DD172.>>
$74 DD168.,DA51.,DATAN.,0,0,<<DD168A,DD168B,DD172.>>
$ DD168A,0,THRU.,0,0,<DD170.,DD103.>
$74 DD168B,0,OF.,0,0,<<DD168C,DD103.>>
$74 DD168C,DA51A.,DATAN.,0,0,<<DD168A,DD168B,DD172.>>
$68 DD170.,DA52.,DATAN.,0,0,DD172.
$74 DD170.,DA52.,DATAN.,0,0,<<DD170A,DD172.>>
$74 DD170A,0,OF.,0,0,<<DD170B,DD103.>>
$74 DD170B,DA51A.,DATAN.,0,0,<<DD170A,DD172.>>
$ DD172.,DA53.,0,0,0,<DD40.,DD173A>
$ DD173A,CE125.,0,0,0,DD173B
$ DD173B,DA5.,0,0,0,DD40.
$ DD174A,0,0,0,0,<DD174.,DD175.,DD38.>
$ DD174.,DCA10.,FILEN.,0,0,<DD177A,DD178.>
$ DD175.,DCA10.,USERN.,0,0,<DD177A,DD178.>
$ DD177A,0,0,0,0,DD178.
$ DD178.,0,0,0,0,<DD179.,DD180.,DD40.,DD180A,DD49.>
$ DD179.,DA16.,DATA.,0,0,<DD183A,DD183.>
$ DD180.,0,REC.,0,0,<DD188.,DD189.,DD53.>
$ DD180A,DD500.,RECRDG,1,0,<DD40.,DD178.>
$ DD183.,0,0,0,0,<DD185.,DD186.,DD186A,DD71.>
$ DD183A,0,REC.,0,0,DD183.
$ DD185.,0,ARE.,0,0,<DD186.,DD186A,DD71.>
$ DD186.,DA18.,USERN.,0,0,DD186D
$ DD186A,DA18.,DATAN.,0,0,DD186D
$ DD186D,0,0,0,0,<DD186.,DD186A,DD178.>
$ DD188.,0,CONTA.,0,0,<DD189.,DD53.>
$ DD189.,DA11.,INTGR.,0,0,<DD191.,DD194.,DD195.>
$ DD191.,0,TO.,0,0,<DD192.,DD53.>
$ DD192.,DA12.,INTGR.,0,0,<DD194.,DD195.>
$ DD194.,0,CHARA.,0,0,DD195.
$ DD195.,DA15.,0,0,0,DD178.

;[74] CODE-SET IS <ALPHABET-NAME>
$74 DD198.,0,CDSET.,0,0,<<DD198A,DD198B,DD49.>>	;CODE-SET
$74 DD198A,0,IS.,0,0,<<DD198B,DD49.>>		;IS
$74 DD198B,0,SPECN.,0,0,<<DD40.,DD42.>>		;ALPHABET-NAME
IFN RPW,<

;REPORT(S) IS/ARE <REPORT-NAME-1, REPORT-NAME-2, ...>
$ DD43A.,TST.RP,REPOR.,0,0,<DD196.,DD197.,DD199.>	;REPORT
$ DD196.,0,IS.,0,0,<DD197.,DD199.>		;IS
$ DD197.,DA62.,USERN.,0,0,<DD197.,DD40.,DD42.>	;REP-NAME: LINK FILE TO REP
$ DD199.,DA62XE,0,0,0,<DD40.,DD42.>		;?ILLEGAL REP-NAME

;REPORT SECTION.
$ DD8A.,DCA6.,REPOR.,0,1,<DD200.,DD201.>	;REPORT: INIT SECTION
$ DD8AE.,E.341,REPOR.,0,0,DD8A.			;REPORT: ?NOT AT A-MARG
$ DD200.,0,SECT.,0,0,<DD202.,DD203.>		;SECTION
$ DD201.,E.140,0,0,0,<DD202.,DD203.>		;?SECTION EXPECTED
$ DD202.,0,PRIOD.,0,0,DD204.			;PERIOD
$ DD203.,CE125.,0,0,0,DD204.			;?PERIOD NOT SEEN
$ DD204.,0,0,0,0,<DD202.,DD205.,DD205E.,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD204A>
$ DD204A,DA98.,0,0,0,DD204.
$ DD204E,0,0,0,0,<DD400.,DD350.,DD380A,DD380B,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD204F>
$ DD204F,DA98.,0,0,0,DD204E			;SKIP CLAUSE

;RD <REPORT-NAME>
$68 DD205.,DA10.,RD.,0,1,DD205G			;RD: CLEAN UP PREV. GROUP
$74 DD205.,DA10R.,RD.,0,1,DD205G		;RD: CLEAN UP PREV. GROUP
$ DD205E,E.341,RD.,0,0,DD205.			;RD: ?NOT AT A-MARG
$ DD205G,DD205S,0,1,0,<DD24.,DD205.,DD205E,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD208.>
$ DD205S,0,0,0,0,<DD206.,DD206E,DD207.>
$ DD206.,DA64.,RPNAM.,0,0,<DD40.,DD209.>	;[174] REP-NAM: INIT RD
$ DD206E,DA64E.,USERN.,0,0,DD206.
$ DD207.,DA64XE,0,0,0,DD39.			;?NOT DEFINED IN FILE SECT.
$ DD208.,E.148,PRIOD.,0,0,<DD24.,DD205.,DD205E,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD208.,DD21.>		;[216] GIVE AN ERROR MESSAGE AND
					; CONTINUE SCAN IF WE SEE A DOUBLE PERIOD.

;OPTIONS IN RD PARAGRAPH
$ DD209.,0,0,0,0,<DD327.,DD210.,DD211.,DD48.,DD49.>

;CONTROL IS <FINAL, DATA-NAME>
$ DD210.,0,CONTR.,0,0,<DD230.,DD231.,DD232.,DD233.,DD239.>  ;CONTROL
$ DD230.,0,IS.,0,0,<DD231.,DD232.,DD233.,DD239.>;IS
$ DD231.,DA71.,FINAL.,0,0,<DD232.,DD233.,DD234.,DD40.,DD209.>  ;FINAL: MAKE CTRL RPW ENTRY
$ DD232.,0,USERN.,0,0,DD241.			;U-NAME: WILL CAUSE UNDEF FLAG
$ DD233.,DA72.,DATAN.,0,0,<DD234.,DD232.,DD233.,DD40.,DD209.>  ;D-NAME: MAKE CTRL ENTRY
$ DD234.,E.346,FINAL.,0,0,<DD232.,DD233.,DD234.,DD40.,DD209.>  ;FINAL: ?SHOULD BE 1ST
$ DD239.,E.345,0,0,0,DD240.			;?CONTROL IDENT EXPECTED
$ DD240.,DA7.,0,0,0,<DD40.,DD209.>		;SET TO REGET LAST WORD
$ DD241.,E.345,0,0,0,<DD40.,DD209.>		;DON'T REGET LAST WORD.
;PAGE LIMIT IS <INTEGER> LINES
$ DD211.,0,PAGE.,0,0,<DD212.,DD213.,DD214.,DD215.>  ;PAGE: INIT LINE-CTR
$ DD212.,0,LIM.,0,0,<DD213.,DD214.,DD215.>	;LIMIT
$ DD213.,0,IS.,0,0,<DD214.,DD215.>		;IS
$ DD214.,DA66.,INTGR.,0,0,<DD216.,DD217.>	;INTEGER: GET #LINES/PAGE
$ DD215.,E.18,0,0,0,<DD40.,DD209.>		;?IMPROPER CLAUSE
$ DD216.,0,LINE.,0,0,DD217.			;LINES

;OPTIONS IN PAGE LIMIT CLAUSE
$ DD217.,0,0,0,0,<DD218.,DD219.,DD220.,DD221.,DD325.,DD326.>
$ DD325.,DA104.,PRIOD.,0,0,DD40.		;PERIOD: SET DEFAULTS
$ DD326.,DA104.,0,0,0,DD209.			;SET DEFAULTS

;HEADING <INTEGER>
$ DD218.,0,HEADG.,0,0,<DD222.,DD223.>		;HEADING
$ DD222.,DA67.,INTGR.,0,0,DD217.		;INTEGER: STORE HEADING LINE#
$ DD223.,E.18,0,0,0,DD217.			;?IMPROPER CLAUSE

;FIRST DETAIL <INTEGER>
$ DD219.,0,FIRST.,0,0,<DD224.,DD223.>		;FIRST
$ DD224.,0,DE.,0,0,<DD225.,DD223.>		;DETAIL
$ DD225.,DA68.,INTGR.,0,0,DD217.		;INTEGER: STORE 1ST DE LINE#

;LAST DETAIL <INTEGER>
$ DD220.,0,LAST.,0,0,<DD226.,DD223.>		;LAST
$ DD226.,0,DE.,0,0,<DD227.,DD223.>		;DETAIL
$ DD227.,DA69.,INTGR.,0,0,DD217.		;INTEGER: STORE LAST DE LINE#

;FOOTING <INTEGER>
$ DD221.,0,FOOT.,0,0,<DD228.,DD223.>		;FOOTING
$ DD228.,DA70.,INTGR.,0,0,DD217.		;INTEGER: STORE FOOTING LINE#
;LINE NUMBER IS <INTEGER, PLUS INTEGER, NEXT PAGE>
$ DD247.,DA74.,LINE.,0,0,<DD248.,DD249.,DD250.,DD251.,DD254.,DD49.>  ;LINE:
$ DD248.,0,NUMBR.,0,0,<DD249.,DD250.,DD251.,DD254.,DD49.>  ;NUMBER
$ DD249.,0,IS.,0,0,<DD250.,DD251.,DD254.,DD49.>;IS
$ DD250.,DA76.,INTGR.,0,0,DD99A.		;INTEGER:
$ DD251.,0,PLS.,0,0,<DD252.,DD53.>		;PLUS
$ DD252.,DA77.,INTGR.,0,0,DD99A.		;INTEGER:
$ DD254.,0,NEXT.,0,0,<DD255.,DD256.>		;NEXT
$ DD255.,DA75.,PAGE.,0,0,DD99A.			;PAGE:
$ DD256.,E.351,0,0,0,DD39.			;?PAGE EXPECTED


;NEXT GROUP IS <INTEGER, PLUS INTEGER, NEXT PAGE>
$ DD257.,DA74.,NEXT.,0,0,<DD258.,DD49.>		; [315] NEXT (GROUP) IS REQUIRED)
$ DD258.,0,GROUP.,0,0,<DD259.,DD260.,DD261.,DD263.,DD49.>  ;GROUP
$ DD259.,0,IS.,0,0,<DD260.,DD261.,DD263.,DD49.>	;IS
$ DD260.,DA81.,INTGR.,0,0,DD99A.		;INTEGER:
$ DD261.,0, PLS.,0,0,<DD262.,DD53.>		;PLUS
$ DD262.,DA82.,INTGR.,0,0,DD99A.		;INTEGER:
$ DD263.,0,NEXT.,0,0,<DD264.,DD256.>		;NEXT
$ DD264.,DA80.,PAGE.,0,0,DD99A.			;PAGE:
;GROUP INDICATE
$ DD265.,DA83.,GROUP.,0,0,<DD266.,DD266.>	;GROUP: SET GROUP INDIC. FLAG
$ DD266.,0,INDIC.,0,0,DD99A.			;INDICATE: POPJ


;RESET ON <CONTROL-IDENTIFIER, FINAL>
$ DD267.,DA74.,RESET.,0,0,<DD268.,DD269.,DD270.,DD271.,DD272.>  ;RESET
$ DD268.,0,ON.,0,0,<DD269.,DD270.,DD271.,DD272.>;ON
$ DD269.,DA84.,FINAL.,0,0,DD99A.		;FINAL:
$ DD270.,0,USERN.,0,0,DD271.			;U-NAME: WILL CAUSE UNDEF FLAG
$ DD271.,DA85.,DATAN.,0,0,DD99A.		;D-NAME: PUT LINK IN RPWTAB
$ DD272.,E.345,0,0,0,DD39.			;?CONTROL IDENTIFIER EXPECTED


;COLUMN NUMBER IS <INTEGER>
$ DD277.,DA74.,COL.,0,0,<DD278.,DD279.,DD280.,DD53.>  ;COLUMN
$ DD278.,0,NUMBR.,0,0,<DD279.,DD280.,DD53.>	;NUMBER
$ DD279.,0,IS.,0,0,<DD280.,DD53.>		;IS
$ DD280.,DA86.,INTGR.,0,0,DD99A.		;INTEGER:
;TYPE IS <RH,PH,CH,DE,CF,PF,RF>
$ DD282.,DA74.,TYPE.,0,0,<DD283.,DD283A>	;TYPE
$ DD283.,0,IS.,0,0,DD283A			;IS
$ DD283A,0,0,0,0,<DD284.,DD285.,DD286.,DD287.,DD288.,DD289.,DD290.,DD291.,DD292.,DD293.,DD295.>
$ DD284.,0,REPOR.,0,0,<DD284A,DD284B,DD294.>	;REPORT
$ DD284A,DA87.,HEADG.,0,0,DD99A.		;HEADING:
$ DD284B,DA93.,FOOT.,0,0,DD99A.			;FOOTING:
$ DD285.,0,PAGE.,0,0,<DD285A,DD285B,DD294.>	;PAGE
$ DD285A,DA88.,HEADG.,0,0,DD99A.		;HEADING:
$ DD285B,DA92.,FOOT.,0,0,DD99A.			;FOOTING:
$ DD286.,0,CONTR.,0,0,<DD286A,DD286B,DD294.>	;CONTROL
$ DD286A,DA89.,HEADG.,0,0,<DD296.,DD297.,DD298.,DD303.>  ;HEADING:
$ DD286B,DA91.,FOOT.,0,0,<DD296.,DD297.,DD298.,DD303.>  ;FOOTING:
$ DD287.,DA87.,RH.,0,0,DD99A.			;RH:
$ DD288.,DA88.,PH.,0,0,DD99A.			;PH:
$ DD289.,DA89.,CH.,0,0,<DD296.,DD297.,DD298.,DD303.>  ;CH:
$ DD290.,DA90.,DE.,0,0,DD99A.			;DE:
$ DD291.,DA91.,CF.,0,0,<DD296.,DD297.,DD298.,DD303.>  ;CF:
$ DD292.,DA92.,PF.,0,0,DD99A.			;PF:
$ DD293.,DA93.,RF.,0,0,DD99A.			;RF:
$ DD294.,E.355,0,0,0,DD39.			;?HEAD OR FOOT REQ'D
$ DD295.,E.356,0,0,0,DD39.			;?TYPE REQUIRED
$ DD296.,0,USERN.,0,0,DD297.			;U-NAME: WILL CAUSE UNDEF FLAG
$ DD297.,DA94.,DATAN.,0,0,DD99A.		;D-NAME: LINK ITEM TO CTRL ENTRY
$ DD298.,DA95.,FINAL.,0,0,DD99A.		;FINAL:
$ DD303.,E.231,0,0,0,DD302.			;?CONTROL ID OR FINAL EXPECTED
$ DD302.,DA7.,0,0,0,DD99A.			;SET TO REGET WORD
;SOURCE IS <IDENTIFIER>

$ DD304.,DA74.,SOUR.,0,0,<DD305.,DD307.,DD308.>	;SOURCE: CK FOR REP SEC
$ DD305.,0,IS.,0,0,<DD307.,DD308.>		;IS
$ DD307.,DCA12.,DATAN.,0,0,DD307A		;D-NAME: STORE SOURCE LINK
$ DD307A,DD800.,0,1,0,DD307B			;QUALIFIED, WITH SUBSCRIPTS
$ DD307B,DA97.,0,0,0,DD99A.			;STORE ITEM IN RPWTAB ENTRY
$ DD308.,E.101,0,0,0,DD99A.			;?IDENTIFIER EXPECTED


;SUM <IDENTIFIER>,<IDENTIFIER>,...UPON <DATA-NAME>
$ DD314.,DA103.,SUM.,0,0,<DD315.,DD316.,DD317.>
$ DD315.,DA101.,USERN.,0,0,<DD315.,DD316.,DD318.,DD322.,DD99A.>
$ DD316.,DA101.,DATAN.,0,0,<DD315.,DD316.,DD318.,DD322.,DD99A.>
$ DD317.,E.101,0,0,0,DD99A.
$ DD318.,0,OF.,0,0,<DD319.,DD320.,DD321.>
$ DD319.,DA60.,USERN.,0,0,<DD318.,DD315.,DD316.,DD322.,DD99A.>
$ DD320.,DA60.,DATAN.,0,0,<DD318.,DD315.,DD316.,DD322.,DD99A.>
$ DD321.,E.347,0,0,0,DD39.
$ DD322.,0,UPON.,0,0,<DD323.,DD324.,DD317.>
$ DD323.,DA102.,DATAN.,0,0,DD99A.
$ DD324.,DA102.,USERN.,0,0,DD99A.

;CODE IS <MNEMONIC-NAME>
$ DD327.,0,CODE.,0,0,<DD328.,DD328.>
$ DD328.,0,IS.,0,0,<DD329.,DD330.,DD331.>
$ DD329.,DA106.,SPECN.,0,0,<DD40.,DD209.>
$ DD330.,E.104,USERN.,0,0,<DD40.,DD209.>
$ DD331.,E.18,0,0,0,DD240.

>;END IFN RPW
IFE RPW,<
$ DD43A.,E.91,REPOR.,0,0,DD196.			;?NOT IMPLEMENTED
$ DD196.,DA98.,0,0,0,<DD43.,DD43A.,DD44.,DD45.,DD46.,DD47.,DD48.,DD42.,DD196.>	;SKIP
$ DD204E,0,0,0,0,<DD400.,DD350.,DD380A,DD380B,DD7.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD204F>
$ DD204F,DA98.,0,0,0,DD204E			;SKIP CLAUSE
$ DD8A.,E.91,REPOR.,0,1,DD204E			;?NOT IMPLEMENTED
$ DD8AE.,E.91,REPOR.,0,0,DD204E			;?NOT IMPLEMENTED
$ DD247.,E.350,LINE.,0,0,DD115.
$ DD257.,E.350,NEXT.,0,0,DD115.
$ DD265.,E.350,GROUP.,0,0,DD115.
$ DD267.,E.350,RESET.,0,0,DD115.
$ DD277.,E.350,COL.,0,0,DD115.
$ DD282.,E.350,TYPE.,0,0,DD115.
$ DD304.,E.350,SOURC.,0,0,DD115.
$ DD314.,E.350,SUM.,0,0,DD115.
>;END IFE RPW
;ASCENDING/DESCENDING KEY CLAUSE FOR OCCURS
$ DD335.,DA108.,ASCND.,0,0,<DD337.,DD337.>
$ DD336.,DA109.,DESCN.,0,0,<DD337.,DD337.>
$ DD337.,0,KEY,0,0,<DD338.,DD338.>
$ DD338.,0,IS.,0,0,<DD339.,DD340.,DD341.>
$ DD339.,0,DATAN.,0,0,DD340.
$ DD340.,DA110.,USERN.,0,0,<DD342.,DD339.,DD340.,DD335.,DD336.,DD126.,DD105.,DD106.,DD107.>
$ DD341.,E.18,0,0,0,<DD126.,DD105.,DD106.,DD107.>
$ DD342.,0,OF.,0,0,<DD343.,DD344.,DD53.>
$ DD343.,0,DATAN.,0,0,DD344.
$ DD344.,DA60.,USERN.,0,0,<DD342.,DD339.,DD340.,DD335.,DD336.,DD105.,DD126.,DD106.,DD107.>



;INVOKE SUB-SCHEMA <SUB-SCHEMA NAME> OF SCHEMA <SCHEMA-NAME>
;	[PRIVACY KEY FOR COMPILE IS <IDENTIFIER>].

IFN DBMS,<

$ DD350.,DA113.,SCHEM.,0,1,<DD352.,DD351.>
$ DD351.,E.140,0,0,0,DD352.
$ DD352.,0,SECT.,0,0,<DD354.,DD353.>
$ DD353.,CE125.,0,0,0,DD354.
$ DD354.,0,PRIOD.,0,0,<DD355A,DD355B,DD6.>
$ DD355A,DA114A,INVOK.,0,0,<DD356.,DD357.,DD370.>
$ DD355B,DA114B,ACCES.,0,0,<DD356.,DD357.,DD370.>
$ DD356.,0,SBSCH.,0,0,<DD357.,DD370.>
$ DD357.,DA115.,USERN.,0,0,<DD358.,DD359.,DD360.,DD371.>
$ DD358.,0,OF.,0,0,<DD359.,DD360.,DD371.>
$ DD359.,0,SCHEM.,0,0,<DD360.,DD371.>
$ DD360.,DA116.,USERN.,0,0,<DD361.,DD367.>
$ DD361.,0,PRVCY.,0,0,<DD362.,DD372.>
$ DD362.,0,KEY,0,0,<DD363.,DD364.,DD373.>
$ DD363.,0,FOR.,0,0,<DD364.,DD374.>
$ DD364.,0,COMPIL.,0,0,<DD365.,DD366.,DD375.>
$ DD365.,0,IS.,0,0,<DD366.,DD375.>
$ DD366.,DA117.,USERN.,0,0,<DD367.,DD367.>
$ DD367.,DA119.,0,0,0,DD24A
$ DD368.,DA116A,INTGR.,0,0,<DD369.,DD377.>
$ DD369.,DA116B,INTGR.,0,0,<DD361.,DD367.>


;ERROR NODES FOR INVOKE
$ DD370.,E.420,0,0,0,DD12.
$ DD371.,E.471,0,0,0,DD12.
$ DD372.,E.161,0,0,0,DD12.
$ DD373.,E.418,0,0,0,DD12.
$ DD374.,E.413,0,0,0,DD12.
$ DD375.,E.429,0,0,0,DD12.
$ DD376.,E.421,INVOK.,0,0,DD12.		;ERROR MESSAGE ON INVOKE
$ DD377.,E.18,0,0,0,DD12.

	>



IFE DBMS,<
$ DD350.,E.91,SCHEM.,0,0,DD12.
$ DD376.,E.91,INVOK.,0,0,DD12.
	>



;[710] NO-OP MULTI-INVOKE HANDLING

$ DD380A,E.91,INVOK.,0,0,DD12.
$ DD380B,E.91,ACCES.,0,0,DD12.
;PARSE CD SPECIFICATION
;
;
IFN MCS!TCS,<
$ DD400.,DA120.,COMM.,0,1,<DD401.,DD409.>
$ DD401.,0,SECT.,0,0,<DD402.,DD403.>
$ DD402.,DA144.,PRIOD.,0,0,<DD400.,DD411.,DD404.,DD7.,DD402.,DD350.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD407.>
$ DD403.,CE125.,0,0,0,DD402.
$ DD404.,DA143.,INTGR.,0,0,DD405.
$ DD405.,DD86A.,0,1,0,DD406.
$ DD406.,DA8.,0,0,0,DD402.
$ DD407.,E.43,0,0,0,DD408.
$ DD408.,DA5.,0,0,0,<DD411.,DD404.,DD7.,DD350.,DD7A.,DD8.,DD8A.,DD8AE.,DD9.,DD10.,DD408.>
$ DD409.,E.140,0,0,0,<DD402.,DD403.>
	>

IFE MCS!TCS,<
$ DD400.,E.91,COMM.,0,1,DD204E
	>



;CONTINUE PARSING CD BLOCK...

IFN MCS!TCS,<
$ DD411.,TST.HI,CD.,0,1,<DD412.,DD469.,DD470.>
$ DD412.,DA121.,USERN.,0,0,<DD413.,DD414.,DD415.,DD416.,DD471.>
$ DD413.,0,FOR.,0,0,<DD414.,DD415.,DD416.,DD472.>
$ DD414.,DA122.,INITL.,0,0,<DD415.,DD473.>
$ DD415.,DA123.,INPUT.,0,0,<DD417.,DD417.>
$ DD416.,DA138.,OUTPU.,0,0,<DD417A,DD417A>
$ DD417.,DD420.,0,1,0,DD402.
$ DD417A,DD443.,0,1,0,DD402.
$ DD418.,DA139.,PRIOD.,0,0,<DD512.,DD512.>
$ DD419.,E.18,0,0,0,DD418.
$68 DD420.,0,0,0,0,<<DD421.,DD424.,DD426.,DD427.,DD428.,DD429.,DD430.,DD431.,DD432.,DD433.,DD434.,DD435.,DD436.,DD437.,DD442A,DD418.,DD442.,DD442B,DD419.>>
$74 DD420.,0,0,0,0,<<DD424.,DD425.,DD426.,DD427.,DD428.,DD429.,DD430.,DD431.,DD432.,DD433.,DD434.,DD435.,DD436.,DD437.,DD442A,DD418.,DD442.,DD442B,DD419.>>
IFE FT68274,<
$68 DD421.,0,QUEUE.,0,0,<<DD422.,DD423.>>
>
IFN FT68274,<
$68 DD421.,DA124A,QUEUE.,0,0,<<DD422.,DD423.>>
>
$68 DD422.,DA124B,DEPTH.,0,0,DD439.	;[1436]
$68 DD423.,DA125.,0,0,0,DD439.
$ DD424.,0,SYMBL.,0,0,<DD425.,DD426.,DD427.,DD428.,DD429.,DD474.>
$ DD425.,DA126.,QUEUE.,0,0,DD439.
$ DD426.,DA127.,SUBQ1.,0,0,DD439.
$ DD427.,DA128.,SUBQ2.,0,0,DD439.
$ DD428.,DA129.,SUBQ3.,0,0,DD439.
$ DD429.,DA130.,SOUR.,0,0,DD439.,
$ DD430.,0,MSG.,0,0,<DD431.,DD432.,DD433.,DD475.>
$ DD431.,DA131.,DATE..,0,0,DD439.
$ DD432.,DA132.,TIME..,0,0,DD439.
$ DD433.,DA124.,COUNT.,0,0,DD439.
$ DD434.,0,TEXT.,0,0,<DD435.,DD476.>
$ DD435.,DA133.,LNGTH.,0,0,DD439.
$ DD436.,DA134.,END.,0,0,<DD438.,DD440.,DD441.,DD477.>
$ DD437.,DA135.,STATU.,0,0,<DD438.,DD440.,DD441.,DD477.>
$ DD438.,0,KEY,0,0,DD439.
$ DD439.,0,0,0,0,<DD440.,DD441.,DD441A,DD478.>
$ DD440.,0,IS.,0,0,<DD441.,DD441A,DD479.>
$ DD441.,DA136.,DATAN.,0,0,DD420.
$ DD441A,DA136.,USERN.,0,0,DD420.
$ DD442A,DA137.,USERN.,0,0,<DD442A,DD442B,DD442.,DD418.>
$ DD442.,DA137.,DATAN.,0,0,<DD442B,DD442.,DD442A,DD418.>
$ DD442B,DA137.,FILLE.,0,0,<DD442.,DD442A,DD442B,DD418.>


;OUTPUT CD PARSE...
$ DD443.,0,0,0,0,<DD444.,DD453.,DD455.,DD456.,DD458.,DD460.,DD461.,DD445.,DD446.,DD454.,DD418.,DD512.>
$ DD443A,DA7.,0,0,0,DD443.
$ DD444.,0,DEST.,0,0,<DD445.,DD446.,DD462.>
$ DD445.,DA129.,COUNT.,0,0,DD463.
$ DD446.,0,TABLE.,0,0,<DD447.,DD480.>
$ DD447.,0,OCCUR.,0,0,<DD448.,DD481.>
$ DD448.,DA140.,INTGR.,0,0,<DD449.,DD450.,DD443A>
$ DD449.,0,TIMES.,0,0,<DD450.,DD443A>
$ DD450.,0,INDXD.,0,0,<DD451.,DD452.,DD452A,DD482.>
$ DD451.,0,BY.,0,0,<DD452.,DD452A,DD482.>
$ DD452.,DA141.,DATAN.,0,0,<DD452.,DD452A,DD443A>
$ DD452A,DA141.,USERN.,0,0,<DD452.,DD452A,DD443A>
$ DD453.,0,TEXT.,0,0,<DD454.,DD483.>
$ DD454.,DA131.,LNGTH.,0,0,DD463.
$ DD455.,DA134.,ERROR.,0,0,<DD457.,DD463A>
$ DD456.,DA132.,STATU.,0,0,<DD457.,DD463A>
$ DD457.,0,KEY,0,0,DD463.
$ DD458.,0,SYMBL.,0,0,<DD459.,DD484.>
$ DD459.,DA135.,DEST.,0,0,DD463.
$ DD460.,0,MSG.,0,0,<DD461.,DD485.>
$ DD461.,DA124.,CLASS.,0,0,DD463.
$ DD462.,DA142.,0,0,0,DD463.
$ DD463A,DA7.,0,0,0,DD463.
$ DD463.,0,0,0,0,<DD464.,DD465.,DD466.,DD486.>
$ DD464.,0,IS.,0,0,<DD465.,DD466.,DD487.>
$ DD465.,DA136.,DATAN.,0,0,DD443.
$ DD466.,DA136.,USERN.,0,0,DD443.
;ERROR NODES FOR CD PROCESSING

$ DD469.,E.456,0,0,0,DD408.
$ DD470.,E.435,0,0,0,DD408.
$ DD471.,E.418,0,0,0,DD408.
$ DD472.,E.436,0,0,0,DD408.
$ DD473.,E.437,0,0,0,DD408.
$ DD474.,E.438,0,0,0,DD420.
$ DD475.,E.439,0,0,0,DD420.
$ DD476.,E.440,0,0,0,DD420.
$ DD477.,E.161,0,0,0,DD420.
$ DD478.,E.441,0,0,0,DD420.
$ DD479.,CE111.,0,0,0,DD420.

;OUTPUT CD ERRORS
$ DD480.,E.442,0,0,0,DD443.
$ DD481.,E.25,0,0,0,DD443.
$ DD482.,E.58,0,0,0,DD443.
$ DD483.,E.440,0,0,0,DD443.
$ DD484.,E.443,0,0,0,DD443.
$ DD485.,E.444,0,0,0,DD443.
$ DD486.,E.441,0,0,0,DD443.
$ DD487.,CE111.,0,0,0,DD443.
	>
;SAW "RECORDING" IN AN FD OR SD.

$ DD500.,TST.NS,0,0,0,<DD501.,DD502.,DD502B,DD503.,DD504.,DD505.,DD507.,DD508.,DD509.,DD511.>

$ DD501.,0,MODE.,0,0,<DD502.,DD500.>		;MODE.
$ DD502.,0,IS.,0,0,DD500.			;IS.
$ DD502B,DA150B,BYTE.,0,0,DD500.		;BYTE
$ DD503.,DA145.,ASCII.,0,0,DD512.		;ASCII.
$ DD504.,DA146.,STDAS.,0,0,DD512.		;STANDARD-ASCII.
$ DD505.,0,STAND.,0,0,<DD506.,DD507.>		;STANDARD <SPACE> ASCII
$ DD506.,DA146.,ASCII.,0,0,DD512.		; IS OK TOO.
$ DD507.,E.18,0,0,0,DD512.			;STANDARD WITHOUT ASCII
						; IS AN ERROR.
$ DD508.,DA147.,SIXBT.,0,0,DD512.		;SIXBIT.
$ DD509.,DA148.,BINRY.,0,0,DD512.		;BINARY.
$ DD511.,DA149.,0,0,0,DD512.			;F, V OR ERROR.
$ DD512.,DA0.,0,0,0				;RETURN.

;[74] LINAGE CLAUSE.

$74 DD600.,DA200.,LINAG.,0,0,<<DD601.,DD602.,DD603.,DD604.>>	;LINAGE
$74 DD601.,0,IS.,0,0,<<DD602.,DD603.,DD604.>>			;IS
$74 DD602.,DA201.,USERN.,0,0,<<DD605.,DD608.,DD609.,DD612.,DD617.,DD618.,DD619.,DD40.,DD42.,DD49.>>			;USER NAME
$74 DD603.,DA202.,INTGR.,0,0,<<DD605.,DD608.,DD609.,DD612.,DD617.,DD618.,DD619.,DD40.,DD42.,DD49.>>			;INTEGER
$74 DD604.,E.705,0,0,0,DD39.					;DATA-NAME OR INTEGER EXPECTED
$74 DD605.,0,LINE.,0,0,<<DD608.,DD609.,DD612.,DD617.,DD618.,DD619.,DD40.,DD42.,DD49.>>	;LINES
$74 DD608.,0,WITH.,0,0,<<DD612.,DD613.>>			;WITH
$74 DD609.,0,LINE.,0,0,<<DD617.,DD618.,DD619.,DD620.>>		;LINES
$74 DD612.,0,FOOT.,0,0,<<DD614.,DD615.,DD616.,DD604.>>		;FOOTING
$74 DD613.,E.707,0,0,0,DD39.					;'FOOTING' EXPECTED
$74 DD614.,0,AT.,0,0,<<DD615.,DD616.,DD604.>>			;AT
$74 DD615.,DA203.,USERN.,0,0,<<DD609.,DD617.,DD618.,DD619.,DD40.,DD42.,DD49.>>	;DATA-NAME
$74 DD616.,DA204.,INTGR.,0,0,<<DD609.,DD617.,DD618.,DD619.,DD40.,DD42.,DD49.>>	;INTEGER
$74 DD617.,0,AT.,0,0,<<DD618.,DD619.,DD620.>>			;AT
$74 DD618.,0,TOP.,0,0,<<DD621.,DD622.,DD604.>>			;TOP
$74 DD619.,0,BOTTO.,0,0,<<DD623.,DD624.,DD604.>>		;BOTTOM
$74 DD620.,E.708,0,0,0,DD39.			;TOP OR BOTTOM EXPECTED
$74 DD621.,DA205.,USERN.,0,0,<<DD609.,DD617.,DD619.,DD40.,DD42.>>	;DATA-NAME
$74 DD622.,DA206.,INTGR.,0,0,<<DD609.,DD617.,DD619.,DD40.,DD42.>>	;INTEGER
$74 DD623.,DA207.,USERN.,0,0,<<DD40.,DD42.>>	;DATA-NAME
$74 DD624.,DA208.,INTGR.,0,0,<<DD40.,DD42.>>	;INTEGER

;Parser subroutine for parsing an identifier with Qualifiers
; and subscripts in Phase C.  This is similar to the one in DTREE.

$ DD800.,DA221.,0,0,0,<DD802.,DD809.,DD801.>
$ DD801.,DA222.,0,0,0,DD801A
$ DD801A,DA0.,0,0,0
$ DD802.,0,OF.,0,0,<DD804.,DD807.,DD807R,DD807C,DD807U,DD808.>
$ DD804.,DCA11.,DATAN.,0,0,<DD802.,DD809.,DD801.>
$ DD807.,DCA11.,FILEN.,0,0,<DD809.,DD801.>
$ DD807C,DCA11.,CDNAM.,0,0,<DD809.,DD801.>
$ DD807R,DCA11.,RPNAM.,0,0,<DD809.,DD801.>
$ DD807U,CE111.,USERN.,0,0,<DD802.,DD809.,DD801.>
$ DD808.,E.101,0,0,0,<DD802.,DD809.,DD801.>
$ DD809.,DA223.,LPREN.,0,0,<DD810.,DD812.,DD814.>
$ DD810.,DA220.,DATAN.,0,0,DD817.
$ DD812.,DA220.,INTGR.,0,0,DD815.
$ DD814.,DA224.,0,0,0,DD817.
$ DD815.,DA225.,0,0,0,<DD810.,DD812.,DD816.,DD814.>
$ DD816.,DA226.,RPREN.,0,0,DD801A
$ DD817.,DD818.,0,1,0,DD817A
$ DD817A,DA225A,0,0,0,<DD817B,DD817C,DD817G>
$ DD817B,DA227.,PLUS.,0,0,<DD817E,DD817F>
$ DD817C,DA228.,MINUS.,0,0,<DD817E,DD817F>
$ DD817E,DA229.,INTGR.,0,0,<DD817G>
$ DD817F,E.25,0,0,0,DD817G
$ DD817G,0,0,0,0,<DD810.,DD812.,DD816.,DD817H>
$ DD817H,E.251,0,0,0,DD816.

$ DD818.,DA221.,0,0,0,<DD820.,DD821.>
$ DD820.,0,OF.,0,0,<DD823.,DD824.,DD825.>
$ DD821.,DA222.,0,0,0,DD801A
$ DD823.,DCA11.,DATAN.,0,0,<DD820.,DD821.>
$ DD824.,DCA11.,FILEN.,0,0,<DD820.,DD821.>
$ DD825.,E.190,0,0,0,<DD820.,DD821.>


	END