Google
 

Trailing-Edge - PDP-10 Archives - CFS_TSU04_19910205_1of1 - update/cblsrc/btree.mac
There are 7 other files named btree.mac in the archive. Click here to see a list.
; UPD ID= 1416 on 11/11/83 at 3:17 PM by HOFFMAN                        
TITLE	BTREE	FOR COBOL V13
SUBTTL	IDENTIFICATION & ENVIRONMENT DIVISION SYNTAX TREES	W.NEELY/CAM

	SEARCH COPYRT
	SALL

;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

COPYRIGHT (C) 1974, 1983, 1984 BY DIGITAL EQUIPMENT CORPORATION

	SEARCH	P
	%%P==:%%P

;EDITS
;V12B****************
;NAME	DATE		COMMENTS
;LEM	26-Jan-82	[1333] Allow ORGANIZATION IS RELATIVE WITH CHECKPOINT OUTPUT.

;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
$ ID1.,IA0.ID,ID.,0,1,<ID4.,ID5.>		;IDENTIFICATION
$ ID1S.,IA0S1.,INTGR.,0,0,ID0.			;ASSUME SEQUENCED BUT NO /S
$ ID1E.,IA0.ER,ID.,0,0,<ID4.,ID5.>		;IDENT: ?NOT AT A-MARG
$ ID2.,IA0E1.,0,0,0,<ID4.,ID6B.>		;NO ID. - MISSPELLED OR MISSING
$ 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
$ ID6B.,IA0E2.,0,0,0,<ID4.,ID7.>		;IF MISSPELLED, DIV. FOLLOWS
;OPTIONAL ITEMS IN IDENTIFICATION DIVISION.
;WHEN ENVIRONMENT SEEN, GO TO ED TREE (ED0.)
$ ID7.,0,0,0,0,<ID8.,ID9.,ID10.,ID11.,ID12.,ED0.,ID15.,ID16.,ID17.,ID18.,ID19.>
$ ID8.,0,PGMID.,0,1,<ID20.,ID21.>		;PROGRAM-ID
$ 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
$ 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,<ID40.,ID41.>		;DATE-COMPILED: SUPPRESS LISTING
$ ID19.,IA0E7.,0,0,0,ID7.			;ILL. PAR. NAME: FLAG & SKIP PARA.

;PROGRAM-ID. program-name IS {COMMON|INITIAL} PROGRAM
$ ID20.,0,PRIOD.,0,0,<ID22.,ID23.,ID23A.,ID24.>	;".", GET NAME
$ ID21.,BE125.,0,0,0,ID20.			;No "." after PROGRAM-ID
$ ID22.,IA2.,USERN.,0,0,<ID29.,ID25.,ID26.,ID27.,ID6A.>	;program-name
$ ID23.,IA2.L,LITER.,0,0,<ID29.,ID25.,ID26.,ID27.,ID6A.>	;literal
$ ID23A.,IA2.L,INTGR.,0,0,<ID29.,ID25.,ID26.,ID27.,ID6A.>	;Integer
$ ID24.,IA2.M,0,0,0,ID7.			;No name use MAIN
$ ID25.,0,IS.,0,0,<ID26.,ID27.,ID30.>		;IS
$ ID26.,IA2.C,COMMN.,0,0,<ID28.,ID29.,ID7.>	;COMMON
$ ID27.,IA2.I,INITL.,0,0,<ID28.,ID29.,ID7.>	;INITIAL
$ ID28.,0,PGM.,0,0,<ID29.,ID7.>			;PROGRAM
$ ID29.,0,PRIOD.,0,0,ID7.
$ ID30.,E.835,0,0,0,<ID29.,ID7.>		;COMMON or INITIAL expected


;DATE-COMPILED PARAGRAPH
$ ID40.,IA4.,PRIOD.,0,0,ID7.			;".": CLR D-C PARA. & PUT IN TODAY
$ ID41.,BE125.,0,0,0,ID30.			;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.,IA63E.,PROC.,0,0,0			;PROCEDURE: NO DATA & GOTO COBOLC
$ ED20.,IA63E.,ENDIT.,0,0,0			;END-OF-FILE: DITTO
$ 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.,ED45A.,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,ED8A.			;NO ".": FLAG & GO ON
$ ED8.,IA0.G,PRIOD.,0,0,ED8A.			;"."
$ ED8A.,IA3.,USERN.,0,0,ED9.			;SYSTEM-NAME

