Google
 

Trailing-Edge - PDP-10 Archives - BB-H580E-SB_1985 - btree.mac
There are 7 other files named btree.mac in the archive. Click here to see a list.
; UPD ID= 3474 on 4/2/81 at 9:25 AM by WRIGHT                           
TITLE	BTREE FOR COBOL V12C
SUBTTL	IDENTIFICATION & ENVIRONMENT DIVISION SYNTAX TREES	W.NEELY/CAM

	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
	EBCMP.==EBCMP.

;EDITS
;LEM	1-26-82		[1333]ALLOW ORG IS RELATIVE WITH CHKPNT OUTPUT
;V12B****************
;SMI	04-MAR-83	[1454] 68274 Fix errors with period in SYMBOLIC KEY
;SMI	22-OCT-82	[1423] 68274 Convert FILE LIMITS to comments
;V10*****************
;NAME	DATE		COMMENTS
;EHM	3-JUN-77	[501] ENFORCE NO PRINTER CHANNELS GREATER THAN 8
;ACK	12-JAN-75	ADDED SYNTAX FOR:
;			1.  RECORDING MODE IS STANDARD-ASCII/F/V.
;			2.  RECORDING DENSITY IS 1600
;			3.  I/O ERROR RECOVERY.
;********************


; EDIT 323 ALLOW "ALL" TO BE A DEVICE IN A SELECT STATEMENT.
; EDIT 175 FIXES ERROR RECOVERY FOR SELECT STATEMENTS ERRORS
; EDIT 153 FIXES NUMERIC DATA IN DATE-WRITTEN SKIPPING NEXT PARA.


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

ENTRY	BTREE

BTREE:

;THIS TREE IS BUILT FROM THE NODE MACRO DEFINED IN P.MAC - THE FORM IS
;$ (NAME,ACTION,ITEM-TYPE,PUSHDOWN-FLAG,MARGIN-TYPE,<SON1,SON2,...>
;THE ACTIONS ARE IA0., IA1., ETC.
;THE ERRORS ARE BE1., BE2., ETC.
;THE TREE IS TRACED BY SQUIRL.MAC
;SQUIRL PROCEEDS AS FOLLOWS:
;	(1) EXECUTE THE ACTION AT THE CURRENT NODE
;	(2) IF THERE IS ONLY 1 SON, MAKE IT THE CURRENT NODE & GO TO 1
;	(3) GET THE NEXT SOURCE ITEM
;	(4) AIM AT FIRST SON
;	(5) IF LAST SON, MAKE IT THE NEXT NODE, TURN ON REGET FLAG & GO TO 1
;	(6) OTHERWISE COMPARE SOURCE-ITEM-TYPE WITH SON'S TYPE
;	(7) IF NO MATCH, AIM AT NEXT SON & GO TO 4
;	(8) IF MATCH, MAKE THIS SON THE NEXT NODE & GO TO 1
SUBTTL	IDENTIFICATION DIVISION SYNTAX TREE

;IDENTIFICATION DIVISION.
$ ID0.,0,0,0,0,<ID1.,ID1E.,ID1S.,ID2.>		;ENTER SYNTAX TREE
$68 ID1.,0,ID.,0,1,<<ID4.,ID5.>>		;IDENTIFICATION
$74 ID1.,IA0.ID,ID.,0,1,<<ID4.,ID5.>>		;IDENTIFICATION
$ ID1S.,IA0S1.,INTGR.,0,0,ID0.			;ASSUME SEQUENCED BUT NO /S
$ ID1E.,E.341,ID.,0,0,<ID4.,ID5.>		;IDENT: ?NOT AT A-MARG
$ ID2.,IA0E1.,0,0,0,ID7.			;NO ID..: FLAG & LOOK AT ITM AGAIN
$ ID4.,0,DIVIS.,0,0,<ID6.,ID6A.>		;DIVISION
$ ID5.,E.137,0,0,0,<ID6.,ID6A.>			;NO DIVISION: FLAG IT BUT GO ON
$ ID6.,0,PRIOD.,0,0,ID7.			;PERIOD AFTER ID-DIV
$ ID6A.,BE125.,0,0,0,ID7.			;NO "." AFTER DIV..: FLAG & GO ON

;OPTIONAL ITEMS IN IDENTIFICATION DIVISION.
;WHEN ENVIRONMENT SEEN, GO TO ED TREE (ED0.)
$68 ID7.,0,0,0,0,<<ID8.,ID9.,ID10.,ID11.,ID12.,ID13.,ED0.,ID15.,ID16.,ID17.,ID18.,ID19.>>
$74 ID7.,0,0,0,0,<<ID8.,ID9.,ID10.,ID11.,ID12.,ED0.,ID15.,ID16.,ID17.,ID18.,ID19.>>
$ ID8.,IA2.,PGMID.,0,1,ID7.			;PROGRAM-ID: GET THE NAME
$ ID9.,IA0A.,AUTHR.,0,1,ID7.			;AUTHOR: PASS COMMENTS TO LISTING
$ ID10.,IA0A.,INSTA.,0,1,ID7.			;INSTALLATION
$ ID11.,IA0A.,DATEW.,0,1,ID7.			;DATE-WRITTEN
$ ID12.,IA0A.,SECUR.,0,1,ID7.			;SECURITY
IFE FT68274,<
$68 ID13.,IA0A.,REMAR.,0,1,ID7.			;REMARKS
>
IFN FT68274,<
$68 ID13.,IA0B.,REMAR.,0,1,ID7.			;REMARKS, TURN INTO COMMENT
>
$ ID15.,IA63E.,DATA.,0,1,0			;DATA: NO ENVIRON & GOTO COBOLC
$ ID16.,IA63E.,PROC.,0,1,0			;PROCEDURE: DITTO
$ ID17.,IA63E.,ENDIT.,0,0,0			;END-OF-FILE: DITTO
$ ID18.,IA1.,DATEC.,0,1,<ID27.,ID28.>		;DATE-COMPILED: SUPPRESS LISTING
$ ID19.,IA0E7.,0,0,0,ID7.			;ILL. PAR. NAME: FLAG & SKIP PARA.

;DATE-COMPILED PARAGRAPH
$ ID27.,IA4.,PRIOD.,0,0,ID7.			;".": CLR D-C PARA. & PUT IN TODAY
$ ID28.,BE125.,0,0,0,ID27.			;NO "." AFTER DATE-C..
SUBTTL	ENVIRONMENT DIVISION SYNTAX TREE

;ENVIRONMENT DIVISION.
$ ED0.,IA67.,ENVIR.,0,1,<ED1.,ED2.>		;ENVIRONMENT: SET UP ED
$ ED1.,0,DIVIS.,0,0,<ED3.,ED4.>			;DIVISION
$ ED2.,E.137,0,0,0,<ED3.,ED4.>			;NO DIV..: FLAG & GO ON
$ ED3.,0,PRIOD.,0,0,ED5.			;"." AFTER ED-DIV
$ ED4.,BE125.,0,0,0,ED5.			;NO "." AFTER DIV: FLAG & GO ON

;SECTION NAMES
$ ED5.,0,0,0,0,<ED256.,ED261.,ED16.,ED19.,ED20.,ED18.>
$ ED16.,IA63.,DATA.,0,1,0			;DATA: CLEAN UP B & GOTO C
$ ED19.,IA63F.,PROC.,0,0,0			;PROCEDURE: FLAG MISSING DATA DIV.
$ ED20.,IA63F.,ENDIT.,0,0,0			;END-OF-FILE: WORSE
$ ED18.,IA0E43,0,0,0,ED5.			;ILL. SECT. NAME: FLAG & SKIP PARA.

;CONFIGURATION SECTION.
$ ED256.,0,CONFG.,0,1,<ED257.,ED258.>		;CONFIGURATION
$ ED257.,0,SECT.,0,0,<ED259.,ED260.>		;SECTION
$ ED258.,E.140,0,0,0,<ED259.,ED260.>		;NO SECTION: FLAG & GO ON
$ ED259.,0,PRIOD.,0,0,ED269.			;"."
$ ED260.,BE125.,0,0,0,ED269.			;NO ".": FLAG & GO ON

;OPTIONS IN CONFIGURATION SECTION
$ ED269.,0,0,0,0,<ED6.,ED10.,ED15.,ED256.,ED261.,ED16.,ED19.,ED20.,ED269A>
$ ED269A,IA0E7.,0,0,0,ED269.			;ILL PAR NAME: FLAG & SKIP PARA

;INPUT-OUTPUT SECTION.
$ ED261.,0,IO.,0,1,<ED262.,ED263.>		;INPUT-OUTPUT
$ ED262.,0,SECT.,0,0,<ED264.,ED265.>		;SECTION
$ ED263.,E.140,0,0,0,<ED264.,ED265.>		;NO SECTION: FLAG & GO ON
$ ED264.,0,PRIOD.,0,0,ED270.			;"."
$ ED265.,BE125.,0,0,0,ED270.			;NO ".": FLAG & GO ON

;OPTIONS IN INPUT-OUTPUT SECTION
$ ED270.,0,0,0,0,<ED11.,ED14.,ED256.,ED261.,ED16.,ED19.,ED20.,ED270A>
$ ED270A,IA0E7.,0,0,0,ED270.			;ILL PAR NAME: FLAG & SKIP PARA
;SOURCE-COMPUTER.
$ ED6.,0,SOURC.,0,1,<ED8.,ED7.>			;SRC-COMP:
$ ED7.,BE125.,0,0,0,ED8.			;NO ".": FLAG & GO ON
$ ED8.,0,PRIOD.,0,0,<ED8A.,ED8B.,ED8C.>		;"."

;SOURCE-COMPUTER NAME
$ ED8A.,0,PDP10.,0,0,ED9.			;DECSYSTEM-10
$ ED8B.,0,DEC20.,0,0,ED9.			;DECSYSTEM-20
$ ED8C.,IA0E5.,USERN.,0,0,ED9.			;NO, WARN & GO ON
IFE CSTATS,<
$68 ED9.,0,0,0,0,<<ED9D.,ED9E.>>
$74 ED9.,0,0,0,0,<<ED9A.,ED9B.,ED9D.,ED9E.>>
$74 ED9A.,0,WITH.,0,0,<<ED9B.,ED9D.>>
$74 ED9B.,IA7.,DEBUG.,0,0,<<ED9C.,ED9D.>>
$74 ED9C.,0,MODE.,0,0,<<ED9D.,ED9E.>>
>;END IFE CSTATS
IFN CSTATS,<
$68 ED9.,0,0,0,0,<<ED9A.,ED9F.,ED9D.,ED9E.>>
$74 ED9.,0,0,0,0,<<ED9A.,ED9B.,ED9F.,ED9D.,ED9E.>>
$68 ED9A.,0,WITH.,0,0,<<ED9F.,ED9D.>>
$74 ED9A.,0,WITH.,0,0,<<ED9B.,ED9F.,ED9D.>>
$74 ED9B.,IA7.,DEBUG.,0,0,<<ED9C.,ED9D.>>
$74 ED9C.,0,MODE.,0,0,<<ED9D.,ED9E.>>
$ ED9F.,IA6.,METNG.,0,0,ED9D.
>;END IFN CSTATS
$ ED9D.,0,PRIOD.,0,0,ED269.
$ ED9E.,BE125.,0,0,0,ED269.

;OBJECT-COMPUTER.
$ ED10.,0,OBJEC.,0,1,<ED23.,ED22.>		;OBJECT-COMPUTER
$ ED23.,0,PRIOD.,0,0,ED24.			;"."
$ ED22.,BE125.,0,0,0,ED24.			;NO ".": FLAG & GO ON

;OBJECT COMPUTER NAME
$ ED24.,0,0,0,0,<ED25.,ED25A.,ED28.>
$ ED25.,0,PDP10.,0,0,<ED29.,ED31A.>		;PDP-10, DECSYSTEM-10
$ ED25A.,0,DEC20.,0,0,<ED29.,ED31A.>		;DECSYSTEM-20
$ ED28.,IA0E5.,0,0,0,<ED29.,ED31A.>		;NO, WARN & GO ON
$ ED29.,0,PRIOD.,0,0,ED31.			;"."

;OPTIONS IN OBJECT-COMPUTER PARAGRAPH
$68 ED31.,0,0,0,0,<<ED32.,ED127.,ED420.,ED269.>>
$74 ED31.,0,0,0,0,<<ED32.,ED127.,ED420.,ED400.,ED401.,ED402.,ED269.>>
$68 ED31A.,0,0,0,0,<<ED32.,ED127.,ED420.,ED31B.>>
$74 ED31A.,0,0,0,0,<<ED32.,ED127.,ED420.,ED400.,ED401.,ED402.,ED31B.>>
$ ED31B.,BE125.,0,0,0,ED269.

;MEMORY SIZE IS N <ITEM-TYPE>
$ ED32.,IA62.,MEMOR.,0,0,<ED33.,ED34.,ED35.,ED36.>  ;MEMORY: RESET SAVE LIST
$ ED33.,0,SIZE.,0,0,<ED34.,ED35.,ED36.>		;SIZE
$ ED34.,0,IS.,0,0,<ED35.,ED36.>			;IS
$ ED35.,IA16.,INTGR.,0,0,ED38.			;INTEGER: SAVE VALUE
$ ED36.,IA54E.,0,0,0,ED38.			;NO INTEGER: ASSUME 0

;CHARACTERS, WORDS, OR MODULES
$ ED38.,0,0,0,0,<ED39.,ED40.,ED41.,ED42.>
$ ED39.,IA8.,WORDS.,0,0,<ED29.,ED31.>		;WORDS: OBJSIZ=INTEGER OFF SAVLST
$ ED40.,IA9.,MODUL.,0,0,<ED29.,ED31.>		;MODULES: OBJSIZ=N*1K
$ ED41.,IA10.,CHARA.,0,0,<ED29.,ED31.>		;CHARACTERS: OBJSIZ=N/6
$ ED42.,IA10.,0,0,0,<ED29.,ED31.>		;ASSUME CHARACTERS

;SEGMENT-LIMIT IS N
$ ED127.,TST.H,SEGME.,0,0,<ED145.,ED146.,ED147.>  	;SEG-LIM
$ ED145.,0,IS.,0,0,<ED146.,ED147.>		;IS
$ ED146.,IA35.,INTGR.,0,0,<ED29.,ED31.>		;INTEGER: VALUE TO SEGLIM
$ ED147.,E.25,0,0,0,<ED29.,ED31.>		;POSITIVE INTEGER REQUIRED

;[74] PROGRAM COLLATING SEQUENCE IS ALPHABET-NAME
$74 ED400.,0,PGM.,0,0,<<ED401.,ED402.,ED410.>>	;PROGRAM
$74 ED401.,0,COLLA.,0,0,<<ED402.,ED410.>>		;COLLATING
$74 ED402.,0,SEQCE.,0,0,<<ED403.,ED404.,ED405.,ED406.,ED407.,ED408.,ED411.>>	;SEQUENCE
$74 ED403.,0,IS.,0,0,<<ED404.,ED405.,ED406.,ED407.,ED408.,ED411.>>	;IS
$74 ED404.,IA201S,STND1.,0,0,<<ED29.,ED31.>>		;STANDARD-1
$74 ED405.,IA201N,NATIV.,0,0,<<ED29.,ED31.>>		;NATIVE
$74 ED406.,IA201S,ASCII.,0,0,<<ED29.,ED31.>>		;ASCII
$74 ED407.,IA201E,EBCDC..,0,0,<<ED29.,ED31.>>		;EBCDIC
$74 ED408.,IA200.,USERN.,0,0,<<ED29.,ED31.>>		;ALPHABET-NAME

$74 ED410.,E.711,0,0,0,<<ED29.,ED31.>>		;SEQUENCE REQUIRED
$74 ED411.,E.709,0,0,0,<<ED29.,ED31.>>		;ILLEGAL ALPHABET-NAME

;DISPLAY IS DISPLAY-6/7/9
$ ED420.,TST.NS,DISPL.,0,0,<ED421.,ED422.,ED423.,ED424.,ED425.>	;DISPLAY
$ ED421.,0,IS.,0,0,<ED422.,ED423.,ED424.,ED425.>	;IS
$ ED422.,IA106.,DSPL6.,0,0,<ED29.,ED31.>		;DISPLAY-6
$ ED423.,IA107.,DSPL7.,0,0,<ED29.,ED31.>		;DISPLAY-7
$ ED424.,IA109.,DSPL9.,0,0,<ED29.,ED31.>		;DISPLAY-9
$ ED425.,E.611,0,0,0,<ED29.,ED31.>
;SPECIAL-NAMES.
$ ED15.,IA56.,SPECI.,0,1,<ED182.,ED183.>	;SPCL-NAMS: SET PARA SEEN FLAG
$ ED182.,0,PRIOD.,0,0,<ED183A,ED184.>		;"."
$ ED183.,BE125.,0,0,0,<ED183A,ED184.>		;NO "."
$ ED183A,0,0,0,0,ED184.				;

;OPTIONS IN SPECIAL NAMES PARAGRAPH
$68 ED184.,0,0,0,0,<<ED304.,ED185.,ED186.,ED187.,ED188.,ED189.,ED183A,ED191.>>
$74 ED184.,0,0,0,0,<<ED304.,ED185.,ED186.,ED187.,ED188.,ED189.,ED307.,ED191.>>

;CONSOLE IS <MNEMONIC-NAME>
$ ED185.,0,CONSL.,0,0,<ED193.,ED196.,ED194.,ED195.>  ;CONSOLE
$ ED193.,0,IS.,0,0,<ED196.,ED194.,ED195.>	;IS
$ ED196.,IA44.,USERN.,0,0,<ED182.,ED184.>	;ACCEPTABLE MNEMONIC: GET IT
$ ED194.,E.28,MNEMO.,0,0,ED197.			;MNEMONIC-NAME ALREADY IN USE
$ ED195.,E.24,0,0,0,ED197.			;ILLEGAL MNEMONIC-NAME

;CHANNEL (N) IS <MNEMONIC-NAME>
$ ED186.,IA62.,CHANN.,0,0,<ED199.,ED186A>	;CHANNEL: CLR SAVLST
$ ED199.,0,LPREN.,0,0,<ED201.,ED200.>		;"("
$ ED186A,E.287,0,0,0,<ED201.,ED200.>		;LEFT PARENTHESIS EXPECTED
$ ED201.,IA16C.,INTGR.,0,0,<ED202.,ED203.>	;[501] INTEGER: SAVE VALUE
$ ED200.,E.25,0,0,0,ED197.			;POSITIVE INTEGER REQUIRED
$ ED202.,0,RPREN.,0,0,<ED204.,ED205.,ED208.,ED206.>  ;")"
$ ED203.,E.84,0,0,0,<ED204.,ED205.,ED208.,ED206.>  ;RIGHT PARIN EXPECTED
$ ED204.,0,IS.,0,0,<ED205.,ED208.,ED206.>	;IS
$ ED208.,IA46.,USERN.,0,0,<ED182.,ED184.>	;ACCEPTABLE MNEMONIC: GET IT
$ ED205.,E.28,MNEMO.,0,0,ED207.			;MNEMONIC-NAME ALREADY IN USE
$ ED206.,E.24,0,0,0,ED207.			;ILLEGAL MNEMONIC-NAME
$ ED207.,IA57.,0,0,0,ED197.			;CLEAN UP SAVLST

;CURRENCY SIGN IS <LITERAL>
$ ED188.,0,CURR.,0,0,<ED212.,ED213.,ED214.,ED215.>  ;CURRENCY
$ ED212.,0,SIGN.,0,0,<ED213.,ED214.,ED215.>  	;SIGN
$ ED213.,0,IS.,0,0,<ED214.,ED215.>		;IS
$ ED214.,IA51.,LITER.,0,0,<ED182.,ED184.>	;LITERAL: GET THE CHARACTER
$ ED215.,E.27,0,0,0,ED197.			;MUST BE A 1 CHAR LITERAL

;DECIMAL-POINT IS COMMA
$ ED189.,0,DECPN.,0,0,<ED209.,ED210.,ED211.>  	;DECIMAL-POINT
$ ED209.,0,IS.,0,0,<ED210.,ED211.>		;IS
$ ED210.,IA52.,COMMA,0,0,<ED182.,ED184.>	;COMMA: SWITCH "," & "."
$ ED211.,E.18,0,0,0,ED197.			;IMPROPER CLAUSE
;REPORT CODES: "<LITERAL> IS <MNEMONIC-NAME>"
IFN RPW,<
$ ED304.,IA78.,LITER.,0,0,<ED305.,ED305.>	;LITERAL
$ ED305.,0,IS.,0,0,<ED306.,ED194.,ED195.>	;IS
$ ED306.,IA79.,USERN.,0,0,<ED182.,ED184.>	;MNEMONIC-NAME
>
IFE RPW,<
$ ED304.,E.18,LITER.,0,0,ED191.
>

;[74] <ALPHABET-NAME> IS STANDARD-1, NATIVE, ASCII, EBCDIC, LITERAL
$74 ED307.,IA202.,USERN.,0,0,<<ED307A,ED307B,ED307C,ED307D,ED307E,ED307F,ED307I,ED307L,ED307Z>>
$74 ED307A,0,IS.,0,0,<<ED307B,ED307C,ED307D,ED307E,ED307F,ED307I,ED307L,ED307Z>>	;IS
$74 ED307B,IA203S,STND1.,0,0,<<ED182.,ED184.>>		;STANDARD-1
$74 ED307C,IA203N,NATIV.,0,0,<<ED182.,ED184.>>		;NATIVE
$74 ED307D,IA203S,ASCII.,0,0,<<ED182.,ED184.>>		;ASCII
$74 ED307E,IA203E,EBCDC.,0,0,<<ED182.,ED184.>>		;EBCDIC
$74 ED307F,IA203F,FIGCN.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307I,IA203I,INTGR.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307L,IA203L,LITER.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307K,IA204I,INTGR.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307M,IA204.,LITER.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307S,IA204F,FIGCN.,0,0,<<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182.,ED184.>>
$74 ED307N,0,THRU.,0,0,<<ED307P,ED307O,ED307Z>>
$74 ED307O,IA205I,INTGR.,0,0,<<ED307M,ED307K,ED307S,ED182.,ED184.>>
$74 ED307P,IA205.,LITER.,0,0,<<ED307M,ED307K,ED307S,ED182.,ED184.>>
$74 ED307Q,0,ALSO.,0,0,<<ED307R,ED307T,ED307U,ED307Z>>
$74 ED307R,IA206.,LITER.,0,0,<<ED307M,ED307K,ED307S,ED307Q,ED182.,ED184.>>
$74 ED307U,IA206I,INTGR.,0,0,<<ED307M,ED307K,ED307S,ED307Q,ED182.,ED184.>>
$74 ED307T,IA206F,FIGCN.,0,0,<<ED307M,ED307K,ED307S,ED307Q,ED182.,ED184.>>
$74 ED307Z,E.709,0,0,0,ED197.				;ILLEGAL

;SWITCH (N)
IFE FT68274,<
$ ED187.,IA62.,SWTCH.,0,0,<ED216.,ED187A>	;SWITCH
>
IFN FT68274,<
$ ED187.,IA62A.,SWTCH.,0,0,<ED216.,ED187A>	;SWITCH
>
$ ED216.,0,LPREN.,0,0,<ED218.,ED217.>		;"("
$ ED187A,E.287,0,0,0,<ED218.,ED217.>		;LEFT PARENTHESIS REQUIRED
$ ED218.,IA16.,INTGR.,0,0,<ED219.,ED220.>	;INTEGER: SAVE VALUE
$ ED217.,E.25,0,0,0,ED197.			;POSITIVE INTEGER REQUIRED
$ ED219.,0,RPREN.,0,0,ED221.			;")"
$ ED220.,E.84,0,0,0,ED221.			;RIGHT PARIN. REQUIRED

;OPTIONS AFTER SWITCH (N)
$ ED221.,0,0,0,0,<ED222.,ED223.,ED224.,ED232.,ED233.,ED234.>

;SWITCH (N) IS <MNEMONIC-NAME>
$ ED224.,0,IS.,0,0,<ED232.,ED233.,ED234.>		;IS
$ ED232.,IA47.,USERN.,0,0,<ED222.,ED223.,ED182.,ED184.>	;OK MNEMONIC: GET IT
$ ED233.,E.28,MNEMO.,0,0,<ED222.,ED223.,ED182.,ED184.>	;MNEMONC ALREADY USED
$ ED234.,E.24,0,0,0,<ED222.,ED223.,ED182.,ED184.>	;ILLEGAL MNEMONIC

;ON/OFF STATUS IS <MNEMONIC-NAME>
$ ED222.,IA48.,ON.,0,0,<ED225.,ED226.,ED227.,ED229.,ED228.>	;ON: SET FLAG
$ ED223.,IA49.,OFF.,0,0,<ED225.,ED226.,ED227.,ED229.,ED228.>	;OFF: SET FLAG
$ ED225.,0,STATU.,0,0,<ED226.,ED227.,ED229.,ED228.>		;STATUS
$ ED226.,0,IS.,0,0,<ED227.,ED229.,ED228.>			;IS
$ ED227.,IA50.,USERN.,0,0,<ED222.,ED223.,ED182.,ED184.>		;OK MNEMONIC: GET IT
$ ED229.,E.85,CONDI.,0,0,ED197.			;CONDITION-NAME ALREADY IN USE
$ ED228.,E.26,0,0,0,ED197.			;ILLEGAL CONDITION-NAME

;SPECIAL-NAMES PARAGRAPH ERROR RECOVERY
$ ED191.,0,0,0,0,<ED6.,ED10.,ED15.,ED256.,ED16.,ED19.,ED20.,ED261.,ED192.>
$ ED192.,E.18,0,0,0,ED197.			;IMPROPER CLAUSE
$68 ED197.,0,0,0,0,<<ED185.,ED186.,ED187.,ED188.,ED189.,ED183A,ED198.>>
$74 ED197.,0,0,0,0,<<ED185.,ED186.,ED187.,ED188.,ED189.,ED307.,ED198.>>
$ ED198.,0,0,0,0,<ED6.,ED10.,ED15.,ED256.,ED16.,ED19.,ED20.,ED261.,ED272.>
$ ED272.,IA0.G,0,0,0,ED197.			;ADVANCE TO NEXT WORD
;FILE-CONTROL.
$ ED11.,0,FILEC.,0,1,<ED12.,ED13.>		;FILE-CONTROL
$ ED12.,0,PRIOD.,0,0,<ED45.,ED47.>		;"."
$ ED12A.,0,PRIOD.,0,0,<ED45.,ED47A.>		;[175] "."
$ ED13.,BE125.,0,0,0,ED12.			;NO "."
$ ED47.,0,0,0,0,<ED11.,ED14.,ED256.,ED16.,ED19.,ED20.,ED261.,ED48.>
$ ED47A.,0,0,0,0,<ED11.,ED14.,ED256.,ED16.,ED19.,ED20.,ED261.,ED49.> ; [175]
$ ED48.,E.18,0,0,0,ED49.			;IMPROPER CLAUSE
$ ED49.,IA0.A,0,0,0,ED12A.			;[175] ADVANCE TO NEXT WORD AT ED12

;SELECT [OPTIONAL] <FILE-NAME> ASSIGN TO <DEVICE-NAME>
$ ED45.,IA12.,SELEC.,0,0,<ED51.,ED53.,ED54.,ED52.>  ;SELECT: CLR OPTNL FLG
$ ED51.,IA13.,OPTIO.,0,0,<ED53.,ED54.,ED52.>	;OPTIONAL: SET FLAG
$68 ED54.,IA14.,USERN.,0,0,<<ED55.,ED56.>>	;OK FILE-NAME: GET IT
$74 ED54.,IA14.,USERN.,0,0,<<ED55.,ED271.>>	;OK FILE-NAME: GET IT
$ ED53.,E.9,FILEN.,0,0,ED47A.			;[175] FILE-NAME ALREADY IN USE
$ ED52.,E.21,0,0,0,ED47A.			;[175] ILLEGAL FILE-NAME

$68 ED55.,0,ASSGN.,0,0,<<ED57.,ED58.,ED58A.,ED58B.,ED60.>>	; [323] ASSIGN
$74 ED55.,IA17A.,ASSGN.,0,0,<<ED57.,ED58.,ED58A.,ED58B.,ED60.>>	;ASSIGN
$68 ED56.,E.10,0,0,0,ED47A.			;[175] ASSIGN CLAUSE REQUIRED
$ ED57.,0,TO.,0,0,<ED58.,ED58A.,ED58B.,ED60.>		; [323] TO
$ ED58.,IA18.,USERN.,0,0,<ED58.,ED58A.,ED12.,ED271.>	; [323] DEVICE-NAME: GET IT
$ ED58A.,IA18.,ALL.,0,0,<ED58.,ED58A.,ED12.,ED271.>	; [323] "ALL" IS A LEGAL DEVICE
$ ED58B.,IA18.,LITER.,0,0,<ED58.,ED58A.,ED12.,ED271.>	;MAKE LITERAL LEGAL
$ ED60.,E.83,0,0,0,<ED58.,ED58A.,ED12.,ED271.>	; [323] IMPROPER DEVICE-NAME

;OPTIONS AFTER SELECT-ASSIGN CLAUSE
IFE FT68274,<
$68 ED271.,0,0,0,0,<<ED12.,ED61.,ED62.,ED66.,ED67.,ED68.,ED68A.,ED70.,ED71.,ED72.,ED73.,ED289.,ED310.,ED311.,ED311A,ED271E>>
SYN ED271.,ED271A				;SIMPLIFY THE CODE
>
IFN FT68274,<
$68 ED271.,CV1.,0,0,0,<<ED12.,ED61.,ED62.,ED66.,ED67.,ED68.,ED68A.,ED70.,ED71.,ED72.,ED73.,ED289.,ED310.,ED311.,ED311A,ED271E>>
$68 ED271A,CV2.,0,0,0,ED271.		;BACKUP TO PREVIOUS WORD
$68 ED271C,CVTCFP,0,0,0,ED271A		;[1454]
>
$74 ED271.,0,0,0,0,<<ED12.,ED62.,ED66.,ED67.,ED70.,ED71.,ED289.,ED310.,ED311.,ED311A,ED500.,ED55.,ED271E>>
$ ED271E,E.18,0,0,0,ED271F
$ ED271F,0,0,0,0,<ED45.,ED11.,ED14.,ED256.,ED16.,ED19.,ED20.,ED261.,ED271G>
$ ED271G,IA0.G,0,0,0,ED271H			;ADVANCE TO NEXT WORD
$68 ED271H,0,0,0,0,<<ED12.,ED61.,ED62.,ED66.,ED67.,ED68.,ED68A.,ED70.,ED71.,ED72.,ED73.,ED289.,ED271F>>
$74 ED271H,0,0,0,0,<<ED12.,ED62.,ED66.,ED67.,ED70.,ED71.,ED289.,ED271F>>

;[68] ACCESS MODE IS <MODE>
$68 ED66.,IA21.,ACCES.,0,0,<<ED92.,ED93.,ED94.,ED96.,ED96X.,ED97.>>  ;ACCESS: SEEN BEF?
IFE FT68274,<
$68 ED92.,0,MODE.,0,0,<<ED93.,ED94.,ED96.,ED96X.,ED97.>>  ;MODE
>
IFN FT68274,<
$68 ED92.,CV3.,MODE.,0,0,<<ED93.,ED94.,ED96.,ED96X.,ED97.>>  ;MODE, delete from cvt file
>
$68 ED93.,0,IS.,0,0,<<ED94.,ED96.,ED96X.,ED97.>>	;IS
$68 ED94.,IA25.,SEQU.,0,0,<<ED95W.,ED95C.,ED271.>>	;SEQUENTIAL: SET FLAG
$68 ED96.,IA27.,RAND.,0,0,<<ED95W.,ED95C.,ED271.>>	;RANDOM: SET FLAG
$68 ED96X.,IA26.,INDXD.,0,0,<<ED95X.,ED95.,ED95C.,ED271.>>	;INDEXED: SET FLAG

;[74] ORGANIZATION IS [RMS] <FILE ORGANIZATION>
$74 ED66.,IA21.,ORGAN.,0,0,<<ED93.,ED93R.,ED94.,ED96.,ED96X.,ED97.>>  ;ORGANIZATION: SEEN BEF?
$74 ED93.,0,IS.,0,0,<<ED93R.,ED94.,ED96.,ED96X.,ED97.>>	;IS
$74 ED93R.,IA26R.,RMS.,0,0,<<ED96X.,ED97.>>		;RMS
$74 ED94.,IA25.,SEQU.,0,0,<<ED95W.,ED95C.,ED271.>>	;SEQUENTIAL: SET FLAG
$74 ED96.,IA27.,RELAT.,0,0,<<ED95W.,ED95C.,ED271.>>	;RELATIVE: SET FLAG
$74 ED96X.,IA26.,INDXD.,0,0,<<ED95X.,ED95.,ED95C.,ED95R.,ED271.>>	;INDEXED: SET FLAG

$ ED95W.,0,WITH.,0,0,<ED95C.,ED271.>			;WITH [1333] 
$ ED95X.,0,WITH.,0,0,<ED95.,ED95C.,ED271.>		;WITH

$ ED95.,IA80.,DEFER.,0,0,<ED95A.,ED271.>		;DEFERRED
$ ED95A.,0,OUTPU.,0,0,ED271.				;OUTPUT

$ ED95C.,IA82.,CHKPT.,0,0,<ED95D.,ED95E.,ED95F.,ED271.>	;CHECKPOINT
$ ED95D.,0,OUTPU.,0,0,<ED95E.,ED95F.,ED271.>		;OUTPUT
$ ED95E.,0,EVERY.,0,0,<ED95F.,ED271.>			;EVERY
$ ED95F.,IA83.,INTGR.,0,0,<ED95G.,ED271.>		;INTEGER
$ ED95G.,0,REC.,0,0,ED271.				;RECORDS

$74 ED95R.,IA26W.,RMS.,0,0,<<ED95.,ED95C.,ED271.>>	;RMS - WARN USER ABOUT CHANGE OF SYNTAX
$ ED97.,E.15,0,0,0,ED271.			;ILLEGAL ACCESS/ORGANIZATION MODE

;[68] PROCESSING MODE IS SEQUENTIAL
IFE FT68274,<
$68 ED70.,0,PRCSS.,0,0,<<ED88.,ED89.,ED90.,ED91.>>	;PROCESSING
>
IFN FT68274,<
$68 ED70.,CV0.,PRCSS.,0,0,<<ED88.,ED89.,ED90.,ED91.>>	;PROCESSING
>
$68 ED88.,0,MODE.,0,0,<<ED89.,ED90.,ED91.>>		;MODE
$68 ED89.,0,IS.,0,0,<<ED90.,ED91.>>			;IS
$68 ED90.,0,SEQU.,0,0,ED271.				;SEQUENTIAL
$68 ED91.,E.14,0,0,0,ED271.				;PROCESSING MODE MUST BE SEQUENTIAL

;[68] FOR MULTIPLE REEL/UNIT
IFE FT68274,<
$68 ED72.,0,FOR.,0,0,<<ED73.,ED76.>>			;FOR
>
IFN FT68274,<
$68 ED72.,CV0.,FOR.,0,0,<<ED73.,ED76.>>			;FOR
>
$68 ED73.,0,MULTP.,0,0,<<ED79.,ED76.>>			;MULTIPLE
$68 ED79.,IA68.,REEL.,0,0,ED271.			;REEL: SET MULTIREEL FLAG
$68 ED76.,E.18,0,0,0,ED271.				;IMPROPER CLAUSE

;[74] ACCESS MODE IS <MODE>
$74 ED70.,IA25X.,ACCES.,0,0,<<ED88.,ED89.,ED90.,ED90R.,ED90D.,ED91.>>  ;ACCESS
$74 ED88.,0,MODE.,0,0,<<ED89.,ED90.,ED90R.,ED90D.,ED91.>>	;MODE
$74 ED89.,0,IS.,0,0,<<ED90.,ED90R.,ED90D.,ED91.>>		;IS
$74 ED90.,IA25S.,SEQU.,0,0,ED271.				;SEQUENTIAL
$74 ED90R.,IA25R.,RAND.,0,0,ED271.			;RANDOM
$74 ED90D.,IA25D.,DYNAM.,0,0,ED271.		;DYNAMIC
$74 ED91.,E.704,0,0,0,ED271.				;ILLEGAL ACCESS MODE

;SYMBOLIC KEY IS <DATA-NAME>
$68 ED61.,IA22.,SYMBL.,0,0,<<ED98.,ED99.,ED101.,ED102.>>  ;SYMBOLIC: STORE HLDTAB CODE

;RECORD KEY IS <DATA-NAME>
$ ED62.,IA22R.,REC.,0,0,<ED98.,ED99.,ED101.,ED102.>  ;RECORD: STORE REC KEY CODE

;[68] ACTUAL KEY IS <DATA-NAME>
;[74] RELATIVE KEY IS <DATA-NAME>
$68 ED67.,IA24.,ACTUA.,0,0,<<ED98.,ED99.,ED101.,ED102.>>  ;ACTUAL: STORE ACT KEY CODE
$74 ED67.,IA24.,RELAT.,0,0,<<ED98.,ED99.,ED101.,ED102.>>  ;RELATIVE: STORE ACT KEY CODE
$ ED98.,0,KEY,0,0,<ED99.,ED101.,ED102.>  	;KEY
$ ED99.,0,IS.,0,0,<ED101.,ED102.>		;IS
IFN FT68274,<					;[1454]
$ ED101.,IA28.,USERN.,0,0,<ED100.,ED271C>	;[1454]DATA-NAME: SAVE ACT. KEY
>						;[1454]
IFE FT68274,<					;[1454]
$ ED101.,IA28.,USERN.,0,0,<ED100.,ED271A>
>						;[1454]
$ ED100.,0,OF.,0,0,<ED100A,ED100B,ED102.>	;OF
IFN FT68274,<					;[1454]
$ ED100A,IA59.,USERN.,0,0,<ED100.,ED271C>	;[1454]DATA-NAME: SAVE QUALIFIER
>						;[1454]
IFE FT68274,<					;[1454]
$ ED100A,IA59.,USERN.,0,0,<ED100.,ED271A>
>						;[1454]
$ ED100B,IA59.,FILEN.,0,0,ED271.		;FILE-NAME: SAVE QUALIFIER
$ ED102.,E.17,0,0,0,ED271.			;ILLEGAL DATA NAME

;[68] RESERVE NO/<INTEGER> ALTERNATE AREAS
$68 ED71.,0,RESER.,0,0,<<ED82.,ED83.,ED85.>>	;RESERVE
$68 ED82.,IA19.,INTGR.,0,0,<<ED86.,ED87.,ED271.>>   ;INTEGER: GET # ALT. BUFRS
$68 ED83.,IA20.,NO.,0,0,<<ED86.,ED87.,ED271.>>	;NO: ZERO ALT BUFRS
$68 ED85.,E.643,0,0,0,<<ED86.,ED87.,ED271.>>	;IMPROPER CLAUSE: 0 ALT. BUFRS
IFE FT68274,<
$68 ED86.,0,ALTRN.,0,0,<<ED87.,ED271.>>		;ALTERNATE
>
IFN FT68274,<
$68 ED86.,CV3.,ALTRN.,0,0,<<ED87.,ED271.>>	;ALTERNATE, DELETE IT FROM CVT FILE
>
$68 ED87.,0,AREA.,0,0,ED271.			;AREAS

;[74] RESERVE <INTEGER> AREAS
$74 ED71.,IA17.,RESER.,0,0,<<ED82.,ED85.>>	;RESERVE
$74 ED82.,IA19.,INTGR.,0,0,<<ED87.,ED271.>>	;INTEGER: GET # BUFRS
$74 ED85.,E.643,0,0,0,<<ED87.,ED271.>>		;IMPROPER CLAUSE: DEFAULT BUFRS
$74 ED87.,0,AREA.,0,0,ED271.			;AREAS

;RECORDING <MODE, DENSITY, PARITY>
$ ED289.,0,RECRDG,0,0,<ED290.,ED291.,ED292.,ED293.,ED294.,ED295.,ED296.,ED297.,ED298.,ED299.,ED300.,ED301.,ED293A,ED293B,ED296A>

$ ED290.,TST.NS,MODE.,0,0,<ED291.,ED289.>	;MODE
$ ED291.,0,IS.,0,0,ED289.			;IS
$ ED292.,IA69B.,BYTE.,0,0,ED289.		;BYTE
$ ED293.,IA69.,ASCII.,0,0,ED289.		;ASCII: SET MODE
$ ED293A,IA69A.,STDAS.,0,0,ED289.		;STANDARD-ASCII: SET MODE.
$ ED293B,0,STAND.,0,0,<ED293C,ED293D>
$ ED293C,IA69A.,ASCII.,0,0,ED289.
$ ED293D,E.18,0,0,0,ED289.
$ ED294.,IA70.,SIXBT.,0,0,ED289.		;SIXBIT: SET MODE
$ ED295.,IA71.,BINRY.,0,0,ED289.		;BINARY: SET MODE
$ ED296.,IA0.R,PRIOD.,0,0,ED271.		;PERIOD:  WE'RE THROUGH.
$ ED296A,IA72.,0,0,0,ED289.			;F OR V: SET MODE OR IF NEITHER GO TO ED271.

;DENSITY IS <INTEGER>
$ ED297.,TST.NS,DENSIT,0,0,<ED297A,ED298.,ED303.>	;DENSITY
$ ED297A,0,IS.,0,0,<ED298.,ED303.>		;IS
$ ED298.,IA73.,INTGR.,0,0,ED289.		;INTEGER: GET DENSITY
$ ED303.,E.25,0,0,0,ED289.			;POSITIVE INTEGER REQUIRED

;PARITY IS ODD/EVEN
$ ED299.,TST.NS,PARIT.,0,0,<ED299A,ED300.,ED301.,ED302.>	;PARITY
$ ED299A,0,IS.,0,0,<ED300.,ED301.,ED302.>	;IS
$ ED300.,IA74.,ODD.,0,0,ED289.			;ODD: SET PARITY FLAG
$ ED301.,IA75.,EVEN.,0,0,ED289.			;EVEN: SET PARITY FLAG
$ ED302.,E.328,0,0,0,ED289.			;ODD OR EVEN REQUIRED
;[68] FILE-LIMIT IS <ITEM>
IFN FT68274,<					;[1423]
$68 ED68.,IA23B.,FILEL.,0,0,<<ED103.,ED104.,ED105.,ED106.,ED102.>>	;[1423]
>						;[1423]
IFE FT68274,<					;[1423]
$68 ED68.,IA23.,FILEL.,0,0,<<ED103.,ED104.,ED105.,ED106.,ED102.>>  ;INIT F-L CLAUSE
>						;[1423]
IFN FT68274,<					;[1423]
$68 ED68A.,IA23A.,FILE.,0,0,<<ED68B.,ED311.,ED311A,ED271E>>	;[1423]
>						;[1423]
IFE FT68274,<					;[1423]
$68 ED68A.,0,FILE.,0,0,<<ED68B.,ED311.,ED311A,ED271E>>		;FILE<SPACE>LIMIT OK TOO
>						;[1423]
$68 ED68B.,0,LIM.,0,0,ED68C.			;[1423]
$68 ED68C.,IA23.,FILEL.,0,0,<<ED103.,ED104.,ED105.,ED106.,ED102.>>	;[1423]
$68 ED103.,0,IS.,0,0,<<ED104.,ED105.,ED106.,ED102.>>;IS

;[68] FIRST LIMIT (COULD BE HIGH OR LOW)
$68 ED105.,IA30.,USERN.,0,0,<<ED109.,ED104.,ED110.>>;DATA-NAME: SAVE HLDTAB PTR
$68 ED104.,0,OF.,0,0,<<ED104A,ED102.>>		;OF
$68 ED104A,IA59.,USERN.,0,0,<<ED104.,ED109.,ED110.>>;DATA-NAME: QUAL TO HLDTAB
$68 ED106.,IA29.,INTGR.,0,0,<<ED109.,ED110.>>	;INTEGER: SAVE VALTAB PTR
$68 ED110.,IA32.,0,0,0,ED111.			;SINGLE-ITEM LIMIT: LO-LIM=1

;[68] ... THRU <ITEM>
$68 ED109.,IA31.,THRU.,0,0,<<ED116.,ED117.,ED118.,ED120.>>  ;THRU: SAVE LO-LIM

;[68] HIGH LIMIT
$68 ED117.,IA30.,USERN.,0,0,<<ED116.,ED111.>>;DATA-NAME: SAVE HLDTAB PTR
$68 ED116.,0,OF.,0,0,<<ED116A,ED120.>>		;OF
$68 ED116A,IA59.,USERN.,0,0,<<ED116.,ED111.>>;DATA-NAME: QUALIFYR TO HLDTAB
$68 ED118.,IA29.,INTGR.,0,0,ED111.		;INTEGER: SAVE VALTAB PTR
$68 ED120.,IA61.,0,0,0,<<ED113.,ED114.,ED111.>>  	;ILL DAT-NAM: HI-LIM=LO
$68 ED111.,IA34.,0,0,0,<<ED113.,ED114.,ED271A>>  	;STORE HI-LIM

;[68] ADDITIONAL LOW LIMITS
$68 ED113.,IA30.,USERN.,0,0,<<ED112.,ED109.,ED115.>>;DATA-NAME: SAVE HLDTAB PTR
$68 ED112.,0,OF.,0,0,<<ED112A,ED102.>>		;OF
$68 ED112A,IA59.,USERN.,0,0,<<ED112.,ED109.,ED115.>>;DATA-NAME: QUAL TO HLDTAB
$68 ED114.,IA29.,INTGR.,0,0,<<ED109.,ED115.>>	;INTEGER: SAVE VALTAB PTR
$68 ED115.,IA30E,0,0,0,ED271A			;THRU EXPECTED


;FILE-STATUS IS DATA-NAME-1, DATA-NAME-2, ..., DATA-NAME-8
$ ED310.,IA100.,FILST.,0,0,<ED312.,ED313.,ED316.>
$ ED311.,0,FILE.,0,0,<ED311A,ED316.>		;FILE<SPACE>STATUS IS OK TOO.
$ ED311A,IA100.,STATU.,0,0,<ED312.,ED313.,ED316.>
$ ED312.,0,IS.,0,0,<ED313.,ED316.>
$ ED313.,IA101.,USERN.,0,0,<ED313.,ED314.,ED271.>
$ ED314.,0,OF.,0,0,<ED315.,ED102.>
$ ED315.,IA102.,USERN.,0,0,<ED314.,ED313.,ED271.>
$ ED316.,E.227,0,0,0,ED271.			;DIDN'T GIVE ANY NAMES!

;I-O-CONTROL.
$ ED14.,0,IOCON.,0,1,<ED122.,ED123.>		;I-O-CONTROL
$ ED122.,0,PRIOD.,0,0,ED124.			;"."
$ ED123.,BE125.,0,0,0,ED124.			;NO ".": PERIOD ASSUMED

;OPTIONS IN I-O-CONTROL PARAGRAPH
$ ED124.,0,0,0,0,<ED125.,ED126.,ED128.,ED122.,ED129.>

;I-O-CONTROL PARAGRAPH ERROR RECOVERY
$ ED129.,0,0,0,0,<ED11.,ED14.,ED256.,ED16.,ED19.,ED20.,ED261.,ED131.>
$ ED131.,E.18,0,0,0,ED139.
$ ED139.,0,0,0,0,<ED125.,ED126.,ED128.,ED140.>
$ ED140.,0,0,0,0,<ED11.,ED14.,ED256.,ED16.,ED19.,ED20.,ED261.,ED255.>
$ ED255.,IA0.A,0,0,0,ED139.
$ ED288.,0,0,0,0,<ED122.,ED124.>

;[68] SAME <RECORD/SORT> AREA FOR <FILE-NAME>
;[74] SAME <RECORD/SORT/SORT-MERGE> AREA FOR <FILE-NAME>
$68 ED125.,IA77.,SAME.,0,0,<<ED132.,ED132A,ED133.>>	;SAME: INIT SAVLST
$74 ED125.,IA77.,SAME.,0,0,<<ED132.,ED132A,ED132B,ED133.>>	;SAME: INIT SAVLST
$ ED132.,IA36.,REC.,0,0,<ED134.,ED135.,ED136.,ED137.,ED138.> ;REC: SET FLAG
$ ED132A,IA76.,SORT.,0,0,<ED134.,ED135.,ED136.,ED137.,ED138.> ;SORT: IGNORE CLAUSE
$74 ED132B,IA76.,SRTMG.,0,0,<<ED134.,ED135.,ED136.,ED137.,ED138.>> ;SORT-MERGE: IGNORE CLAUSE
$ ED133.,IA37.,0,0,0,<ED134.,ED135.,ED136.,ED137.,ED138.>  ;NO REC: CLR FLAG
$ ED134.,0,AREA.,0,0,<ED135.,ED136.,ED137.,ED138.>  ;AREA
$ ED135.,0,FOR.,0,0,<ED136.,ED137.,ED138.>	;FOR
$ ED136.,E.20,USERN.,0,0,<ED136.,ED137.,ED138.>;FILE NOT SELECTED
$ ED137.,IA38.,FILEN.,0,0,<ED141.,ED142.,ED138.>;FILE: SAVE FILTAB PTR
$ ED138.,E.21,0,0,0,ED139.			;ILLEGAL FILENAME
$ ED141.,E.20,USERN.,0,0,<ED141.,ED142.,ED144.>;FILE NOT SELECTED
$ ED142.,IA38A.,FILEN.,0,0,<ED141.,ED142.,ED144.>  ;FILE: LNK PREV FIL TO THIS
$ ED144.,IA39.,0,0,0,<ED122.,ED124.>		;LINK LAST FILE TO FIRST
;MULTIPLE FILE TAPE CONTAINS <FILENAME>
$68 ED126.,IA62.,MULTP.,0,0,<<ED148.,ED149.,ED150.,ED151.,ED152.,ED153.>>  ;INIT SVL
$74 ED126.,IA62M.,MULTP.,0,0,<<ED148.,ED149.,ED150.,ED151.,ED152.,ED153.>>  ;INIT SVL
$ ED148.,0,FILE.,0,0,<ED149.,ED150.,ED151.,ED152.,ED153.>  ;FILE
$ ED149.,0,TAPE.,0,0,<ED150.,ED151.,ED152.,ED153.>  ;TAPE
$ ED150.,0,CONTA.,0,0,<ED151.,ED152.,ED153.>  	;CONTAINS
$ ED151.,IA40.,FILEN.,0,0,<ED157.,ED158.>	;FILE: SAVE FILTAB PTR
$ ED152.,E.20,USERN.,0,0,<ED152.,ED154.,ED139.>;FILE NOT SELECTED
$ ED153.,E.21,0,0,0,<ED152.,ED154.,ED139.>	;ILLEGAL FILENAME
$ ED154.,0,PSTN.,0,0,<ED155.,ED156.>		;POSITION
$ ED155.,0,INTGR.,0,0,<ED151.,ED152.,ED288.>  	;INTEGER
$ ED156.,E.18,0,0,0,<ED151.,ED152.,ED288.>  	;IMPROPER CLAUSE

;... POSITION <INTEGER>
$ ED157.,0,PSTN.,0,0,<ED159.,ED160.>		;POSITION
$ ED159.,IA41.,INTGR.,0,0,<ED161.,ED163.,ED288.>  ;INTEGER: STORE POSITION
$ ED160.,E.18,0,0,0,<ED161.,ED163.,ED139.>  	;IMPROPER CLAUSE

;ADDITIONAL FILENAMES
$ ED158.,IA42.,0,0,0,<ED161.,ED163.,ED288.>  	;NO POS: STOW VALUE ON SAVLST
$ ED161.,IA43.,FILEN.,0,0,<ED157.,ED158.>	;FILE: LINK TO PREV. FILE
$ ED163.,E.20,USERN.,0,0,<ED163.,ED161.,ED164.,ED288.>  ;FILE NOT SELECTED
$ ED164.,0,PSTN.,0,0,<ED165.,ED166.>		;POSITION
$ ED165.,0,INTGR.,0,0,<ED161.,ED163.,ED288.>  	;INTEGER
$ ED166.,E.18,0,0,0,<ED161.,ED163.,ED288.>  	;IMPROPER CLAUSE

;RERUN
$68 ED128.,IA62.,RERUN.,0,0,<<ED167.,ED167B,ED168.,ED169.,ED173.,ED174.,ED131.>>	;INIT SVL
$74 ED128.,IA62F.,RERUN.,0,0,<<ED167.,ED167B,ED168.,ED169.,ED173.,ED174.,ED131.>>	;INIT SVL

;ON <FILENAME>
$ ED167.,0,ON.,0,0,<ED167A,ED169.> 		;ON
$ ED167A,0,FILEN.,0,0,<ED167B,ED168.,ED169.,ED173.,ED174.,ED131.>  ;FILENAME

;EVERY
$ ED167B.,0,EVERY.,0,0,<ED168.,ED169.,ED173.,ED174.,ED131.>  ;EVERY

;<INTEGER> RECORDS
$ ED168.,IA16.,INTGR.,0,0,<ED170.,ED171.>	;INTEGER: SAVE VALUE
$ ED170.,0,REC.,0,0,<ED176.,ED177.,ED178.,ED179.>  ;RECORDS
$ ED171.,E.18,0,0,0,ED172.			;IMPROPER CLAUSE
$ ED172.,IA57.,0,0,0,ED139.			;REMOVE LAST ITEM FROM SAVLST

;END OF REEL/UNIT
$ ED169.,0,END.,0,0,<ED173.,ED174.,ED131.>	;END
$ ED173.,0,OF.,0,0,<ED174.,ED131.>		;OF
$ ED174.,IA54.,REEL.,0,0,<ED176.,ED177.,ED178.,ED179.>  ;REEL: SAVE 0

;OF <FILENAME>
$ ED176.,0,OF.,0,0,<ED177.,ED178.,ED179.>	;OF
$ ED177.,IA57.,USERN.,0,0,ED288.		;FUNNY NAME: CLEAN OFF SAVLST
$ ED178.,IA55.,FILEN.,0,0,ED288.		;FILE: SET RERUN COUNT
$ ED179.,E.21,0,0,0,ED172.			;ILLEGAL FILENAME

;ALTERNATE RECORD KEY IS <DATA-NAME> WITH DUPLICATES

$74 ED500.,IA22K.,ALTRN.,0,0,<<ED501.,ED271E>>	;ALTERNATE
$74 ED501.,0,REC.,0,0,<<ED502.,ED503.,ED504.,ED271E>>	;RECORD
$74 ED502.,0,KEY,0,0,<<ED503.,ED504.,ED271E>>		;KEY
$74 ED503.,0,IS.,0,0,<<ED504.,ED271E>>			;IS
$74 ED504.,IA28A.,USERN.,0,0,<<ED505.,ED509.,ED510.,ED271.>>	;DATA-NAME
$74 ED505.,0,OF.,0,0,<<ED506.,ED507.,ED508.>>		;OF
$74 ED506.,IA59.,USERN.,0,0,<<ED505.,ED509.,ED510.,ED271.>>	;DATA-NAME
$74 ED507.,IA59.,FILEN.,0,0,<<ED509.,ED510.,ED271.>>		;FILE-NAME
$74 ED508.,E.17,0,0,0,ED271.				;ILLEGAL DATANAME
$74 ED509.,0,WITH.,0,0,<<ED510.,ED271E>>		;WITH
$74 ED510.,IA28D.,DUPL.,0,0,ED271.			;DUPLICATES

	END