;OPTIONS IN SOURCE-COMPUTER PARAGRAPH
$ ED9.,0,0,0,0,<ED9A.,ED9B.,ED9D.,ED9E.>
$ ED9A.,0,WITH.,0,0,<ED9B.,ED9D.>
$ ED9B.,IA7.,DEBUG.,0,0,<ED9C.,ED9D.>
$ ED9C.,0,MODE.,0,0,<ED9D.,ED9E.>
$ ED9D.,0,PRIOD.,0,0,ED269.
$ ED9E.,BE125.,0,0,0,ED269.

;OBJECT-COMPUTER.
$ ED10.,0,OBJEC.,0,1,<ED23.,ED22.>		;OBJECT-COMPUTER
$ ED23.,IA0.G,PRIOD.,0,0,ED28.			;"."
$ ED22.,BE125.,0,0,0,ED28.			;NO ".": FLAG & GO ON
$ ED28.,IA3.,0,0,0,<ED29.,ED31A.>		;SYSTEM-NAME
$ ED29.,0,PRIOD.,0,0,ED31.			;"."

;OPTIONS IN OBJECT-COMPUTER PARAGRAPH
$ ED31.,0,0,0,0,<ED32.,ED127.,ED420.,ED430.,ED440.,ED400.,ED401.,ED402.,ED269.>
$ ED31A.,0,0,0,0,<ED32.,ED127.,ED420.,ED430.,ED440.,ED400.,ED401.,ED402.,ED9E.>

;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

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

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

;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.>

;SUPPRESS TRAILING BLANKS

$ ED430.,TST.NS,SUPPR.,0,0,<ED431.,ED433.>	;SUPPRESS
$ ED431.,IA110.,TRAIL.,0,0,<ED432.,ED29.,ED31.>	;TRAILING
$ ED432.,0,BLANK.,0,0,<ED29.,ED31.>		;BLANKS
$ ED433.,E.652,0,0,0,<ED29.,ED31.>		;ERROR

;COBOL STANDARD IS {74|82}

$ ED440.,TST.NS,COBOL.,0,0,<ED441.,ED442.,ED443.,ED444.>	;COBOL
$ ED441.,0,STAND.,0,0,<ED442.,ED443.,ED444.>	;STANDARD
$ ED442.,0,IS.,0,0,<ED443.,ED444.>		;IS
$ ED443.,IA112.,INTGR.,0,0,<ED29.,ED31.>	;INTEGER
$ ED444.,E.25,0,0,0,<ED29.,ED31.>		;ERROR
;SPECIAL-NAMES.
$ ED15.,IA56.,SPECI.,0,1,<ED182.,ED183.>	;SPCL-NAMS: SET PARA SEEN FLAG
$ ED182.,0,PRIOD.,0,0,<ED183A,ED184.>		;"."
$ ED182A,IA58.,PRIOD.,0,0,<ED183A,ED184.>	;"." AFTER LAST CLAUSE
$ ED183.,BE125.,0,0,0,<ED183A,ED184.>		;NO "."
$ ED183A,0,0,0,0,ED184.				;

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

;CONSOLE IS mnemonic-name
$ ED185.,IA58A.,CONSL.,0,0,<ED193.,ED196.,ED194.,ED195.>  ;CONSOLE
$ ED193.,0,IS.,0,0,<ED196.,ED194.,ED195.>	;IS
$ ED196.,IA44.,USERN.,0,0,<ED182A,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.,IA62X.,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.,ED206.,ED205.,ED207.>  ;")"
$ ED203.,E.84,0,0,0,<ED204.,ED206.,ED205.,ED207.>  ;RIGHT PARIN EXPECTED
$ ED204.,0,IS.,0,0,<ED205.,ED206.,ED207.>	;IS
$ ED205.,IA46.,USERN.,0,0,<ED182A,ED184.>	;ACCEPTABLE MNEMONIC: GET IT
$ ED206.,E.28,MNEMO.,0,0,ED208.			;MNEMONIC-NAME ALREADY IN USE
$ ED207.,E.24,0,0,0,ED208.			;ILLEGAL MNEMONIC-NAME
$ ED208.,IA57.,0,0,0,ED197.			;CLEAN UP SAVLST

;CURRENCY SIGN IS literal
$ ED188.,IA58A.,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,<ED182A,ED184.>	;LITERAL: GET THE CHARACTER
$ ED215.,E.27,0,0,0,ED197.			;MUST BE A 1 CHAR LITERAL

;DECIMAL-POINT IS COMMA
$ ED189.,IA58A.,DECPN.,0,0,<ED209.,ED210.,ED192.>  	;DECIMAL-POINT
$ ED209.,0,IS.,0,0,<ED210.,ED192.>		;IS
$ ED210.,IA52.,COMMA,0,0,<ED182A,ED184.>	;COMMA: SWITCH "," & "."
;REPORT CODES: "<LITERAL> IS <MNEMONIC-NAME>"
$ ED304.,IA78.,LITER.,0,0,<ED305.,ED305.>	;LITERAL
$ ED305.,0,IS.,0,0,<ED306.,ED194.,ED195.>	;IS
$ ED306.,IA79.,USERN.,0,0,<ED182A,ED184.>	;MNEMONIC-NAME

;[82] ALPHABET
$ ED308.,TST.8,ALPHA.,0,0,<ED308A,ED308B>	;ALPHABET

;[82] alphabet-name IS STANDARD-1, STANDARD-2, NATIVE, ASCII, EBCDIC, literal
$ ED308A,IA202.,USERN.,0,0,<ED307A,ED307B,ED307C,ED307D,ED307E,ED307F,ED307I,ED307J,ED307L,ED307Z>
$ ED308B,E.800,0,0,0,ED197.			;ERROR

;alphabet-name IS STANDARD-1, STANDARD-2, NATIVE, ASCII, EBCDIC, literal
$ ED307.,IA202.,USERN.,0,0,<ED307A,ED307B,ED307C,ED307D,ED307E,ED307F,ED307I,ED307J,ED307L,ED307W,ED307Y,ED307Z>

$ ED307A,0,IS.,0,0,<ED307B,ED307C,ED307D,ED307E,ED307F,ED307I,ED307J,ED307L,ED307Z>	;IS
$ ED307B,IA203S,STND1.,0,0,<ED182A,ED184.>		;STANDARD-1
$ ED307C,IA203N,NATIV.,0,0,<ED182A,ED184.>		;NATIVE
$ ED307D,IA203S,ASCII.,0,0,<ED182A,ED184.>		;ASCII
$ ED307E,IA203E,EBCDC.,0,0,<ED182A,ED184.>		;EBCDIC
$ ED307J,IA203S,STND2.,0,0,<ED182A,ED184.>		;STANDARD-2
$ ED307F,IA203F,FIGCN.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307I,IA203I,INTGR.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307L,IA203L,LITER.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307K,IA204I,INTGR.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307M,IA204.,LITER.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307S,IA204F,FIGCN.,0,0,<ED307M,ED307K,ED307S,ED307N,ED307Q,ED182A,ED184.>
$ ED307N,0,THRU.,0,0,<ED307P,ED307O,ED307Z>
$ ED307O,IA205I,INTGR.,0,0,<ED307M,ED307K,ED307S,ED182A,ED184.>
$ ED307P,IA205.,LITER.,0,0,<ED307M,ED307K,ED307S,ED182A,ED184.>
$ ED307Q,0,ALSO.,0,0,<ED307R,ED307T,ED307U,ED307Z>
$ ED307R,IA206.,LITER.,0,0,<ED307M,ED307K,ED307S,ED307Q,ED182A,ED184.>
$ ED307U,IA206I,INTGR.,0,0,<ED307M,ED307K,ED307S,ED307Q,ED182A,ED184.>
$ ED307T,IA206F,FIGCN.,0,0,<ED307M,ED307K,ED307S,ED307Q,ED182A,ED184.>
$ ED307W,IA207D,DIVIS.,0,0,ED16.			;MISSPELLED DATA DIVISION
$ ED307Y,IA207S,SECT.,0,0,ED262.			;MISSPELLED I-O SECTION
$ ED307Z,E.709,0,0,0,ED197.				;ILLEGAL alphabet-name

;[82] SYMBOLIC CHARACTERS symbolic-char [...] IS integer [...] IN alphabet-name
$ ED309.,IA309.,SYMBL.,0,0,<ED309A,ED309B,ED309V,ED309W>	;SYMBOLIC
$ ED309A,0,CHARA.,0,0,<ED309B,ED309V,ED309C>			;CHARACTERS
$ ED309B,IA311.,USERN.,0,0,<ED309B,ED309C,ED309V,ED309X>	;symbolic-character
$ ED309C,0,IS.,0,0,<ED309D,ED309Y>				;IS
$ ED309D,IA312.,INTGR.,0,0,<ED309D,ED309E,ED309F,ED309G,ED182A,ED184.>	;integer
$ ED309E,IA310.,USERN.,0,0,ED309B				;symbolic-character
$ ED309F,0,IN.,0,0,<ED309G,ED309Z>				;IN
$ ED309G,IA313.,ALPBN.,0,0,<ED182A,ED184.>			;alphabet-name

$ ED309V,IA311A,SYCHN.,0,0,<ED309B,ED309C,ED309V,ED309X>	;duplicate symbolic-character
$ ED309W,E.809,0,0,0,ED197.			;symbolic-character expected
$ ED309X,E.810,0,0,0,ED197.			;IS/ARE expected
$ ED309Y,E.643,0,0,0,ED197.			;integer expected
$ ED309Z,E.713,0,0,0,ED197.			;alphabet-name expected
;SWITCH (N)
$ ED187.,IA62X.,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.,ED182A,ED184.>	;OK MNEMONIC: GET IT
$ ED233.,E.28,MNEMO.,0,0,<ED222.,ED223.,ED182A,ED184.>	;MNEMONC ALREADY USED
$ ED234.,E.24,0,0,0,<ED222.,ED223.,ED182A,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.,ED182A,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
$ ED197.,0,0,0,0,<ED185.,ED186.,ED187.,ED188.,ED189.,ED304.,ED307.,ED182A,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
$ ED45A.,E.656,SELEC.,0,0,ED45.			;MISSING FILE-CONTROL.
$ ED51.,IA13.,OPTIO.,0,0,<ED53.,ED54.,ED52.>	;OPTIONAL: SET FLAG
$ 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

$ ED55.,IA17A.,ASSGN.,0,0,<ED57.,ED58.,ED58A.,ED58B.,ED60.>	;ASSIGN
$ 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
$ ED271.,0,0,0,0,<ED12.,ED62.,ED66.,ED70.,ED71.,ED93R.,ED94.,ED96.,ED96X.,ED289.,ED310.,ED311.,ED311A,ED500.,ED55.,ED605.,ED610.,ED620.,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
$ ED271H,0,0,0,0,<ED12.,ED62.,ED66.,ED70.,ED71.,ED289.,ED271F>

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

$ ED95W.,0,WITH.,0,0,<ED95C.,ED271.>			;[1331] WITH
$ 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
$ ED97.,E.15,0,0,0,ED271.				;ILLEGAL ORGANIZATION

;ACCESS MODE IS <MODE>
$ ED70.,IA25X.,ACCES.,0,0,<ED88.,ED89.,ED90.,ED90R.,ED90D.,ED91.>  ;ACCESS
$ ED88.,0,MODE.,0,0,<ED89.,ED90.,ED90R.,ED90D.,ED91.>	;MODE
$ ED89.,0,IS.,0,0,<ED90.,ED90R.,ED90D.,ED91.>		;IS
$ ED90.,IA25S.,SEQU.,0,0,<ED67.,ED271.>			;SEQUENTIAL
$ ED90R.,IA25R.,RAND.,0,0,<ED67.,ED271.>		;RANDOM
$ ED90D.,IA25D.,DYNAM.,0,0,<ED67.,ED271.>		;DYNAMIC
$ ED91.,E.704,0,0,0,ED271.				;ILLEGAL ACCESS MODE
;RECORD {KEY IS data-name|DELIMITER ...}
$ ED62.,IA327.,REC.,0,0,<ED62A.,ED62B.,ED62C.,ED600.,ED102.>  ;RECORD, DON'T KNOW WHICH IT IS YET
$ ED62A.,0,KEY,0,0,<ED62B.,ED62C.,ED102.>	;KEY
$ ED62B.,0,IS.,0,0,<ED62C.,ED102.>		;IS
$ ED62C.,IA328.,USERN.,0,0,<ED100.,ED271.>	;DATA-NAME: SAVE ACT. KEY

;RELATIVE KEY IS data-name
;However at this point we cannot be sure that it is not
;ACCESS MODE IS SEQUENTIAL [ORGANIZATION IS] RELATIVE
$ ED67.,0,RELAT.,0,0,<ED98.,ED99.,ED101.,ED96.>  ;RELATIVE: STORE ACT KEY CODE
$ ED98.,0,KEY,0,0,<ED99.,ED101.,ED102.>  	;KEY
$ ED99.,0,IS.,0,0,<ED101.,ED102.>		;IS
$ ED101.,IA28C.,USERN.,0,0,<ED100.,ED271.>	;DATA-NAME: SAVE ACT. KEY
$ ED100.,0,OF.,0,0,<ED100A,ED100B,ED102.>	;OF
$ ED100A,IA59.,USERN.,0,0,<ED100.,ED271.>	;DATA-NAME: SAVE QUALIFIER
$ ED100B,IA59.,FILEN.,0,0,ED271.		;FILE-NAME: SAVE QUALIFIER
$ ED102.,E.17,0,0,0,ED271.			;ILLEGAL DATA NAME

;RESERVE <INTEGER> AREAS
$ ED71.,IA17.,RESER.,0,0,<ED82.,ED85.>	;RESERVE
$ ED82.,IA19.,INTGR.,0,0,<ED87.,ED271.>	;INTEGER: GET # BUFRS
$ ED85.,E.643,0,0,0,<ED87.,ED271.>		;IMPROPER CLAUSE: DEFAULT BUFRS
$ 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
;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.,ED320.,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.>

;SAME <RECORD/SORT/SORT-MERGE> AREA FOR <FILE-NAME>
$ 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
$ 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>
$ 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
$ 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

;APPLY BASIC-LOCKING ON FILE-NAME ...

$ ED320.,0,APPLY.,0,0,<ED322.,ED321.>	;BASIC-LOCKING , ERROR
$ ED321.,E.91,0,0,0,ED139.
$ ED322.,IA222.,BASLK.,0,0,<ED323.,ED324.,ED325.,ED326.> ;ON, USERNAME,FILENAME,ERROR
$ ED323.,0,ON.,0,0,<ED324.,ED325.,ED326.> ;USERNAME, FILENAME, ERROR
$ ED324.,E.20,USERN.,0,0,<ED324.,ED325.,ED122.,ED124.> ;USERNAME, FILENAME, PERIOD (E-O-SENT), DEFAULT
$ ED325.,IA223.,FILEN.,0,0,<ED324.,ED325.,ED122.,ED124.> ;USERNAME, FILENAME, PERIOD (E-O-SENT), DEFAULT
$ ED326.,E.21,0,0,0,ED139.
;ALTERNATE RECORD KEY IS data-name WITH DUPLICATES

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

;RECORD DELIMITER IS STANDARD-1

$ ED600.,IA329.,DLIMR.,0,0,<ED601.,ED602.,ED603.>	;DELIMITER
$ ED601.,0,IS.,0,0,<ED602.,ED603.>			;IS
$ ED602.,0,STND1.,0,0,ED271.				;STANDARD-1
$ ED603.,E.802,0,0,0,ED271.				;STANDARD-1 expected

;CODE-SET IS alphabet-name

$ ED605.,0,CDSET.,0,0,<ED606.,ED607.,ED608.>	;CODE-SET
$ ED606.,0,IS.,0,0,<ED607.,ED608.>		;IS
$ ED607.,0,ALPBN.,0,0,ED271.			;alphabet-name
$ ED608.,E.713,0,0,0,ED271.			;alphabet-name expected

;PADDING CHARACTER IS {literal|data-name}

$ ED610.,TST.8,PADD.,0,0,<ED611.,ED612.,ED612.>		;PADDING
$ ED611.,0,CHARA.,0,0,<ED612.,ED612.>			;CHARACTER
$ ED612.,0,IS.,0,0,<ED613.,ED614.,ED615.,ED616.,ED617.>	;IS
$ ED613.,IA300.,LITER.,0,0,ED271.			;LITERAL
$ ED614.,IA300A,USERN.,0,0,ED271.			;USER-NAME
$ ED615.,IA300B,FIGCN.,0,0,ED271.			;figurative constant
$ ED616.,IA300C,SYCHN.,0,0,ED271.			;symbolic-character
$ ED617.,E.615,0,0,0,ED271.

;BLOCK CONTAINS [integer-1 TO] integer-2 RECORDS/CHARACTERS
$ ED620.,TST.8,BLOCK.,0,0,<ED621.,ED622.,ED623.>
;$ ED620.,IA21F.,BLOCK.,0,0,<ED621.,ED622.,ED623.>
$ ED621.,0,CONTA.,0,0,<ED622.,ED623.>
$ ED622.,IA301.,INTGR.,0,0,<ED624.,ED627.,ED628.,ED629.>
$ ED623.,E.25,0,0,0,ED271.
$ ED624.,0,TO.,0,0,<ED625.,ED626.>
;$ ED624.,IA21G.,TO.,0,0,<ED625.,ED626.>
$ ED625.,IA302.,INTGR.,0,0,<ED627.,ED628.,ED629.>
$ ED626.,E.25,0,0,0,<ED627.,ED627.,ED629.>
$ ED627.,IA303.,REC.,0,0,ED271.
$ ED628.,IA304.,CHARA.,0,0,ED271.
$ ED629.,E.395,0,0,0,ED271.


	END