COBOL grammar Version 0.1.1

Copyright (C) 1999 Ralf Lämmel (CWI, Amsterdam) & Chris Verhoef (WINS, Universiteit van Amsterdam)

This grammar has been been recovered from IBM's COBOL Language Reference (Document Number: SC26-9046-03) automatically.

Disclaimer
This grammar is not yet corrected nor completed. It merely represents the portion of syntax covered by the syntax diagrams in the referenced document. In this sense, this version of the grammar illustrates some problems with IBM language references as, for example, indicated by the huge number of top and bottom sorts. If you want to see a completed and corrected COBOL grammar, we refer to our VS COBOL II grammar.

If you have any remark or a question, contact the authors of this grammar: Ralf Lämmel (CWI, Amsterdam, Email: ralf@cwi.nl) & Chris Verhoef (WINS, Universiteit van Amsterdam, Email: x@wins.uva.nl). This is Version 0.1.1 of the grammar. It has been released on December, 16th, 1999. Version 0.1 (i.e., the first version) of the grammar has been released on December, 14th, 1999. Refer to the ChangeLog for details. This document is maintained by Ralf Lämmel.

Acknowledgement
The system LDL supporting language-centric software protoyping has been used for nearly all aspects of specification/implementation in this project, namely grammar recovery and generation of the actual browsable grammar.


Contents


Summary


Context-free syntax

references-to-copy-libraries = text-name [ ( "IN" | "OF" ) library-name ]

Diagrams  Uses  Top  Help

references-to-procedure-division-names = paragraph-name [ ( "IN" | "OF" ) section-name ]

references-to-procedure-division-names = section-name

Diagrams  Uses  Top  Help

simple-data-reference = data-name

Diagrams  Uses  Top  Help

identifier = data-name { ( "IN" | "OF" ) data-name }*
[ ( "IN" | "OF" ) file-name ] { "(" subscript ")" }*
[ "(" leftmost-character-position ":" [ length ] ")" ]

identifier = condition-name | data-name ) { ( "IN" | "OF" ) data-name }*
[ ( "IN" | "OF" ) file-name ]

identifier = "LINAGE-COUNTER" [ ( "IN" | "OF" ) file-name ]

Diagrams  Uses  Top  Help

condition-name = condition-name { ( "IN" | "OF" ) data-name }*
[ ( "IN" | "OF" ) file-name ] [ "(" { subscript }+ ")" ]

condition-name = condition-name { ( "IN" | "OF" ) mnemonic-name }*

Diagrams  Uses  Top  Help

subscripting = condition-name | data-name ) { ( "IN" | "OF" ) data-name }*
[ ( "IN" | "OF" ) file-name ]
"(" { ( integer | "ALL" | data-name [ ( "+" | "-" ) integer ] | index-name [ ( "+" | "-" ) integer ] ) }+ ")"

Diagrams  Uses  Top  Help

reference-modification = ( data-name | "FUNCTION" function-name [ "(" { argument }+ ")" ] )
"(" leftmost-character-position ":" [ length ] ")"

Diagrams  Uses  Top  Help

function-identifier = "FUNCTION" function-name [ "(" { argument }+ ")" ]
[ reference-modifier ]

Diagrams  Uses  Top  Help

cobol-program-structure = ( "IDENTIFICATION" | "ID" ) "DIVISION" "." "PROGRAM-ID" "." program-name
[ [ "IS" ] ( "RECURSIVE" | "INITIAL" ) [ "PROGRAM" ] ] "."
[ identification-division-content ]
[ "ENVIRONMENT" "DIVISION" "." environment-division-content ]
[ "DATA" "DIVISION" "." data-division-content ]
[ "PROCEDURE" "DIVISION" "." procedure-division-content ]
[ { cobol-program-structure-nested-source-program }* "END" "PROGRAM" program-name "." ]

cobol-program-structure = { cobol-source-program }+

Diagrams  Uses  Top  Help

cobol-program-structure-nested-source-program = ( "IDENTIFICATION" | "ID" ) "DIVISION" "." "PROGRAM-ID" "." program-name
[ [ "IS" ] ( "COMMON" [ "INITIAL" ] | "INITIAL" [ "COMMON" ] ) [ "PROGRAM" ] ] "."
[ identification-division-content ]
[ "ENVIRONMENT" "DIVISION" "." environment-division-content ]
[ "DATA" "DIVISION" "." data-division-content ]
[ "PROCEDURE" "DIVISION" "." procedure-division-content ]
cobol-program-structure-nested-source-program }* "END" "PROGRAM" program-name "."

Diagrams  Uses  Top  Help

cobol-class-definition-structure = ( "IDENTIFICATION" "DIVISION" "." | "ID" "DIVISION" "." ) "CLASS-ID" "." class-name "."
[ identification-division-content ]
"ENVIRONMENT" "DIVISION" "." class-environment-division-content
[ "DATA" "DIVISION" "." class-data-division-content ]
[ "PROCEDURE" "DIVISION" "." { method-definition }* ]
"END" "CLASS" class-name "."

Diagrams  Uses  Top  Help

cobol-method-definition-structure = ( "IDENTIFICATION" "DIVISION" "." | "ID" "DIVISION" "." )
[ identification-division-content ]
[ "ENVIRONMENT" "DIVISION" "." method-environment-division-content ]
[ "DATA" "DIVISION" "." method-data-division-content ]
[ "PROCEDURE" "DIVISION" "." method-procedure-division-content ]
"END" "METHOD" method-name "."

Diagrams  Uses  Top  Help

identification-division = ( "IDENTIFICATION" | "ID" ) "DIVISION" "." "PROGRAM-ID" "." program-name
[ [ "IS" ] ( "RECURSIVE" | "COMMON" [ "INITIAL" ] | "INITIAL" [ "COMMON" ] ) [ "PROGRAM" ] ] "."
[ "AUTHOR" "." { comment-entry }* ]
[ "INSTALLATION" "." { comment-entry }* ]
[ "DATE-WRITTEN" "." { comment-entry }* ]
[ "DATE-COMPILED" "." { comment-entry }* ]
[ "SECURITY" "." { comment-entry }* ]

identification-division = ( "IDENTIFICATION" "DIVISION" | "ID" "DIVISION" ) "CLASS-ID" "." class-name
"INHERITS" { class-name }+ [ "METACLASS" [ "IS" ] class-name ] "."
[ "AUTHOR" "." { comment-entry }* ]
[ "INSTALLATION" "." { comment-entry }* ]
[ "DATE-WRITTEN" "." { comment-entry }* ]
[ "DATE-COMPILED" "." { comment-entry }* ]
[ "SECURITY" "." { comment-entry }* ]

identification-division = ( "IDENTIFICATION" "DIVISION" | "ID" "DIVISION" )
"METHOD-ID" "." method-name [ [ "IS" ] [ "METHOD" ] "OVERRIDE" ] "."
[ "AUTHOR" "." { comment-entry }* ]
[ "INSTALLATION" "." { comment-entry }* ]
[ "DATE-WRITTEN" "." { comment-entry }* ]
[ "DATE-COMPILED" "." { comment-entry }* ]
[ "SECURITY" "." { comment-entry }* ]

Diagrams  Uses  Top  Help

configuration-section = "CONFIGURATION" "SECTION" "." [ source-computer-paragraph ]
object-computer-paragraph ] [ special-names-paragraph ]
repository-paragraph ]

Diagrams  Uses  Top  Help

source-computer-paragraph = "SOURCE-COMPUTER" "."
[ computer-name [ [ "WITH" ] "DEBUGGING" "MODE" ] "." ]

Diagrams  Uses  Top  Help

object-computer-paragraph = "OBJECT-COMPUTER" "."
[ computer-name [ "MEMORY" [ "SIZE" ] integer ( "WORDS" | "CHARACTERS" | "MODULES" ) ] object-computer-paragraph-entry-1 "." ]

Diagrams  Uses  Top  Help

object-computer-paragraph-entry-1 = [ [ "PROGRAM" ] [ "COLLATING" ] "SEQUENCE" [ "IS" ] alphabet-name ]

Diagrams  Uses  Top  Help

special-names-paragraph = "SPECIAL-NAMES" "." { ( environment-name [ "IS" ] mnemonic-name | environment-name ( [ "IS" ] mnemonic-name [ special-names-paragraph-entry-1 ] | special-names-paragraph-entry-1 ) ) }*
{ "ALPHABET" alphabet-name [ "IS" ] ( "STANDARD-1" | "STANDARD-2" | "NATIVE" | "EBCDIC" | { literal special-names-paragraph-phrase-1 }+ ) }*
{ "SYMBOLIC" [ "CHARACTERS" ] special-names-paragraph-symbolic [ "IN" alphabet-name ] }*
{ "CLASS" class-name [ "IS" ] { literal [ ( "THROUGH" | "THRU" ) literal ] }+ }*
[ "CURRENCY" [ "SIGN" ] [ "IS" ] literal [ [ "WITH" ] "PICTURE" "SYMBOL" literal ] ]
[ "DECIMAL-POINT" [ "IS" ] "COMMA" ] [ "." ]

Diagrams  Uses  Top  Help

special-names-paragraph-entry-1 = ( "ON" [ "STATUS" ] [ "IS" ] condition [ "OFF" [ "STATUS" ] [ "IS" ] condition ] | "OFF" [ "STATUS" ] [ "IS" ] condition [ "ON" [ "STATUS" ] [ "IS" ] condition ] )

Diagrams  Uses  Top  Help

special-names-paragraph-phrase-1 = [ ( ( "THROUGH" | "THRU" ) literal | { "ALSO" literal }+ ) ]

Diagrams  Uses  Top  Help

special-names-paragraph-symbolic = { { symbolic-character }+ ( "ARE" | "IS" ) { integer }+ }+

Diagrams  Uses  Top  Help

repository-paragraph = "REPOSITORY" "." [ "CLASS" class-name [ [ "IS" ] external-class-name ] ]
"."

Diagrams  Uses  Top  Help

input-output-section = "INPUT-OUTPUT" "SECTION" "." "FILE-CONTROL" "."
file-control-paragraph }+
[ "I-O-CONTROL" "." [ { i-o-control-paragraph }+ "." ] ]

Diagrams  Uses  Top  Help

file-control-paragraph = "SELECT" [ "OPTIONAL" ] file-name "ASSIGN" ( [ "TO" ] { assignment-name }+ | "USING" data-name )
[ "RESERVE" integer [ ( "AREA" | "AREAS" ) ] ] [ [ "ORGANIZATION" [ "IS" ] ] "SEQUENTIAL" ]
[ "PADDING" [ "CHARACTER" ] [ "IS" ] ( data-name | literal ) ]
[ "RECORD" "DELIMITER" [ "IS" ] ( "STANDARD-1" | assignment-name ) ]
[ "ACCESS" [ "MODE" ] [ "IS" ] "SEQUENTIAL" ]
[ "LOCK" [ "MODE" ] [ "IS" ] "AUTOMATIC" [ [ "WITH" ] "LOCK" "ON" "RECORD" ] ]
[ "PASSWORD" [ "IS" ] data-name ]
[ [ "FILE" ] "STATUS" [ "IS" ] data-name [ data-name ] ] "."

file-control-paragraph = "SELECT" [ "OPTIONAL" ] file-name
"ASSIGN" ( [ "TO" ] { assignment-name }+ | "USING" data-name )
[ "ORGANIZATION" [ "IS" ] ] "LINE" "SEQUENTIAL"
[ "ACCESS" [ "MODE" ] [ "IS" ] "SEQUENTIAL" ]
[ [ "FILE" ] "STATUS" [ "IS" ] data-name [ data-name ] ] "."

file-control-paragraph = "SELECT" [ "OPTIONAL" ] file-name "ASSIGN" ( [ "TO" ] { assignment-name }+ | "USING" data-name )
[ "RESERVE" integer [ ( "AREA" | "AREAS" ) ] ] [ "ORGANIZATION" [ "IS" ] ] "RELATIVE"
[ "ACCESS" [ "MODE" ] [ "IS" ] ( "SEQUENTIAL" [ "RELATIVE" [ "KEY" ] [ "IS" ] data-name ] | ( "RANDOM" | "DYNAMIC" ) "RELATIVE" [ "KEY" ] [ "IS" ] data-name ) ]
[ "LOCK" [ "MODE" ] [ "IS" ] "AUTOMATIC" [ [ "WITH" ] "LOCK" "ON" "RECORD" ] ]
[ "PASSWORD" [ "IS" ] data-name ]
[ [ "FILE" ] "STATUS" [ "IS" ] data-name [ data-name ] ] "."

file-control-paragraph = "SELECT" [ "OPTIONAL" ] file-name "ASSIGN" ( [ "TO" ] { assignment-name }+ | "USING" data-name )
[ "RESERVE" integer [ ( "AREA" | "AREAS" ) ] ] [ "ORGANIZATION" [ "IS" ] ] "INDEXED"
[ "ACCESS" [ "MODE" ] [ "IS" ] ( "SEQUENTIAL" | "RANDOM" | "DYNAMIC" ) ]
[ "LOCK" [ "MODE" ] [ "IS" ] "AUTOMATIC" [ [ "WITH" ] "LOCK" "ON" "RECORD" ] ]
"RECORD" [ "KEY" ] [ "IS" ] data-name [ "PASSWORD" [ "IS" ] data-name ]
file-control-paragraph-entry-1 }* [ [ "FILE" ] "STATUS" [ "IS" ] data-name [ data-name ] ] "."

Diagrams  Uses  Top  Help

file-control-paragraph-entry-1 = "ALTERNATE" "RECORD" [ "KEY" ] [ "IS" ] data-name [ [ "WITH" ] "DUPLICATES" ]
[ "PASSWORD" [ "IS" ] data-name ]

Diagrams  Uses  Top  Help

assign-clause = [ label "-" ] [ "S" "-" ] name

assign-clause = [ file-system-id "-" ] system-file-name
[ "(" alt-inx-file-name { "," [ alt-inx-file-name ] }* ")" ]

assign-clause = [ label "-" ] "AS" "-" name

assign-clause = [ label "-" ] name

assign-clause = [ comment "-" ] [ file-system-id "-" ]
( system-file-name [ assign-clause-alt_index ] | environment-variable-name )

Diagrams  Uses  Top  Help

assign-clause-alt_index = "(" alt-inx-file-name { "," [ alt-inx-file-name ] }* ")"

Diagrams  Uses  Top  Help

i-o-control-paragraph = ( "RERUN" "ON" ( assignment-name | file-name ) [ "EVERY" ] i-o-control-paragraph-phrase-1 | "SAME" [ "RECORD" ] [ "AREA" ] [ "FOR" ] file-name { file-name }+ | "MULTIPLE" "FILE" [ "TAPE" ] [ "CONTAINS" ] { file-name [ "POSITION" integer ] }+ | "APPLY" "WRITE-ONLY" [ "ON" ] { file-name }+ )

i-o-control-paragraph = [ "RERUN" [ "ON" ] assignment-name ]
{ "SAME" ( "RECORD" | "SORT" | "SORT-MERGE" ) [ "AREA" ] [ "FOR" ] i-o-control-paragraph-phrase-1 }+

i-o-control-paragraph = "SAME" [ "RECORD" ] [ "AREA" ] [ "FOR" ] file-name { file-name }+

i-o-control-paragraph = ( "RERUN" "ON" ( assignment-name | file-name ) [ "EVERY" ] i-o-control-paragraph-phrase-1 | "SAME" [ "RECORD" ] [ "AREA" ] [ "FOR" ] file-name { file-name }+ )

Diagrams  Uses  Top  Help

i-o-control-paragraph-phrase-1 = ( integer "RECORDS" | "END" [ "OF" ] ( "REEL" | "UNIT" ) ) [ "OF" ] file-name

i-o-control-paragraph-phrase-1 = integer "RECORDS" [ "OF" ] file-name

i-o-control-paragraph-phrase-1 = file-name { file-name }+

Diagrams  Uses  Top  Help

data-division-overview = "DATA" "DIVISION" "."
[ "FILE" "SECTION" "." { file-description-entry { record-description-entry }+ }* ]
[ "WORKING-STORAGE" "SECTION" "." { ( record-description-entry | data-item-description-entry ) }* ]
[ "LOCAL-STORAGE" "SECTION" "." { ( record-description-entry | data-item-description-entry ) }* ]
[ "LINKAGE" "SECTION" "." { ( record-description-entry | data-item-description-entry ) }* ]

data-division-overview = [ "WORKING-STORAGE" "SECTION" "." { ( record-description-entry | data-item-description-entry ) }* ]

Diagrams  Uses  Top  Help

file-description-entry = "FD" file-name [ [ "IS" ] "EXTERNAL" ] [ [ "IS" ] "GLOBAL" ]
[ "BLOCK" [ "CONTAINS" ] [ integer "TO" ] integer ( "CHARACTERS" | "RECORDS" ) ]
[ "RECORD" ( [ "CONTAINS" ] integer [ "CHARACTERS" ] | [ "CONTAINS" ] integer "TO" integer [ "CHARACTERS" ] | file-description-entry-clause-1 [ "DEPENDING" [ "ON" ] data-name ] ) ]
[ "LABEL" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) ( "STANDARD" | "OMITTED" | { data-name }* ) ]
[ "VALUE" "OF" { system-name [ "IS" ] ( data-name | literal ) }+ ]
[ "DATA" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) { data-name }+ ]
[ "LINAGE" [ "IS" ] ( data-name | integer ) [ "LINES" ] file-description-entry-clause-2 ]
[ "RECORDING" [ "MODE" ] [ "IS" ] mode ]
[ "CODE-SET" [ "IS" ] alphabet-name ] "."

file-description-entry = "SD" file-name [ "RECORD" ( [ "CONTAINS" ] integer [ "CHARACTERS" ] | [ "CONTAINS" ] integer "TO" integer [ "CHARACTERS" ] | file-description-entry-clause-1 [ "DEPENDING" [ "ON" ] data-name ] ) ]
[ "DATA" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) { data-name }+ ]
[ "BLOCK" [ "CONTAINS" ] [ integer "TO" ] integer ( "CHARACTERS" | "RECORDS" ) ]
[ "LABEL" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) ( "STANDARD" | "OMITTED" | { data-name }+ ) ]
[ "VALUE" "OF" { system-name [ "IS" ] ( data-name | literal ) }+ ]
[ "LINAGE" [ "IS" ] ( data-name | integer ) [ "LINES" ] file-description-entry-clause-2 ]
[ "CODE-SET" [ "IS" ] alphabet-name ] "."

file-description-entry = "FD" file-name [ [ "IS" ] "EXTERNAL" ] [ [ "IS" ] "GLOBAL" ]
[ "RECORD" ( [ "CONTAINS" ] integer [ "CHARACTERS" ] | [ "CONTAINS" ] integer "TO" integer [ "CHARACTERS" ] | file-description-entry-clause-1 [ "DEPENDING" [ "ON" ] data-name ] ) ] "."

file-description-entry = "FD" file-name [ [ "IS" ] "EXTERNAL" ] [ [ "IS" ] "GLOBAL" ]
[ "BLOCK" [ "CONTAINS" ] [ integer "TO" ] integer ( "CHARACTERS" | "RECORDS" ) ]
[ "RECORD" ( [ "CONTAINS" ] integer [ "CHARACTERS" ] | [ "CONTAINS" ] integer "TO" integer [ "CHARACTERS" ] | file-description-entry-clause-1 [ "DEPENDING" [ "ON" ] data-name ] ) ]
[ "LABEL" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) ( "STANDARD" | "OMITTED" ) ]
[ "VALUE" "OF" { system-name [ "IS" ] ( data-name | literal ) }+ ]
[ "DATA" ( "RECORD" [ "IS" ] | "RECORDS" [ "ARE" ] ) { data-name }+ ] "."

Diagrams  Uses  Top  Help

file-description-entry-clause-1 = [ "IS" ] "VARYING" [ "IN" ] [ "SIZE" ] [ [ "FROM" ] integer ]
[ "TO" integer ] [ "CHARACTERS" ]

Diagrams  Uses  Top  Help

file-description-entry-clause-2 = [ [ "WITH" ] "FOOTING" [ "AT" ] ( data-name | integer ) ]
[ [ "LINES" ] [ "AT" ] "TOP" ( data-name | integer ) ]
[ [ "LINES" ] [ "AT" ] "BOTTOM" ( data-name | integer ) ]

Diagrams  Uses  Top  Help

record-clause = "RECORD" [ "CONTAINS" ] integer [ "CHARACTERS" ]

record-clause = "RECORD" [ "CONTAINS" ] integer "TO" integer [ "CHARACTERS" ]

record-clause = "RECORD" [ "IS" ] "VARYING" [ "IN" ] [ "SIZE" ]
[ [ "FROM" ] integer ] [ "TO" integer ] [ "CHARACTERS" ]
[ "DEPENDING" [ "ON" ] data-name ]

Diagrams  Uses  Top  Help

data-description-entry = level-number [ ( data-name | "FILLER" ) ] [ redefines-clause ]
blank-when-zero-clause ] [ external-clause ]
[ global-clause ] [ justified-clause ] [ occurs-clause ]
picture-clause ] [ sign-clause ] [ synchronized-clause ]
usage-clause ] [ value-clause ] [ date-format-clause ]

data-description-entry = "66" data-name renames-clause "."

data-description-entry = "88condition-name value-clause "."

Diagrams  Uses  Top  Help

level-numbers = level-number [ ( data-name | "FILLER" ) ]

Diagrams  Uses  Top  Help

blank-when-zero-clause = "BLANK" [ "WHEN" ] ( "ZERO" | "ZEROS" | "ZEROES" )

Diagrams  Uses  Top  Help

date-format-clause = "DATE" "FORMAT" [ "IS" ] date-pattern

Diagrams  Uses  Top  Help

justified-clause = ( "JUSTIFIED" | "JUST" ) [ "RIGHT" ]

Diagrams  Uses  Top  Help

fixed-length-tables = "OCCURS" integer [ "TIMES" ]
{ ( "ASCENDING" | "DESCENDING" ) [ "KEY" ] [ "IS" ] { data-name }+ }*
[ "INDEXED" [ "BY" ] { index-name }+ ]

Diagrams  Uses  Top  Help

variable-length-tables = "OCCURS" integer "TO" integer [ "TIMES" ] "DEPENDING"
[ "ON" ] data-name
{ ( "ASCENDING" | "DESCENDING" ) [ "KEY" ] [ "IS" ] { data-name }+ }*
[ "INDEXED" [ "BY" ] { index-name }+ ]

Diagrams  Uses  Top  Help

picture-clause = ( "PICTURE" | "PIC" ) [ "IS" ] character-string

Diagrams  Uses  Top  Help

external-floating-point-items = [ ( "+" | "-" ) ] mantissa-e [ ( req "." "+" | "-" ) ] exponent

Diagrams  Uses  Top  Help

redefines-clause = level-number [ ( data-name | "FILLER" ) ] "REDEFINES" data-name

Diagrams  Uses  Top  Help

renames-clause = "66" data-name "RENAMES" data-name
[ ( "THROUGH" | "THRU" ) data-name ]

Diagrams  Uses  Top  Help

sign-clause = [ "SIGN" [ "IS" ] ] ( "LEADING" | "TRAILING" ) [ "SEPARATE" [ "CHARACTER" ] ]

Diagrams  Uses  Top  Help

synchronized-clause = ( "SYNCHRONIZED" | "SYNC" ) [ ( "LEFT" | "RIGHT" ) ]

Diagrams  Uses  Top  Help

usage-clause = [ "USAGE" [ "IS" ] ] ( "BINARY" [ "NATIVE" ] | "COMP" | "COMP-1" [ "NATIVE" ] | "COMP-2" [ "NATIVE" ] | "COMP-3" | "COMP-4" [ "NATIVE" ] | "COMP-5" | "COMPUTATIONAL" | "COMPUTATIONAL-1" [ "NATIVE" ] | "COMPUTATIONAL-2" [ "NATIVE" ] | "COMPUTATIONAL-3" | "COMPUTATIONAL-4" [ "NATIVE" ] | "COMPUTATIONAL-5" | "DISPLAY" [ "NATIVE" ] | "DISPLAY-1" [ "NATIVE" ] | "INDEX" | usage-clause-objref-phrase | "PACKED-DECIMAL" | "POINTER" | "PROCEDURE-POINTER" )

Diagrams  Uses  Top  Help

usage-clause-objref-phrase = "OBJECT" "REFERENCE" [ [ "METACLASS" [ "OF" ] ] class-name ]

Diagrams  Uses  Top  Help

value-clause = "VALUE" [ "IS" ] literal

value-clause = "88condition-name ( "VALUE" [ "IS" ] | "VALUES" [ "ARE" ] )
{ literal [ ( "THROUGH" | "THRU" ) literal ] }+ "."

value-clause = "VALUE" [ "IS" ] ( "NULL" | "NULLS" )

Diagrams  Uses  Top  Help

procedure-division-structure = "PROCEDURE" "DIVISION" [ procedure-division-header ] "."
[ "DECLARATIVES" "." { procedure-division-structure-sect "." "USE" [ procedure-division-structure-para ] }+ "END" "DECLARATIVES" "." ]
{ section-name "SECTION" [ priority-number ] "." [ procedure-division-structure-para ] }+

procedure-division-structure = "PROCEDURE" "DIVISION" "." { method-definition }*

Diagrams  Uses  Top  Help

procedure-division-structure-sect = section-name "SECTION" [ priority-number ]

Diagrams  Uses  Top  Help

procedure-division-structure-para = { paragraph-name "." { sentence }* }+

Diagrams  Uses  Top  Help

the-procedure-division-header = "PROCEDURE" "DIVISION"
[ "USING" { [ ( [ "BY" ] "REFERENCE" | [ "BY" ] "VALUE" ) ] { data-name }+ }+ ]
[ "RETURNING" data-name ] "."

the-procedure-division-header = "PROCEDURE" "DIVISION" "."

Diagrams  Uses  Top  Help

class-condition = identifier [ "IS" ] [ "NOT" ] ( "NUMERIC" | "ALPHABETIC" | "ALPHABETIC-LOWER" | "ALPHABETIC-UPPER" | class-name | "DBCS" | "KANJI" )

Diagrams  Uses  Top  Help

condition-name-condition = condition-name

Diagrams  Uses  Top  Help

relation-condition = operand [ "IS" ] ( [ "NOT" ] ( "GREATER" [ "THAN" ] | ">" | "LESS" [ "THAN" ] | "<" | "EQUAL" [ "TO" ] | "=" ) | "GREATER" [ "THAN" ] "OR" "EQUAL" [ "TO" ] | ">=" | "LESS" [ "THAN" ] "OR" "EQUAL" [ "TO" ] | "<" "=" )
operand

Diagrams  Uses  Top  Help

pointer-data-items = ( "ADDRESS" "OFidentifier | identifier | "NULL" | "NULLS" ) [ "IS" ] [ "NOT" ]
( "EQUAL" [ "TO" ] | "=" ) ( "ADDRESS" "OFidentifier | identifier | "NULL" | "NULLS" )

Diagrams  Uses  Top  Help

procedure-pointer-data-items = [ ( identifier | "NULL" | "NULLS" ) ] [ "IS" ] [ "NOT" ] ( "EQUAL" [ "TO" ] | "=" )
[ ( identifier | "NULL" | "NULLS" ) ]

Diagrams  Uses  Top  Help

object-reference-data-items = ( object-reference-identifier | "SELF" | "NULL" | "NULLS" ) [ "IS" ] [ "NOT" ]
( "EQUAL" [ "TO" ] | "=" ) ( object-reference-identifier | "SELF" | "NULL" | "NULLS" )

Diagrams  Uses  Top  Help

sign-condition = operand [ "IS" ] [ "NOT" ] ( "POSITIVE" | "NEGATIVE" | "ZERO" )

Diagrams  Uses  Top  Help

switch-status-condition = condition-name

Diagrams  Uses  Top  Help

negated-simple-conditions = "NOT" condition

Diagrams  Uses  Top  Help

combined-conditions = condition { ( "AND" | "OR" ) condition }+

Diagrams  Uses  Top  Help

abbreviated-combined-relation-conditions = relation-condition
{ ( "AND" | "OR" ) [ "NOT" ] [ relational-operator ] object }+

Diagrams  Uses  Top  Help

into-from-identifier-phrase = ( ( "READ" | "RETURN" ) file-name [ "RECORD" ] [ "INTOidentifier ] | ( "RELEASE" | "REWRITE" | "WRITE" ) record-name [ "FROMidentifier ] )

Diagrams  Uses  Top  Help

data-transfer = "ACCEPTidentifier [ "FROM" ( mnemonic-name | environment-name ) ]

Diagrams  Uses  Top  Help

system-information-transfer = "ACCEPTidentifier "FROM" ( "DATE" [ "YYYYMMDD" ] | "DAY" [ "YYYYDDD" ] | "DAY-OF-WEEK" | "TIME" )

Diagrams  Uses  Top  Help

add-statement = "ADD" { ( identifier | literal ) }+ "TO" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-ADD" ]

add-statement = "ADD" { ( identifier | literal ) }+ [ "TO" ] ( identifier | literal )
"GIVING" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-ADD" ]

add-statement = "ADD" ( "CORRESPONDING" | "CORR" ) identifier "TOidentifier
[ "ROUNDED" ] [ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-ADD" ]

Diagrams  Uses  Top  Help

alter-statement = "ALTER"
{ procedure-name "TO" [ "PROCEED" "TO" ] procedure-name }+

Diagrams  Uses  Top  Help

call-statement = "CALL" ( identifier | literal | procedure-ptr )
[ "USING" { ( [ [ "BY" ] "REFERENCE" ] { ( [ "ADDRESS" "OF" ] identifier | file-name | "OMITTED" ) }+ | [ "BY" ] "CONTENT" { ( [ ( "ADDRESS" "OF" | "LENGTH" "OF" ) ] identifier | literal | "OMITTED" ) }+ | [ "BY" ] "VALUE" { ( [ ( "ADDRESS" "OF" | "LENGTH" "OF" ) ] identifier | literal ) }+ ) }+ ]
[ "RETURNINGidentifier ] [ ( [ call-statement-on_exception ] [ call-statement-not_on_exception ] | [ "ON" ] "OVERFLOW" imperative-statement ) ]
[ "END-CALL" ]

Diagrams  Uses  Top  Help

call-statement-on_exception = [ [ "ON" ] "EXCEPTION" imperative-statement ]

Diagrams  Uses  Top  Help

call-statement-not_on_exception = [ "NOT" [ "ON" ] "EXCEPTION" imperative-statement ]

Diagrams  Uses  Top  Help

cancel-statement = "CANCEL" { ( identifier | literal ) }+

Diagrams  Uses  Top  Help

close-statement = "CLOSE" { file-name [ ( ( "REEL" | "UNIT" ) [ ( [ "FOR" ] "REMOVAL" | "WITH" "NO" "REWIND" ) ] | [ "WITH" ] ( "NO" "REWIND" | "LOCK" ) ) ] }+

close-statement = "CLOSE" { file-name [ [ "WITH" ] "LOCK" ] }+

Diagrams  Uses  Top  Help

compute-statement = "COMPUTE" { identifier [ "ROUNDED" ] }+ ( "=" | "EQUAL" )
arithmetic-expression
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-COMPUTE" ]

Diagrams  Uses  Top  Help

continue-statement = "CONTINUE"

Diagrams  Uses  Top  Help

delete-statement = "DELETE" file-name [ "RECORD" ]
[ "INVALID" [ "KEY" ] imperative-statement ]
[ "NOT" "INVALID" [ "KEY" ] imperative-statement ]
[ "END-DELETE" ]

delete-statement = [ sequence-number ] "DELETE" sequence-number-field

Diagrams  Uses  Top  Help

display-statement = "DISPLAY" { ( identifier | literal ) }+
[ "UPON" ( mnemonic-name | environment-name ) ] [ [ "WITH" ] "NO" "ADVANCING" ]

Diagrams  Uses  Top  Help

divide-statement = "DIVIDE" ( identifier | literal ) "INTO" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-DIVIDE" ]

divide-statement = "DIVIDE" ( identifier | literal ) "INTO" ( identifier | literal )
"GIVING" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-DIVIDE" ]

divide-statement = "DIVIDE" ( identifier | literal ) "BY" ( identifier | literal )
"GIVING" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-DIVIDE" ]

divide-statement = "DIVIDE" ( identifier | literal ) "INTO" ( identifier | literal )
"GIVINGidentifier [ "ROUNDED" ] "REMAINDERidentifier
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-DIVIDE" ]

divide-statement = "DIVIDE" ( identifier | literal ) "BY" ( identifier | literal )
"GIVINGidentifier [ "ROUNDED" ] "REMAINDERidentifier
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-DIVIDE" ]

Diagrams  Uses  Top  Help

entry-statement = "ENTRY" literal
[ "USING" { [ ( [ "BY" ] "REFERENCE" | [ "BY" ] "VALUE" ) ] { identifier }+ }+ ] "."

Diagrams  Uses  Top  Help

evaluate-statement = "EVALUATE" ( identifier | literal | expression | "TRUE" | "FALSE" ) { "ALSO" ( identifier | literal | expression | "TRUE" | "FALSE" ) }*
{ { "WHENevaluate-statement-phrase-1 { "ALSOevaluate-statement-phrase-2 }* }+ imperative-statement }+
[ "WHEN" "OTHER" imperative-statement ] [ "END-EVALUATE" ]

Diagrams  Uses  Top  Help

evaluate-statement-phrase-1 = ( "ANY" | condition | "TRUE" | "FALSE" | [ "NOT" ] ( identifier | literal | arithmetic-expression ) [ ( "THROUGH" | "THRU" ) ( identifier | literal | arithmetic-expression ) ] )

Diagrams  Uses  Top  Help

evaluate-statement-phrase-2 = ( "ANY" | condition | "TRUE" | "FALSE" | [ "NOT" ] ( identifier | literal | arithmetic-expression ) [ ( "THROUGH" | "THRU" ) ( identifier | literal | arithmetic-expression ) ] )

Diagrams  Uses  Top  Help

exit-statement = paragraph-name "." "EXIT" "."

Diagrams  Uses  Top  Help

exit-method-statement = "EXIT" "METHOD" "."

Diagrams  Uses  Top  Help

exit-program-statement = "EXIT" "PROGRAM" "."

Diagrams  Uses  Top  Help

goback-statement = "GOBACK"

Diagrams  Uses  Top  Help

unconditional-go-to = "GO" [ "TO" ] procedure-name

Diagrams  Uses  Top  Help

conditional-go-to = "GO" [ "TO" ] { procedure-name }+ "DEPENDING" [ "ON" ]
identifier

Diagrams  Uses  Top  Help

altered-go-to = paragraph-name "." "GO" [ "TO" ] "."

Diagrams  Uses  Top  Help

more-labels-go-to = "GO" [ "TO" ] "MORE-LABELS"

Diagrams  Uses  Top  Help

if-statement = "IF" condition [ "THEN" ] ( { statement }+ | "NEXT" "SENTENCE" )
[ "ELSE" ( { statement }+ | "NEXT" "SENTENCE" ) ] [ "END-IF" ]

Diagrams  Uses  Top  Help

initialize-statement = "INITIALIZE" { identifier }+
[ "REPLACING" { ( "ALPHABETIC" | "ALPHANUMERIC" | "NUMERIC" | "ALPHANUMERIC-EDITED" | "NUMERIC-EDITED" | "DBCS" | "EGCS" ) [ "DATA" ] "BY" ( identifier | literal ) }+ ]

Diagrams  Uses  Top  Help

inspect-statement = "INSPECTidentifier "TALLYING"
identifier "FOR" { ( "CHARACTERS" { inspect-statement-phrase-1 }* | ( "ALL" | "LEADING" ) { ( identifier | literal ) { inspect-statement-phrase-1 }* }+ ) }+ }+

inspect-statement = "INSPECTidentifier "CONVERTING" ( identifier | literal ) "TO"
identifier | literal )
{ ( "BEFORE" | "AFTER" ) [ "INITIAL" ] ( identifier | literal ) }+

inspect-statement = "INSPECTidentifier "TALLYING"
identifier "FOR" { ( "CHARACTERS" { inspect-statement-phrase-1 }* | ( "ALL" | "LEADING" ) { ( identifier | literal ) { inspect-statement-phrase-1 }* }+ ) }+ }+
"REPLACING"
{ ( "CHARACTERS" "BY" ( identifier | literal ) { inspect-statement-phrase-1 }* | ( "ALL" | "LEADING" | "FIRST" ) { ( identifier | literal ) "BY" ( identifier | literal ) { inspect-statement-phrase-1 }* }+ ) }+

inspect-statement = "INSPECTidentifier "REPLACING"
{ ( "CHARACTERS" "BY" ( identifier | literal ) { inspect-statement-phrase-1 }* | ( "ALL" | "LEADING" | "FIRST" ) { ( identifier | literal ) "BY" ( identifier | literal ) { inspect-statement-phrase-1 }* }+ ) }+

Diagrams  Uses  Top  Help

inspect-statement-phrase-1 = ( "BEFORE" | "AFTER" ) [ "INITIAL" ] ( identifier | literal )

Diagrams  Uses  Top  Help

invoke-statement = "INVOKE" ( identifier | class-name | "SELF" | [ class-name "OF" ] "SUPER" ) ( literal | identifier )
[ "USING" { ( [ [ "BY" ] "REFERENCE" ] { ( [ "ADDRESS" "OF" ] identifier | "OMITTED" ) }+ | [ "BY" ] "CONTENT" { ( [ ( "ADDRESS" "OF" | "LENGTH" "OF" ) ] identifier | literal | "OMITTED" ) }+ | [ "BY" ] "VALUE" { ( [ ( "ADDRESS" "OF" | "LENGTH" "OF" ) ] identifier | literal ) }+ ) }+ ]
[ "RETURNINGidentifier ] [ [ "ON" ] "EXCEPTION" imperative-statement ]
[ "NOT" [ "ON" ] "EXCEPTION" imperative-statement ] [ "END-INVOKE" ]

Diagrams  Uses  Top  Help

merge-statement = "MERGE" file-name { [ "ON" ] ( "ASCENDING" | "DESCENDING" ) [ "KEY" ] { data-name }+ }+
[ [ "COLLATING" ] "SEQUENCE" [ "IS" ] alphabet-name ] "USING" file-name
{ file-name }+
( "OUTPUT" "PROCEDURE" [ "IS" ] procedure-name [ ( "THROUGH" | "THRU" ) procedure-name ] | "GIVING" { file-name }+ )

Diagrams  Uses  Top  Help

move-statement = "MOVE" ( identifier | literal ) "TO" { identifier }+

move-statement = "MOVE" ( "CORRESPONDING" | "CORR" ) identifier "TOidentifier

Diagrams  Uses  Top  Help

multiply-statement = "MULTIPLY" ( identifier | literal ) "BY" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-MULTIPLY" ]

multiply-statement = "MULTIPLY" ( identifier | literal ) "BY" ( identifier | literal )
"GIVING" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-MULTIPLY" ]

Diagrams  Uses  Top  Help

open-statement = "OPEN"
{ ( "INPUT" { file-name [ ( "REVERSED" | [ "WITH" ] "NO" "REWIND" ) ] }+ | "OUTPUT" { file-name [ [ "WITH" ] "NO" "REWIND" ] }+ | "I-O" { file-name }+ | "EXTEND" { file-name }+ ) }+

open-statement = "OPEN" { ( "INPUT" { file-name }+ | "OUTPUT" { file-name }+ | "I-O" { file-name }+ | "EXTEND" { file-name }+ ) }+

open-statement = "OPEN" { ( "INPUT" { file-name }+ | "OUTPUT" { file-name }+ | "EXTEND" { file-name }+ ) }+

Diagrams  Uses  Top  Help

basic-perform-statement = "PERFORM"
( procedure-name [ ( "THROUGH" | "THRU" ) procedure-name ] | imperative-statement "END-PERFORM" )

Diagrams  Uses  Top  Help

perform-with-times-phrase = "PERFORM"
( procedure-name [ perform-with-times-phrase-phrase-1 ] ( identifier | integer ) "TIMES" | ( identifier | integer ) "TIMES" imperative-statement "END-PERFORM" )

Diagrams  Uses  Top  Help

perform-with-times-phrase-phrase-1 = ( "THROUGH" | "THRU" ) procedure-name

Diagrams  Uses  Top  Help

perform-with-until-phrase = "PERFORM" ( procedure-name perform-with-until-phrase-phrase-1 perform-with-until-phrase-phrase-2 | perform-with-until-phrase-phrase-2 imperative-statement "END-PERFORM" )

Diagrams  Uses  Top  Help

perform-with-until-phrase-phrase-1 = [ ( "THROUGH" | "THRU" ) procedure-name ]

Diagrams  Uses  Top  Help

perform-with-until-phrase-phrase-2 = [ [ "WITH" ] "TEST" ( "BEFORE" | "AFTER" ) ] "UNTIL" condition

Diagrams  Uses  Top  Help

perform-with-varying-phrase = "PERFORM"
( procedure-name [ ( "THROUGH" | "THRU" ) procedure-name ] perform-with-varying-phrase-phrase-1 [ perform-with-varying-phrase-phrase-2 ] | perform-with-varying-phrase-phrase-1 imperative-statement "END-PERFORM" )

Diagrams  Uses  Top  Help

perform-with-varying-phrase-phrase-1 = [ [ "WITH" ] "TEST" ( "BEFORE" | "AFTER" ) ] "VARYING" ( identifier | index-name ) "FROM" ( identifier | index-name | literal ) "BY"
identifier | literal ) "UNTIL" condition

Diagrams  Uses  Top  Help

perform-with-varying-phrase-phrase-2 = { "AFTER" ( identifier | index-name ) "FROM" ( identifier | index-name | literal ) perform-with-varying-phrase-phrase-3 }+

Diagrams  Uses  Top  Help

perform-with-varying-phrase-phrase-3 = "BY" ( identifier | literal ) "UNTIL" condition

Diagrams  Uses  Top  Help

read-statement = "READ" file-name [ ( "NEXT" | "PREVIOUS" ) ] [ "RECORD" ]
[ "INTOidentifier ]
[ [ "AT" ] "END" imperative-statement ]
[ "NOT" [ "AT" ] "END" imperative-statement ] [ "END-READ" ]

read-statement = "READ" file-name [ "RECORD" ] [ "INTOidentifier ]
[ "KEY" [ "IS" ] data-name ]
[ "INVALID" [ "KEY" ] imperative-statement ]
[ "NOT" "INVALID" [ "KEY" ] imperative-statement ] [ "END-READ" ]

Diagrams  Uses  Top  Help

release-statement = "RELEASE" record-name [ "FROMidentifier ]

Diagrams  Uses  Top  Help

return-statement = "RETURN" file-name [ "RECORD" ] [ "INTOidentifier ]
[ "AT" ] "END" imperative-statement
[ "NOT" [ "AT" ] "END" imperative-statement ] [ "END-RETURN" ]

Diagrams  Uses  Top  Help

rewrite-statement = "REWRITE" record-name [ "FROMidentifier ]
[ "INVALID" [ "KEY" ] imperative-statement ]
[ "NOT" "INVALID" [ "KEY" ] imperative-statement ]
[ "END-REWRITE" ]

Diagrams  Uses  Top  Help

search-statement = "SEARCHidentifier [ "VARYING" ( identifier | index-name ) ]
[ [ "AT" ] "END" imperative-statement ]
{ "WHEN" condition ( imperative-statement | "NEXT-SENTENCE" ) }+
[ "END-SEARCH" ]

search-statement = "SEARCH" "ALLidentifier [ [ "AT" ] "END" imperative-statement ]
"WHEN" ( data-name [ "IS" ] ( "EQUAL" [ "TO" ] | "=" ) ( identifier | literal | arithmetic-expression ) | condition-name )
{ "AND" ( data-name [ "IS" ] ( "EQUAL" [ "TO" ] | "=" ) ( identifier | literal | arithmetic-expression ) | condition-name ) }*
( imperative-statement | "NEXT" "SENTENCE" ) [ "END-SEARCH" ]

Diagrams  Uses  Top  Help

set-statement = "SET" { ( index-name | identifier ) }+ "TO" ( index-name | identifier | integer )

set-statement = "SET" { index-name }+ ( "UP" "BY" | "DOWN" "BY" ) ( identifier | integer )

set-statement = "SET" { { mnemonic-name }+ "TO" ( "ON" | "OFF" ) }+

set-statement = "SET" { condition-name }+ "TO" "TRUE"

set-statement = "SET" { ( identifier | "ADDRESS" "OFidentifier ) }+
"TO" ( identifier | "ADDRESS" "OFidentifier | "NULL" | "NULLS" )

set-statement = "SET" { procedure-pointer-data-item }+
"TO" ( procedure-pointer-data-item | "ENTRY" ( identifier | literal ) | "NULL" | "NULLS" | pointer-data-item )

set-statement = "SET" object-reference-id "TO" ( object-reference-id | "NULL" | "SELF" )

Diagrams  Uses  Top  Help

sort-statement = "SORT" file-name { [ "ON" ] ( "ASCENDING" | "DESCENDING" ) [ "KEY" ] { data-name }+ }+
[ [ "WITH" ] "DUPLICATES" [ "IN" ] [ "ORDER" ] ]
[ [ "COLLATING" ] "SEQUENCE" [ "IS" ] alphabet-name ]
( "USING" { file-name }+ | "INPUT" "PROCEDURE" [ "IS" ] procedure-name [ ( "THROUGH" | "THRU" ) procedure-name ] )
( "GIVING" { file-name }+ | "OUTPUT" "PROCEDURE" [ "IS" ] procedure-name [ ( "THROUGH" | "THRU" ) procedure-name ] )

Diagrams  Uses  Top  Help

start-statement = "START" file-name
[ "KEY" [ "IS" ] ( "EQUAL" [ "TO" ] | "=" | "LESS" [ "THAN" ] | "<" | "GREATER" [ "THAN" ] | ">" | "NOT" "LESS" [ "THAN" ] | "NOT" "<" | "NOT" "GREATER" [ "THAN" ] | "NOT" ">" | "LESS" [ "THAN" ] "OR" "EQUAL" [ "TO" ] | "<" "=" | "GREATER" [ "THAN" ] "OR" "EQUAL" [ "TO" ] | ">=" ) data-name ]
[ "INVALID" [ "KEY" ] imperative-statement ]
[ "NOT" "INVALID" [ "KEY" ] imperative-statement ] [ "END-START" ]

Diagrams  Uses  Top  Help

stop-statement = "STOP" ( "RUN" | literal )

Diagrams  Uses  Top  Help

string-statement = "STRING"
{ { ( identifier | literal ) }+ "DELIMITED" [ "BY" ] ( identifier | literal | "SIZE" ) }+
"INTOidentifier [ [ "WITH" ] "POINTERidentifier ]
[ [ "ON" ] "OVERFLOW" imperative-statement ]
[ "NOT" [ "ON" ] "OVERFLOW" imperative-statement ]
[ "END-STRING" ]

Diagrams  Uses  Top  Help

subtract-statement = "SUBTRACT" { ( identifier | literal ) }+ "FROM"
identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-SUBTRACT" ]

subtract-statement = "SUBTRACT" { ( identifier | literal ) }+ "FROM" ( identifier | literal )
"GIVING" { identifier [ "ROUNDED" ] }+
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-SUBTRACT" ]

subtract-statement = "SUBTRACT" ( "CORRESPONDING" | "CORR" ) identifier "FROM"
identifier [ "ROUNDED" ]
[ [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "NOT" [ "ON" ] "SIZE" "ERROR" imperative-statement ]
[ "END-SUBTRACT" ]

Diagrams  Uses  Top  Help

unstring-statement = "UNSTRINGidentifier
[ "DELIMITED" [ "BY" ] [ "ALL" ] ( identifier | literal ) { "OR" [ "ALL" ] ( identifier | literal ) }* ]
"INTO"
identifier [ "DELIMITER" [ "IN" ] identifier ] [ "COUNT" [ "IN" ] identifier ] }+
[ [ "WITH" ] "POINTERidentifier ] [ "TALLYING" [ "IN" ] identifier ]
[ [ "ON" ] "OVERFLOW" imperative-statement ]
[ "NOT" [ "ON" ] "OVERFLOW" imperative-statement ] [ "END-UNSTRING" ]

Diagrams  Uses  Top  Help

write-statement = "WRITE" record-name [ "FROMidentifier ]
( [ ( "BEFORE" | "AFTER" ) [ "ADVANCING" ] ( ( identifier | integer ) [ ( "LINE" | "LINES" ) ] | mnemonic-name | "PAGE" ) ] write-statement-phrase-1 | write-statement-invalid_key write-statement-not_invalid_key )
[ "END-WRITE" ]

write-statement = "WRITE" record-name [ "FROMidentifier ]
[ "AFTER" [ "ADVANCING" ] ( ( identifier | integer ) [ ( "LINE" | "LINES" ) ] | "PAGE" ) ]
[ "END-WRITE" ]

write-statement = "WRITE" record-name [ "FROMidentifier ]
[ "INVALID" [ "KEY" ] imperative-statement ]
[ "NOT" "INVALID" [ "KEY" ] imperative-statement ]
[ "END-WRITE" ]

Diagrams  Uses  Top  Help

write-statement-phrase-1 = [ [ "AT" ] ( "END-OF-PAGE" | "EOP" ) imperative-statement ]
[ "NOT" [ "AT" ] ( "END-OF-PAGE" | "EOP" ) imperative-statement ]

Diagrams  Uses  Top  Help

write-statement-invalid_key = [ "INVALID" [ "KEY" ] imperative-statement ]

Diagrams  Uses  Top  Help

write-statement-not_invalid_key = [ "NOT" "INVALID" [ "KEY" ] imperative-statement ]

Diagrams  Uses  Top  Help

specifying-a-function = "FUNCTION" function-name [ "(" { argument }+ ")" ]
[ reference-modifier ]

Diagrams  Uses  Top  Help

intrinsic-function = "FUNCTION" "ACOS" "(" argument ")"

intrinsic-function = "FUNCTION" "ANNUITY" "(" argument argument ")"

intrinsic-function = "FUNCTION" "ASIN" "(" argument ")"

intrinsic-function = "FUNCTION" "ATAN" "(" argument ")"

intrinsic-function = "FUNCTION" "CHAR" "(" argument ")"

intrinsic-function = "FUNCTION" "COS" "(" argument ")"

intrinsic-function = "FUNCTION" "CURRENT-DATE"

intrinsic-function = "FUNCTION" "DATE-OF-INTEGER" "(" argument ")"

intrinsic-function = "FUNCTION" "DATE-TO-YYYYMMDD" "(" argument [ argument ] ")"

intrinsic-function = "FUNCTION" "DATEVAL" "(" argument argument ")"

intrinsic-function = "FUNCTION" "DAY-OF-INTEGER" "(" argument ")"

intrinsic-function = "FUNCTION" "DAY-TO-YYYYDDD" "(" argument [ argument ] ")"

intrinsic-function = "FUNCTION" "FACTORIAL" "(" argument ")"

intrinsic-function = "FUNCTION" "INTEGER" "(" argument ")"

intrinsic-function = "FUNCTION" "INTEGER-OF-DATE" "(" argument ")"

intrinsic-function = "FUNCTION" "INTEGER-OF-DAY" "(" argument ")"

intrinsic-function = "FUNCTION" "INTEGER-PART" "(" argument ")"

intrinsic-function = "FUNCTION" "LENGTH" "(" argument ")"

intrinsic-function = "FUNCTION" "LOG" "(" argument ")"

intrinsic-function = "FUNCTION" "LOG10" "(" argument ")"

intrinsic-function = "FUNCTION" "LOWER-CASE" "(" argument ")"

intrinsic-function = "FUNCTION" "MAX" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "MEAN" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "MEDIAN" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "MIDRANGE" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "MIN" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "MOD" "(" argument argument ")"

intrinsic-function = "FUNCTION" "NUMVAL" "(" argument ")"

intrinsic-function = "FUNCTION" "NUMVAL-C" "(" argument [ argument ] ")"

intrinsic-function = "FUNCTION" "ORD" "(" argument ")"

intrinsic-function = "FUNCTION" "ORD-MAX" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "ORD-MIN" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "PRESENT-VALUE" "(" argument { argument }+ ")"

intrinsic-function = "FUNCTION" "RANDOM" [ "(" argument ")" ]

intrinsic-function = "FUNCTION" "RANGE" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "REM" "(" argument argument ")"

intrinsic-function = "FUNCTION" "REVERSE" "(" argument ")"

intrinsic-function = "FUNCTION" "SIN" "(" argument ")"

intrinsic-function = "FUNCTION" "SQRT" "(" argument ")"

intrinsic-function = "FUNCTION" "STANDARD-DEVIATION" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "SUM" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "TAN" "(" argument ")"

intrinsic-function = "FUNCTION" "UNDATE" "(" argument ")"

intrinsic-function = "FUNCTION" "UPPER-CASE" "(" argument ")"

intrinsic-function = "FUNCTION" "VARIANCE" "(" { argument }+ ")"

intrinsic-function = "FUNCTION" "WHEN-COMPILED"

intrinsic-function = "FUNCTION" "YEAR-TO-YYYY" "(" argument [ argument ] ")"

intrinsic-function = "FUNCTION" "YEARWINDOW"

Diagrams  Uses  Top  Help

basis-statement = [ sequence-number ] "BASIS" ( basis-name | literal )

Diagrams  Uses  Top  Help

cbl-process-statement = ( "CBL" | "PROCESS" ) [ options-list ]

Diagrams  Uses  Top  Help

control-cbl-statement = ( "*CONTROL" | "*CBL" ) { ( "SOURCE" | "NOSOURCE" | "LIST" | "NOLIST" | "MAP" | "NOMAP" ) }+ [ "." ]

Diagrams  Uses  Top  Help

copy-statement = "COPY" ( text-name | literal ) [ ( "OF" | "IN" ) ( library-name | literal ) ]
[ "SUPPRESS" ] [ "REPLACING" { operand "BY" operand }+ ] "."

Diagrams  Uses  Top  Help

eject-statement = "EJECT" [ "." ]

Diagrams  Uses  Top  Help

enter-statement = "ENTER" language-name [ routine-name ] "."

Diagrams  Uses  Top  Help

insert-statement = [ sequence-number ] "INSERT" sequence-number-field

Diagrams  Uses  Top  Help

ready-or-reset-trace-statement = ( "READY" | "RESET" ) "TRACE" "."

Diagrams  Uses  Top  Help

replace-statement = "REPLACE" { "=" "=" pseudo-text "=" "=" "BY" "=" "=" pseudo-text "=" "=" }+ "."

replace-statement = "REPLACE" "OFF" "."

Diagrams  Uses  Top  Help

service-label-statement = "SERVICE" "LABEL"

Diagrams  Uses  Top  Help

service-reload-statement = "SERVICE" "RELOADidentifier

Diagrams  Uses  Top  Help

skip123-statement = ( "SKIP1" | "SKIP2" | "SKIP3" ) [ "." ]

Diagrams  Uses  Top  Help

title-statement = "TITLE" literal [ "." ]

Diagrams  Uses  Top  Help

use-statement = "USE" [ "GLOBAL" ] "AFTER" [ "STANDARD" ] ( "EXCEPTION" | "ERROR" ) "PROCEDURE"
[ "ON" ] ( { file-name }+ | "INPUT" | "OUTPUT" | "I-O" | "EXTEND" )

use-statement = "USE" [ "GLOBAL" ] "AFTER" [ "STANDARD" ] [ ( "BEGINNING" | "ENDING" ) ] [ ( "FILE" | "REEL" | "UNIT" ) ]
"LABEL" "PROCEDURE" [ "ON" ] ( { file-name }+ | "INPUT" | "OUTPUT" | "I-O" | "EXTEND" )

use-statement = "USE" [ "FOR" ] "DEBUGGING" [ "ON" ] ( { procedure-name }+ | "ALL" "PROCEDURES" )

Diagrams  Uses  Top  Help

call-interface = ( ">>CALLINTERFACE" | ">>CALLINT" ) [ ( "SYSTEM" | "OPTLINK" | "FAR16" | "PASCAL16" | "CDECL" ) ] [ ( "DESC" | "DESCRIPTOR" | "NODESC" | "NODESCRIPTOR" ) ]

Diagrams  Uses  Top  Help


Lexical syntax

This version does not provide a lexical definition. Actually, part of the diagrams in the underlying document describe lexical syntax, e.g., comments. Thus, part of the lexical syntax is defined accidentally in the context-free grammar.


All sorts

[a] [b] [c] [d] [e] [f] [g] h [i] [j] k [l] [m] [n] [o] [p] q [r] [s] [t] [u] [v] [w] x y z 

abbreviated-combined-relation-conditions -
add-statement -
alphabet-name
alt-inx-file-name
alter-statement -
altered-go-to -
argument
arithmetic-expression
assign-clause -
assign-clause-alt_index assign-clause
assignment-name
basic-perform-statement -
basis-name basis-statement
basis-statement -
blank-when-zero-clause data-description-entry
call-interface -
call-statement -
call-statement-not_on_exception call-statement
call-statement-on_exception call-statement
cancel-statement -
cbl-process-statement -
character-string picture-clause
class-condition -
class-data-division-content cobol-class-definition-structure
class-environment-division-content cobol-class-definition-structure
class-name
close-statement -
cobol-class-definition-structure -
cobol-method-definition-structure -
cobol-program-structure -
cobol-program-structure-nested-source-program
cobol-source-program cobol-program-structure
combined-conditions -
comment assign-clause
comment-entry identification-division
compute-statement -
computer-name
condition
condition-name
condition-name-condition -
conditional-go-to -
configuration-section -
continue-statement -
control-cbl-statement -
copy-statement -
data-description-entry -
data-division-content
data-division-overview -
data-item-description-entry data-division-overview
data-name
data-transfer -
date-format-clause data-description-entry
date-pattern date-format-clause
delete-statement -
display-statement -
divide-statement -
eject-statement -
enter-statement -
entry-statement -
environment-division-content
environment-name
environment-variable-name assign-clause
evaluate-statement -
evaluate-statement-phrase-1 evaluate-statement
evaluate-statement-phrase-2 evaluate-statement
exit-method-statement -
exit-program-statement -
exit-statement -
exponent external-floating-point-items
expression evaluate-statement
external-class-name repository-paragraph
external-clause data-description-entry
external-floating-point-items -
file-control-paragraph input-output-section
file-control-paragraph-entry-1 file-control-paragraph
file-description-entry data-division-overview
file-description-entry-clause-1 file-description-entry
file-description-entry-clause-2 file-description-entry
file-name
file-system-id assign-clause
fixed-length-tables -
function-identifier -
function-name
global-clause data-description-entry
goback-statement -
i-o-control-paragraph input-output-section
i-o-control-paragraph-phrase-1 i-o-control-paragraph
identification-division -
identification-division-content
identifier
if-statement -
imperative-statement
index-name
initialize-statement -
input-output-section -
insert-statement -
inspect-statement -
inspect-statement-phrase-1 inspect-statement
integer
into-from-identifier-phrase -
intrinsic-function -
invoke-statement -
justified-clause data-description-entry
label assign-clause
language-name enter-statement
leftmost-character-position
length
level-number
level-numbers -
library-name
literal
mantissa-e external-floating-point-items
merge-statement -
method-data-division-content cobol-method-definition-structure
method-definition
method-environment-division-content cobol-method-definition-structure
method-name
method-procedure-division-content cobol-method-definition-structure
mnemonic-name
mode file-description-entry
more-labels-go-to -
move-statement -
multiply-statement -
name assign-clause
negated-simple-conditions -
object abbreviated-combined-relation-conditions
object-computer-paragraph configuration-section
object-computer-paragraph-entry-1 object-computer-paragraph
object-reference-data-items -
object-reference-id set-statement
object-reference-identifier object-reference-data-items
occurs-clause data-description-entry
open-statement -
operand
options-list cbl-process-statement
paragraph-name
perform-with-times-phrase -
perform-with-times-phrase-phrase-1 perform-with-times-phrase
perform-with-until-phrase -
perform-with-until-phrase-phrase-1 perform-with-until-phrase
perform-with-until-phrase-phrase-2 perform-with-until-phrase
perform-with-varying-phrase -
perform-with-varying-phrase-phrase-1 perform-with-varying-phrase
perform-with-varying-phrase-phrase-2 perform-with-varying-phrase
perform-with-varying-phrase-phrase-3 perform-with-varying-phrase-phrase-2
picture-clause data-description-entry
pointer-data-item set-statement
pointer-data-items -
priority-number
procedure-division-content
procedure-division-header procedure-division-structure
procedure-division-structure -
procedure-division-structure-para procedure-division-structure
procedure-division-structure-sect procedure-division-structure
procedure-name
procedure-pointer-data-item set-statement
procedure-pointer-data-items -
procedure-ptr call-statement
program-name
pseudo-text replace-statement
read-statement -
ready-or-reset-trace-statement -
record-clause -
record-description-entry data-division-overview
record-name
redefines-clause data-description-entry
reference-modification -
reference-modifier
references-to-copy-libraries -
references-to-procedure-division-names -
relation-condition abbreviated-combined-relation-conditions
relational-operator abbreviated-combined-relation-conditions
release-statement -
renames-clause data-description-entry
replace-statement -
repository-paragraph configuration-section
req external-floating-point-items
return-statement -
rewrite-statement -
routine-name enter-statement
search-statement -
section-name
sentence procedure-division-structure-para
sequence-number
sequence-number-field
service-label-statement -
service-reload-statement -
set-statement -
sign-clause data-description-entry
sign-condition -
simple-data-reference -
skip123-statement -
sort-statement -
source-computer-paragraph configuration-section
special-names-paragraph configuration-section
special-names-paragraph-entry-1 special-names-paragraph
special-names-paragraph-phrase-1 special-names-paragraph
special-names-paragraph-symbolic special-names-paragraph
specifying-a-function -
start-statement -
statement if-statement
stop-statement -
string-statement -
subscript
subscripting -
subtract-statement -
switch-status-condition -
symbolic-character special-names-paragraph-symbolic
synchronized-clause data-description-entry
system-file-name assign-clause
system-information-transfer -
system-name file-description-entry
text-name
the-procedure-division-header -
title-statement -
unconditional-go-to -
unstring-statement -
usage-clause data-description-entry
usage-clause-objref-phrase usage-clause
use-statement -
value-clause data-description-entry
variable-length-tables -
write-statement -
write-statement-invalid_key write-statement
write-statement-not_invalid_key write-statement
write-statement-phrase-1 write-statement


Top sorts


Bottom sorts

alphabet-name
alt-inx-file-name
argument
arithmetic-expression
assignment-name
basis-name basis-statement
character-string picture-clause
class-data-division-content cobol-class-definition-structure
class-environment-division-content cobol-class-definition-structure
class-name
cobol-source-program cobol-program-structure
comment assign-clause
comment-entry identification-division
computer-name
condition
data-division-content
data-item-description-entry data-division-overview
data-name
date-pattern date-format-clause
environment-division-content
environment-name
environment-variable-name assign-clause
exponent external-floating-point-items
expression evaluate-statement
external-class-name repository-paragraph
external-clause data-description-entry
file-name
file-system-id assign-clause
function-name
global-clause data-description-entry
identification-division-content
imperative-statement
index-name
integer
label assign-clause
language-name enter-statement
leftmost-character-position
length
level-number
library-name
literal
mantissa-e external-floating-point-items
method-data-division-content cobol-method-definition-structure
method-definition
method-environment-division-content cobol-method-definition-structure
method-name
method-procedure-division-content cobol-method-definition-structure
mnemonic-name
mode file-description-entry
name assign-clause
object abbreviated-combined-relation-conditions
object-reference-id set-statement
object-reference-identifier object-reference-data-items
occurs-clause data-description-entry
operand
options-list cbl-process-statement
paragraph-name
pointer-data-item set-statement
priority-number
procedure-division-content
procedure-division-header procedure-division-structure
procedure-name
procedure-pointer-data-item set-statement
procedure-ptr call-statement
program-name
pseudo-text replace-statement
record-description-entry data-division-overview
record-name
reference-modifier
relational-operator abbreviated-combined-relation-conditions
req external-floating-point-items
routine-name enter-statement
section-name
sentence procedure-division-structure-para
sequence-number
sequence-number-field
statement if-statement
subscript
symbolic-character special-names-paragraph-symbolic
system-file-name assign-clause
system-name file-description-entry
text-name


Keywords

[A] [B] [C] [D] [E] [F] [G] H [I] [J] [K] [L] [M] [N] [O] [P] Q [R] [S] [T] [U] [V] [W] X [Y] [Z] 

(
)
*CBL control-cbl-statement
*CONTROL control-cbl-statement
+
,
-
.
66
88
:
<
=
>
>=
>>CALLINT call-interface
>>CALLINTERFACE call-interface
ACCEPT
ACCESS file-control-paragraph
ACOS intrinsic-function
ADD add-statement
ADDRESS
ADVANCING
AFTER
ALL
ALPHABET special-names-paragraph
ALPHABETIC
ALPHABETIC-LOWER class-condition
ALPHABETIC-UPPER class-condition
ALPHANUMERIC initialize-statement
ALPHANUMERIC-EDITED initialize-statement
ALSO
ALTER alter-statement
ALTERNATE file-control-paragraph-entry-1
AND
ANNUITY intrinsic-function
ANY
APPLY i-o-control-paragraph
ARE
AREA
AREAS file-control-paragraph
AS assign-clause
ASCENDING
ASIN intrinsic-function
ASSIGN file-control-paragraph
AT
ATAN intrinsic-function
AUTHOR identification-division
AUTOMATIC file-control-paragraph
BASIS basis-statement
BEFORE
BEGINNING use-statement
BINARY usage-clause
BLANK blank-when-zero-clause
BLOCK file-description-entry
BOTTOM file-description-entry-clause-2
BY
CALL call-statement
CANCEL cancel-statement
CBL cbl-process-statement
CDECL call-interface
CHAR intrinsic-function
CHARACTER
CHARACTERS
CLASS
CLASS-ID
CLOSE close-statement
CODE-SET file-description-entry
COLLATING
COMMA special-names-paragraph
COMMON
COMP usage-clause
COMP-1 usage-clause
COMP-2 usage-clause
COMP-3 usage-clause
COMP-4 usage-clause
COMP-5 usage-clause
COMPUTATIONAL usage-clause
COMPUTATIONAL-1 usage-clause
COMPUTATIONAL-2 usage-clause
COMPUTATIONAL-3 usage-clause
COMPUTATIONAL-4 usage-clause
COMPUTATIONAL-5 usage-clause
COMPUTE compute-statement
CONFIGURATION configuration-section
CONTAINS
CONTENT
CONTINUE continue-statement
CONVERTING inspect-statement
COPY copy-statement
CORR
CORRESPONDING
COS intrinsic-function
COUNT unstring-statement
CURRENCY special-names-paragraph
CURRENT-DATE intrinsic-function
DATA
DATE
DATE-COMPILED identification-division
DATE-OF-INTEGER intrinsic-function
DATE-TO-YYYYMMDD intrinsic-function
DATE-WRITTEN identification-division
DATEVAL intrinsic-function
DAY system-information-transfer
DAY-OF-INTEGER intrinsic-function
DAY-OF-WEEK system-information-transfer
DAY-TO-YYYYDDD intrinsic-function
DBCS
DEBUGGING
DECIMAL-POINT special-names-paragraph
DECLARATIVES procedure-division-structure
DELETE delete-statement
DELIMITED
DELIMITER
DEPENDING
DESC call-interface
DESCENDING
DESCRIPTOR call-interface
DISPLAY
DISPLAY-1 usage-clause
DIVIDE divide-statement
DIVISION
DOWN set-statement
DUPLICATES
DYNAMIC file-control-paragraph
EBCDIC special-names-paragraph
EGCS initialize-statement
EJECT eject-statement
ELSE if-statement
END
END-ADD add-statement
END-CALL call-statement
END-COMPUTE compute-statement
END-DELETE delete-statement
END-DIVIDE divide-statement
END-EVALUATE evaluate-statement
END-IF if-statement
END-INVOKE invoke-statement
END-MULTIPLY multiply-statement
END-OF-PAGE write-statement-phrase-1
END-PERFORM
END-READ read-statement
END-RETURN return-statement
END-REWRITE rewrite-statement
END-SEARCH search-statement
END-START start-statement
END-STRING string-statement
END-SUBTRACT subtract-statement
END-UNSTRING unstring-statement
END-WRITE write-statement
ENDING use-statement
ENTER enter-statement
ENTRY
ENVIRONMENT
EOP write-statement-phrase-1
EQUAL
ERROR
EVALUATE evaluate-statement
EVERY i-o-control-paragraph
EXCEPTION
EXIT
EXTEND
EXTERNAL file-description-entry
FACTORIAL intrinsic-function
FALSE
FAR16 call-interface
FD file-description-entry
FILE
FILE-CONTROL input-output-section
FILLER
FIRST inspect-statement
FOOTING file-description-entry-clause-2
FOR
FORMAT date-format-clause
FROM
FUNCTION
GIVING
GLOBAL
GO
GOBACK goback-statement
GREATER
I-O
I-O-CONTROL input-output-section
ID
IDENTIFICATION
IF if-statement
IN
INDEX usage-clause
INDEXED
INHERITS identification-division
INITIAL
INITIALIZE initialize-statement
INPUT
INPUT-OUTPUT input-output-section
INSERT insert-statement
INSPECT inspect-statement
INSTALLATION identification-division
INTEGER intrinsic-function
INTEGER-OF-DATE intrinsic-function
INTEGER-OF-DAY intrinsic-function
INTEGER-PART intrinsic-function
INTO
INVALID
INVOKE invoke-statement
IS
JUST justified-clause
JUSTIFIED justified-clause
KANJI class-condition
KEY
LABEL
LEADING
LEFT synchronized-clause
LENGTH
LESS
LINAGE file-description-entry
LINAGE-COUNTER identifier
LINE
LINES
LINKAGE data-division-overview
LIST control-cbl-statement
LOCAL-STORAGE data-division-overview
LOCK
LOG intrinsic-function
LOG10 intrinsic-function
LOWER-CASE intrinsic-function
MAP control-cbl-statement
MAX intrinsic-function
MEAN intrinsic-function
MEDIAN intrinsic-function
MEMORY object-computer-paragraph
MERGE merge-statement
METACLASS
METHOD
METHOD-ID identification-division
MIDRANGE intrinsic-function
MIN intrinsic-function
MOD intrinsic-function
MODE
MODULES object-computer-paragraph
MORE-LABELS more-labels-go-to
MOVE move-statement
MULTIPLE i-o-control-paragraph
MULTIPLY multiply-statement
NATIVE
NEGATIVE sign-condition
NEXT
NEXT-SENTENCE search-statement
NO
NODESC call-interface
NODESCRIPTOR call-interface
NOLIST control-cbl-statement
NOMAP control-cbl-statement
NOSOURCE control-cbl-statement
NOT
NULL
NULLS
NUMERIC
NUMERIC-EDITED initialize-statement
NUMVAL intrinsic-function
NUMVAL-C intrinsic-function
OBJECT usage-clause-objref-phrase
OBJECT-COMPUTER object-computer-paragraph
OCCURS
OF
OFF
OMITTED
ON
OPEN open-statement
OPTIONAL file-control-paragraph
OPTLINK call-interface
OR
ORD intrinsic-function
ORD-MAX intrinsic-function
ORD-MIN intrinsic-function
ORDER sort-statement
ORGANIZATION file-control-paragraph
OTHER evaluate-statement
OUTPUT
OVERFLOW
OVERRIDE identification-division
PACKED-DECIMAL usage-clause
PADDING file-control-paragraph
PAGE write-statement
PASCAL16 call-interface
PASSWORD
PERFORM
PIC picture-clause
PICTURE
POINTER
POSITION i-o-control-paragraph
POSITIVE sign-condition
PRESENT-VALUE intrinsic-function
PREVIOUS read-statement
PROCEDURE
PROCEDURE-POINTER usage-clause
PROCEDURES use-statement
PROCEED alter-statement
PROCESS cbl-process-statement
PROGRAM
PROGRAM-ID
RANDOM
RANGE intrinsic-function
READ
READY ready-or-reset-trace-statement
RECORD
RECORDING file-description-entry
RECORDS
RECURSIVE
REDEFINES redefines-clause
REEL
REFERENCE
RELATIVE file-control-paragraph
RELEASE
RELOAD service-reload-statement
REM intrinsic-function
REMAINDER divide-statement
REMOVAL close-statement
RENAMES renames-clause
REPLACE replace-statement
REPLACING
REPOSITORY repository-paragraph
RERUN i-o-control-paragraph
RESERVE file-control-paragraph
RESET ready-or-reset-trace-statement
RETURN
RETURNING
REVERSE intrinsic-function
REVERSED open-statement
REWIND
REWRITE
RIGHT
ROUNDED
RUN stop-statement
S assign-clause
SAME i-o-control-paragraph
SD file-description-entry
SEARCH search-statement
SECTION
SECURITY identification-division
SELECT file-control-paragraph
SELF
SENTENCE
SEPARATE sign-clause
SEQUENCE
SEQUENTIAL file-control-paragraph
SERVICE
SET set-statement
SIGN
SIN intrinsic-function
SIZE
SKIP1 skip123-statement
SKIP2 skip123-statement
SKIP3 skip123-statement
SORT
SORT-MERGE i-o-control-paragraph
SOURCE control-cbl-statement
SOURCE-COMPUTER source-computer-paragraph
SPECIAL-NAMES special-names-paragraph
SQRT intrinsic-function
STANDARD
STANDARD-1
STANDARD-2 special-names-paragraph
STANDARD-DEVIATION intrinsic-function
START start-statement
STATUS
STOP stop-statement
STRING string-statement
SUBTRACT subtract-statement
SUM intrinsic-function
SUPER invoke-statement
SUPPRESS copy-statement
SYMBOL special-names-paragraph
SYMBOLIC special-names-paragraph
SYNC synchronized-clause
SYNCHRONIZED synchronized-clause
SYSTEM call-interface
TALLYING
TAN intrinsic-function
TAPE i-o-control-paragraph
TEST
THAN
THEN if-statement
THROUGH
THRU
TIME system-information-transfer
TIMES
TITLE title-statement
TO
TOP file-description-entry-clause-2
TRACE ready-or-reset-trace-statement
TRAILING sign-clause
TRUE
UNDATE intrinsic-function
UNIT
UNSTRING unstring-statement
UNTIL
UP set-statement
UPON display-statement
UPPER-CASE intrinsic-function
USAGE usage-clause
USE
USING
VALUE
VALUES value-clause
VARIANCE intrinsic-function
VARYING
WHEN
WHEN-COMPILED intrinsic-function
WITH
WORDS object-computer-paragraph
WORKING-STORAGE data-division-overview
WRITE
WRITE-ONLY i-o-control-paragraph
YEAR-TO-YYYY intrinsic-function
YEARWINDOW intrinsic-function
YYYYDDD system-information-transfer
YYYYMMDD system-information-transfer
ZERO
ZEROES blank-when-zero-clause
ZEROS blank-when-zero-clause


Diagrams


references-to-copy-libraries

 _________________________________________________ 
|                                                 |
| >>__text-name________________________________>< |
|                |_____IN_____library-name__|     |
|                   |__OF__|                      |
|_________________________________________________|

EBNF    Uses    Top    Help

references-to-procedure-division-names

 ______________________________________________________ 
|                                                      |
| >>__paragraph-name________________________________>< |
|                     |_____IN_____section-name__|     |
|                        |__OF__|                      |
|______________________________________________________|

 ______________________ 
|                      |
| >>__section-name__>< |
|______________________|

EBNF    Uses    Top    Help

simple-data-reference

 ___________________ 
|                   |
| >>__data-name__>< |
|___________________|

EBNF    Uses    Top    Help

identifier

 __________________________________________________________________ 
|                                                                  |
| >>__data-name__________________________________________________> |
|                |  <______________________   |                    |
|                |_______IN_____data-name__|__|                    |
|                     |__OF__|                                     |
| >______________________________________________________________> |
|     |_____IN_____file-name__|  |  <__________________   |        |
|        |__OF__|                |____(__subscript__)__|__|        |
| >_____________________________________________________________>< |
|     |__(__leftmost-character-position__:________________)__|     |
|                                           |__length__|           |
|__________________________________________________________________|

 ______________________________________________________________ 
|                                                              |
| >>_____condition-name______________________________________> |
|     |__data-name_______|  |  <______________________   |     |
|                           |_______IN_____data-name__|__|     |
|                                |__OF__|                      |
| >_________________________________________________________>< |
|     |_____IN_____file-name__|                                |
|        |__OF__|                                              |
|______________________________________________________________|

 ___________________________________________________ 
|                                                   |
| >>__LINAGE-COUNTER_____________________________>< |
|                     |_____IN_____file-name__|     |
|                        |__OF__|                   |
|___________________________________________________|

EBNF    Uses    Top    Help

condition-name

 _______________________________________________________________ 
|                                                               |
| >>__condition-name__________________________________________> |
|                     |  <______________________   |            |
|                     |_______IN_____data-name__|__|            |
|                          |__OF__|                             |
| >__________________________________________________________>< |
|     |_____IN_____file-name__|  |     <____________      |     |
|        |__OF__|                |__(____subscript__|__)__|     |
|_______________________________________________________________|

 ____________________________________________________________ 
|                                                            |
| >>__condition-name______________________________________>< |
|                     |  <__________________________   |     |
|                     |_______IN_____mnemonic-name__|__|     |
|                          |__OF__|                          |
|____________________________________________________________|

EBNF    Uses    Top    Help

subscripting

 ______________________________________________________________ 
|                                                              |
| >>_____condition-name______________________________________> |
|     |__data-name_______|  |  <______________________   |     |
|                           |_______IN_____data-name__|__|     |
|                                |__OF__|                      |
| >__________________________________________________________> |
|     |_____IN_____file-name__|                                |
|        |__OF__|                                              |
|        <___________________________________________          |
| >___(_______integer________________________________|__)___>< |
|          |__ALL_________________________________|            |
|          |__data-name___________________________|            |
|          |             |_____+_____integer__|   |            |
|          |                |__-__|               |            |
|          |__index-name__________________________|            |
|                         |_____+_____integer__|               |
|                            |__-__|                           |
|______________________________________________________________|

EBNF    Uses    Top    Help

reference-modification

 __________________________________________________________________ 
|                                                                  |
| >>_____data-name_______________________________________________> |
|     |__FUNCTION__function-name_____________________________|     |
|                                 |     <___________      |        |
|                                 |__(____argument__|__)__|        |
| >___(__leftmost-character-position__:________________)________>< |
|                                        |__length__|              |
|__________________________________________________________________|

EBNF    Uses    Top    Help

function-identifier

 ____________________________________________________________ 
|                                                            |
| >>__FUNCTION__function-name______________________________> |
|                              |     <___________      |     |
|                              |__(____argument__|__)__|     |
| >_______________________________________________________>< |
|     |__reference-modifier__|                               |
|____________________________________________________________|

EBNF    Uses    Top    Help

cobol-program-structure

 _______________________________________________________________________________________________________ 
|                                                                                                       |
| >>_____IDENTIFICATION_____DIVISION__.__PROGRAM-ID__.__program-name__________________________________> |
|     |__ID______________|                                                                              |
| >___________________________________________________._______________________________________________> |
|     |_______________RECURSIVE____________________|                                                    |
|        |__IS__|  |__INITIAL____|  |__PROGRAM__|                                                       |
| >___________________________________________________________________________________________________> |
|     |__identification-division-content__|                                                             |
| >___________________________________________________________________________________________________> |
|     |__ENVIRONMENT__DIVISION__.__environment-division-content__|                                      |
| >___________________________________________________________________________________________________> |
|     |__DATA__DIVISION__.__data-division-content__|                                                    |
| >___________________________________________________________________________________________________> |
|     |__PROCEDURE__DIVISION__.__procedure-division-content__|                                          |
| >__________________________________________________________________________________________________>< |
|     |____________________________________________________________END__PROGRAM__program-name__.__|     |
|        |  <________________________________________________   |                                       |
|        |____cobol-program-structure-nested-source-program__|__|                                       |
|_______________________________________________________________________________________________________|

 ___________________________________ 
|                                   |
|     <_______________________      |
| >>____cobol-source-program__|__>< |
|___________________________________|

EBNF    Uses    Top    Help

cobol-program-structure-nested-source-program

 _________________________________________________________________________________________________ 
|                                                                                                 |
| >>_____IDENTIFICATION_____DIVISION__.__PROGRAM-ID__.__program-name____________________________> |
|     |__ID______________|                                                                        |
| >_______________________________________________________________._____________________________> |
|     |_______________COMMON___________________________________|                                  |
|        |__IS__|  |          |__INITIAL__|  |  |__PROGRAM__|                                     |
|                  |__INITIAL________________|                                                    |
|                              |__COMMON__|                                                       |
| >_____________________________________________________________________________________________> |
|     |__identification-division-content__|                                                       |
| >_____________________________________________________________________________________________> |
|     |__ENVIRONMENT__DIVISION__.__environment-division-content__|                                |
| >_____________________________________________________________________________________________> |
|     |__DATA__DIVISION__.__data-division-content__|                                              |
| >_____________________________________________________________________________________________> |
|     |__PROCEDURE__DIVISION__.__procedure-division-content__|                                    |
| >_____________________________________________________________END__PROGRAM__program-name__.__>< |
|     |  <________________________________________________   |                                    |
|     |____cobol-program-structure-nested-source-program__|__|                                    |
|_________________________________________________________________________________________________|

EBNF    Uses    Top    Help

cobol-class-definition-structure

 _______________________________________________________________________ 
|                                                                       |
| >>_____IDENTIFICATION__DIVISION__._____CLASS-ID__.__class-name__.___> |
|     |__ID__DIVISION__.______________|                                 |
| >___________________________________________________________________> |
|     |__identification-division-content__|                             |
| >___ENVIRONMENT__DIVISION__.__class-environment-division-content____> |
| >___________________________________________________________________> |
|     |__DATA__DIVISION__.__class-data-division-content__|              |
| >___________________________________________________________________> |
|     |__PROCEDURE__DIVISION__.________________________________|        |
|                                |  <____________________   |           |
|                                |____method-definition__|__|           |
| >___END__CLASS__class-name__.______________________________________>< |
|_______________________________________________________________________|

EBNF    Uses    Top    Help

cobol-method-definition-structure

 _____________________________________________________________________________ 
|                                                                             |
| >>_____IDENTIFICATION__DIVISION__.________________________________________> |
|     |__ID__DIVISION__.______________|                                       |
| >_________________________________________________________________________> |
|     |__identification-division-content__|                                   |
| >_________________________________________________________________________> |
|     |__ENVIRONMENT__DIVISION__.__method-environment-division-content__|     |
| >_________________________________________________________________________> |
|     |__DATA__DIVISION__.__method-data-division-content__|                   |
| >_________________________________________________________________________> |
|     |__PROCEDURE__DIVISION__.__method-procedure-division-content__|         |
| >___END__METHOD__method-name__.__________________________________________>< |
|_____________________________________________________________________________|

EBNF    Uses    Top    Help

identification-division

 ________________________________________________________________________ 
|                                                                        |
| >>_____IDENTIFICATION_____DIVISION__.__PROGRAM-ID__.__program-name___> |
|     |__ID______________|                                               |
| >_______________________________________________________________.____> |
|     |_______________RECURSIVE________________________________|         |
|        |__IS__|  |__COMMON_________________|  |__PROGRAM__|            |
|                  |          |__INITIAL__|  |                           |
|                  |__INITIAL________________|                           |
|                              |__COMMON__|                              |
| >____________________________________________________________________> |
|     |__AUTHOR__.____________________________|                          |
|                   |  <________________   |                             |
|                   |____comment-entry__|__|                             |
| >____________________________________________________________________> |
|     |__INSTALLATION__.____________________________|                    |
|                         |  <________________   |                       |
|                         |____comment-entry__|__|                       |
| >____________________________________________________________________> |
|     |__DATE-WRITTEN__.____________________________|                    |
|                         |  <________________   |                       |
|                         |____comment-entry__|__|                       |
| >____________________________________________________________________> |
|     |__DATE-COMPILED__.____________________________|                   |
|                          |  <________________   |                      |
|                          |____comment-entry__|__|                      |
| >___________________________________________________________________>< |
|     |__SECURITY__.____________________________|                        |
|                     |  <________________   |                           |
|                     |____comment-entry__|__|                           |
|________________________________________________________________________|

 _____________________________________________________________________________ 
|                                                                             |
| >>_____IDENTIFICATION__DIVISION_____CLASS-ID__.__class-name_______________> |
|     |__ID__DIVISION______________|                                          |
|               <_____________                                                |
| >___INHERITS____class-name__|_________________________________________.___> |
|                                |__METACLASS____________class-name__|        |
|                                              |__IS__|                       |
| >_________________________________________________________________________> |
|     |__AUTHOR__.____________________________|                               |
|                   |  <________________   |                                  |
|                   |____comment-entry__|__|                                  |
| >_________________________________________________________________________> |
|     |__INSTALLATION__.____________________________|                         |
|                         |  <________________   |                            |
|                         |____comment-entry__|__|                            |
| >_________________________________________________________________________> |
|     |__DATE-WRITTEN__.____________________________|                         |
|                         |  <________________   |                            |
|                         |____comment-entry__|__|                            |
| >_________________________________________________________________________> |
|     |__DATE-COMPILED__.____________________________|                        |
|                          |  <________________   |                           |
|                          |____comment-entry__|__|                           |
| >________________________________________________________________________>< |
|     |__SECURITY__.____________________________|                             |
|                     |  <________________   |                                |
|                     |____comment-entry__|__|                                |
|_____________________________________________________________________________|

 ______________________________________________________________________________ 
|                                                                              |
| >>_____IDENTIFICATION__DIVISION____________________________________________> |
|     |__ID__DIVISION______________|                                           |
| >___METHOD-ID__.__method-name__________________________________________.___> |
|                                |__________________________OVERRIDE__|        |
|                                   |__IS__|  |__METHOD__|                     |
| >__________________________________________________________________________> |
|     |__AUTHOR__.____________________________|                                |
|                   |  <________________   |                                   |
|                   |____comment-entry__|__|                                   |
| >__________________________________________________________________________> |
|     |__INSTALLATION__.____________________________|                          |
|                         |  <________________   |                             |
|                         |____comment-entry__|__|                             |
| >__________________________________________________________________________> |
|     |__DATE-WRITTEN__.____________________________|                          |
|                         |  <________________   |                             |
|                         |____comment-entry__|__|                             |
| >__________________________________________________________________________> |
|     |__DATE-COMPILED__.____________________________|                         |
|                          |  <________________   |                            |
|                          |____comment-entry__|__|                            |
| >_________________________________________________________________________>< |
|     |__SECURITY__.____________________________|                              |
|                     |  <________________   |                                 |
|                     |____comment-entry__|__|                                 |
|______________________________________________________________________________|

EBNF    Uses    Top    Help

configuration-section

 ________________________________________________________________________ 
|                                                                        |
| >>__CONFIGURATION__SECTION__.________________________________________> |
|                                |__source-computer-paragraph__|         |
| >____________________________________________________________________> |
|     |__object-computer-paragraph__|  |__special-names-paragraph__|     |
| >___________________________________________________________________>< |
|     |__repository-paragraph__|                                         |
|________________________________________________________________________|

EBNF    Uses    Top    Help

source-computer-paragraph

 ___________________________________________________________________ 
|                                                                   |
| >>__SOURCE-COMPUTER__.__________________________________________> |
| >______________________________________________________________>< |
|     |__computer-name_____________________________________.__|     |
|                       |______________DEBUGGING__MODE__|           |
|                          |__WITH__|                               |
|___________________________________________________________________|

EBNF    Uses    Top    Help

object-computer-paragraph

 ________________________________________________________________________________________________________________________ 
|                                                                                                                        |
| >>__OBJECT-COMPUTER__._______________________________________________________________________________________________> |
| >___________________________________________________________________________________________________________________>< |
|     |__computer-name_______________________________________________________object-computer-paragraph-entry-1__.__|     |
|                       |__MEMORY______________integer_____WORDS__________|                                              |
|                                  |__SIZE__|           |__CHARACTERS__|                                                 |
|                                                       |__MODULES_____|                                                 |
|________________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

object-computer-paragraph-entry-1

 _________________________________________________________________________________ 
|                                                                                 |
| >>___________________________________________________________________________>< |
|     |__________________________________SEQUENCE____________alphabet-name__|     |
|        |__PROGRAM__|  |__COLLATING__|            |__IS__|                       |
|_________________________________________________________________________________|

EBNF    Uses    Top    Help

special-names-paragraph

 ___________________________________________________________________________________________________________________________________ 
|                                                                                                                                   |
| >>__SPECIAL-NAMES__.____________________________________________________________________________________________________________> |
|                       |  <_______________________________________________________________________________________________   |     |
|                       |_______environment-name____________mnemonic-name__________________________________________________|__|     |
|                            |                    |__IS__|                                                              |           |
|                            |__environment-name_______________mnemonic-name____________________________________________|           |
|                                                 |  |__IS__|                 |__special-names-paragraph-entry-1__|  |              |
|                                                 |__special-names-paragraph-entry-1_________________________________|              |
| >_______________________________________________________________________________________________________________________________> |
|     |  <__________________________________________________________________________________________   |                            |
|     |____ALPHABET__alphabet-name_______________STANDARD-1_________________________________________|__|                            |
|                                   |__IS__|  |__STANDARD-2______________________________________|                                  |
|                                             |__NATIVE__________________________________________|                                  |
|                                             |__EBCDIC__________________________________________|                                  |
|                                             |  <____________________________________________   |                                  |
|                                             |____literal__special-names-paragraph-phrase-1__|__|                                  |
| >_______________________________________________________________________________________________________________________________> |
|     |  <________________________________________________________________________________________   |                              |
|     |____SYMBOLIC____________________special-names-paragraph-symbolic___________________________|__|                              |
|                    |__CHARACTERS__|                                    |__IN__alphabet-name__|                                    |
| >_______________________________________________________________________________________________________________________________> |
|     |  <__________________________________________________________________________   |                                            |
|     |                                 <________________________________________   |  |                                            |
|     |____CLASS__class-name______________literal________________________________|__|__|                                            |
|                             |__IS__|             |_____THROUGH_____literal__|                                                     |
|                                                     |__THRU_____|                                                                 |
| >_______________________________________________________________________________________________________________________________> |
|     |__CURRENCY________________________literal______________________________________________|                                     |
|                  |__SIGN__|  |__IS__|           |______________PICTURE__SYMBOL__literal__|                                        |
|                                                    |__WITH__|                                                                     |
| >______________________________________________________________________________________________________________________________>< |
|     |__DECIMAL-POINT____________COMMA__|  |__.__|                                                                                 |
|                       |__IS__|                                                                                                    |
|___________________________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

special-names-paragraph-entry-1

 ___________________________________________________________________________________________________ 
|                                                                                                   |
| >>_____ON__________________________condition___________________________________________________>< |
|     |      |__STATUS__|  |__IS__|             |__OFF__________________________condition__|  |     |
|     |                                                 |__STATUS__|  |__IS__|                |     |
|     |__OFF__________________________condition_______________________________________________|     |
|             |__STATUS__|  |__IS__|             |__ON__________________________condition__|        |
|                                                       |__STATUS__|  |__IS__|                      |
|___________________________________________________________________________________________________|

EBNF    Uses    Top    Help

special-names-paragraph-phrase-1

 ____________________________________________ 
|                                            |
| >>______________________________________>< |
|     |________THROUGH_____literal_____|     |
|        |  |__THRU_____|           |        |
|        |  <________________       |        |
|        |____ALSO__literal__|______|        |
|____________________________________________|

EBNF    Uses    Top    Help

special-names-paragraph-symbolic

 _______________________________________________________________ 
|                                                               |
|     <___________________________________________________      |
|       <_____________________              <__________   |     |
| >>______symbolic-character__|_____ARE_______integer__|__|__>< |
|                                |__IS___|                      |
|_______________________________________________________________|

EBNF    Uses    Top    Help

repository-paragraph

 _____________________________________________________________________________________ 
|                                                                                     |
| >>__REPOSITORY__._________________________________________________________________> |
|                    |__CLASS__class-name_______________________________________|     |
|                                          |____________external-class-name__|        |
|                                             |__IS__|                                |
| >___.____________________________________________________________________________>< |
|_____________________________________________________________________________________|

EBNF    Uses    Top    Help

input-output-section

 ___________________________________________________________________ 
|                                                                   |
| >>__INPUT-OUTPUT__SECTION__.__FILE-CONTROL__.___________________> |
|     <_________________________                                    |
| >_____file-control-paragraph__|_________________________________> |
| >______________________________________________________________>< |
|     |__I-O-CONTROL__._______________________________________|     |
|                        |  <________________________      |        |
|                        |____i-o-control-paragraph__|__.__|        |
|___________________________________________________________________|

EBNF    Uses    Top    Help

file-control-paragraph

 ___________________________________________________________________________________________________ 
|                                                                                                   |
|                                                             <__________________                   |
| >>__SELECT__________________file-name__ASSIGN_________________assignment-name__|________________> |
|             |__OPTIONAL__|                     |  |__TO__|                        |               |
|                                                |__USING__data-name________________|               |
|                                                                                                   |
| >_______________________________________________________________________________________________> |
|     |__RESERVE__integer_____________________|  |________________________________SEQUENTIAL__|     |
|                          |_____AREA______|        |__ORGANIZATION____________|                    |
|                             |__AREAS__|                            |__IS__|                       |
| >_______________________________________________________________________________________________> |
|     |__PADDING________________________________data-name_____|                                     |
|                 |__CHARACTER__|  |__IS__|  |__literal____|                                        |
| >_______________________________________________________________________________________________> |
|     |__RECORD__DELIMITER_______________STANDARD-1__________|                                      |
|                           |__IS__|  |__assignment-name__|                                         |
| >_______________________________________________________________________________________________> |
|     |__ACCESS________________________SEQUENTIAL__|                                                |
|                |__MODE__|  |__IS__|                                                               |
| >_______________________________________________________________________________________________> |
|     |__LOCK________________________AUTOMATIC______________________________________|               |
|              |__MODE__|  |__IS__|             |______________LOCK__ON__RECORD__|                  |
|                                                  |__WITH__|                                       |
| >_______________________________________________________________________________________________> |
|     |__PASSWORD____________data-name__|                                                           |
|                  |__IS__|                                                                         |
| >___________________________________________________________________.__________________________>< |
|     |______________STATUS____________data-name___________________|                                |
|        |__FILE__|          |__IS__|             |__data-name__|                                   |
|___________________________________________________________________________________________________|

 ___________________________________________________________________________ 
|                                                                           |
| >>__SELECT__________________file-name___________________________________> |
|             |__OPTIONAL__|                                                |
|                          <__________________                              |
| >___ASSIGN_________________assignment-name__|___________________________> |
|             |  |__TO__|                        |                          |
|             |__USING__data-name________________|                          |
|                                                                           |
| >_________________________________LINE__SEQUENTIAL______________________> |
|     |__ORGANIZATION____________|                                          |
|                      |__IS__|                                             |
| >_______________________________________________________________________> |
|     |__ACCESS________________________SEQUENTIAL__|                        |
|                |__MODE__|  |__IS__|                                       |
| >___________________________________________________________________.__>< |
|     |______________STATUS____________data-name___________________|        |
|        |__FILE__|          |__IS__|             |__data-name__|           |
|___________________________________________________________________________|

 ______________________________________________________________________________________________________________ 
|                                                                                                              |
|                                                             <__________________                              |
| >>__SELECT__________________file-name__ASSIGN_________________assignment-name__|___________________________> |
|             |__OPTIONAL__|                     |  |__TO__|                        |                          |
|                                                |__USING__data-name________________|                          |
|                                                                                                              |
| >____________________________________________________________________________RELATIVE______________________> |
|     |__RESERVE__integer_____________________|  |__ORGANIZATION____________|                                  |
|                          |_____AREA______|                      |__IS__|                                     |
|                             |__AREAS__|                                                                      |
| >__________________________________________________________________________________________________________> |
|     |__ACCESS___________________________SEQUENTIAL_____________________________________________________|     |
|                |__MODE__|  |__IS__|  |              |__RELATIVE_______________________data-name__|  |        |
|                                      |                           |__KEY__|  |__IS__|                |        |
|                                      |_____RANDOM______RELATIVE_______________________data-name_____|        |
|                                         |__DYNAMIC__|            |__KEY__|  |__IS__|                         |
| >__________________________________________________________________________________________________________> |
|     |__LOCK________________________AUTOMATIC______________________________________|                          |
|              |__MODE__|  |__IS__|             |______________LOCK__ON__RECORD__|                             |
|                                                  |__WITH__|                                                  |
| >__________________________________________________________________________________________________________> |
|     |__PASSWORD____________data-name__|                                                                      |
|                  |__IS__|                                                                                    |
| >___________________________________________________________________._____________________________________>< |
|     |______________STATUS____________data-name___________________|                                           |
|        |__FILE__|          |__IS__|             |__data-name__|                                              |
|______________________________________________________________________________________________________________|

 ______________________________________________________________________________________________________________________ 
|                                                                                                                      |
|                                                             <__________________                                      |
| >>__SELECT__________________file-name__ASSIGN_________________assignment-name__|___________________________________> |
|             |__OPTIONAL__|                     |  |__TO__|                        |                                  |
|                                                |__USING__data-name________________|                                  |
|                                                                                                                      |
| >____________________________________________________________________________INDEXED_______________________________> |
|     |__RESERVE__integer_____________________|  |__ORGANIZATION____________|                                          |
|                          |_____AREA______|                      |__IS__|                                             |
|                             |__AREAS__|                                                                              |
| >__________________________________________________________________________________________________________________> |
|     |__ACCESS___________________________SEQUENTIAL_____|                                                             |
|                |__MODE__|  |__IS__|  |__RANDOM______|                                                                |
|                                      |__DYNAMIC_____|                                                                |
| >__________________________________________________________________________________________________________________> |
|     |__LOCK________________________AUTOMATIC______________________________________|                                  |
|              |__MODE__|  |__IS__|             |______________LOCK__ON__RECORD__|                                     |
|                                                  |__WITH__|                                                          |
| >___RECORD_______________________data-name_________________________________________________________________________> |
|             |__KEY__|  |__IS__|             |__PASSWORD____________data-name__|                                      |
|                                                          |__IS__|                                                    |
| >______________________________________________________________________________________________________________.__>< |
|     |  <_________________________________   |  |______________STATUS____________data-name___________________|        |
|     |____file-control-paragraph-entry-1__|__|     |__FILE__|          |__IS__|             |__data-name__|           |
|______________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

file-control-paragraph-entry-1

 _________________________________________________________________________________________ 
|                                                                                         |
| >>__ALTERNATE__RECORD_______________________data-name_________________________________> |
|                        |__KEY__|  |__IS__|             |______________DUPLICATES__|     |
|                                                           |__WITH__|                    |
| >____________________________________________________________________________________>< |
|     |__PASSWORD____________data-name__|                                                 |
|                  |__IS__|                                                               |
|_________________________________________________________________________________________|

EBNF    Uses    Top    Help

assign-clause

 __________________________________________ 
|                                          |
| >>______________________________name__>< |
|     |__label__-__|  |__S__-__|           |
|__________________________________________|

 ______________________________________________________________________________ 
|                                                                              |
| >>___________________________system-file-name______________________________> |
|     |__file-system-id__-__|                                                  |
| >_________________________________________________________________________>< |
|     |__(__alt-inx-file-name_________________________________________)__|     |
|                              |  <_____________________________   |           |
|                              |____,___________________________|__|           |
|                                      |__alt-inx-file-name__|                 |
|______________________________________________________________________________|

 _____________________________________ 
|                                     |
| >>__________________AS__-__name__>< |
|     |__label__-__|                  |
|_____________________________________|

 ______________________________ 
|                              |
| >>__________________name__>< |
|     |__label__-__|           |
|______________________________|

 _______________________________________________________________ 
|                                                               |
| >>__________________________________________________________> |
|     |__comment__-__|  |__file-system-id__-__|                 |
| >______system-file-name____________________________________>< |
|     |                    |__assign-clause-alt_index__|  |     |
|     |__environment-variable-name________________________|     |
|_______________________________________________________________|

EBNF    Uses    Top    Help

assign-clause-alt_index

 ________________________________________________________________________ 
|                                                                        |
| >>__(__alt-inx-file-name_________________________________________)__>< |
|                           |  <_____________________________   |        |
|                           |____,___________________________|__|        |
|                                   |__alt-inx-file-name__|              |
|________________________________________________________________________|

EBNF    Uses    Top    Help

i-o-control-paragraph

 ___________________________________________________________________________________________________ 
|                                                                                                   |
| >>_____RERUN__ON_____assignment-name__________________i-o-control-paragraph-phrase-1___________>< |
|     |             |__file-name________|  |__EVERY__|                                        |     |
|     |                                                        <____________                  |     |
|     |__SAME_______________________________________file-name____file-name__|_________________|     |
|     |        |__RECORD__|  |__AREA__|  |__FOR__|                                            |     |
|     |                                              <_____________________________________   |     |
|     |__MULTIPLE__FILE________________________________file-name___________________________|__|     |
|     |                  |__TAPE__|  |__CONTAINS__|               |__POSITION__integer__|     |     |
|     |                               <____________                                           |     |
|     |__APPLY__WRITE-ONLY______________file-name__|__________________________________________|     |
|                           |__ON__|                                                                |
|___________________________________________________________________________________________________|

 ____________________________________________________________________________________________ 
|                                                                                            |
| >>_______________________________________________________________________________________> |
|     |__RERUN____________assignment-name__|                                                 |
|               |__ON__|                                                                     |
|     <________________________________________________________________________________      |
| >_____SAME_____RECORD________________________________i-o-control-paragraph-phrase-1__|__>< |
|             |__SORT________|  |__AREA__|  |__FOR__|                                        |
|             |__SORT-MERGE__|                                                               |
|____________________________________________________________________________________________|

 ______________________________________________________________________________ 
|                                                                              |
|                                                           <____________      |
| >>__SAME_______________________________________file-name____file-name__|__>< |
|           |__RECORD__|  |__AREA__|  |__FOR__|                                |
|______________________________________________________________________________|

 _____________________________________________________________________________________________ 
|                                                                                             |
| >>_____RERUN__ON_____assignment-name__________________i-o-control-paragraph-phrase-1_____>< |
|     |             |__file-name________|  |__EVERY__|                                  |     |
|     |                                                        <____________            |     |
|     |__SAME_______________________________________file-name____file-name__|___________|     |
|              |__RECORD__|  |__AREA__|  |__FOR__|                                            |
|_____________________________________________________________________________________________|

EBNF    Uses    Top    Help

i-o-control-paragraph-phrase-1

 ______________________________________________________________ 
|                                                              |
| >>_____integer__RECORDS________________________file-name__>< |
|     |__END_______________REEL_____|  |__OF__|                |
|             |__OF__|  |__UNIT__|                             |
|______________________________________________________________|

 _______________________________________________ 
|                                               |
| >>__integer__RECORDS____________file-name__>< |
|                       |__OF__|                |
|_______________________________________________|

 ___________________________________ 
|                                   |
|                <____________      |
| >>__file-name____file-name__|__>< |
|___________________________________|

EBNF    Uses    Top    Help

data-division-overview

 __________________________________________________________________________________________________ 
|                                                                                                  |
| >>__DATA__DIVISION__.__________________________________________________________________________> |
| >______________________________________________________________________________________________> |
|     |__FILE__SECTION__.____________________________________________________________________|     |
|                          |  <________________________________________________________   |        |
|                          |                            <___________________________   |  |        |
|                          |____file-description-entry____record-description-entry__|__|__|        |
| >______________________________________________________________________________________________> |
|     |__WORKING-STORAGE__SECTION__.________________________________________________|              |
|                                     |  <____________________________________   |                 |
|                                     |_______record-description-entry________|__|                 |
|                                          |__data-item-description-entry__|                       |
| >______________________________________________________________________________________________> |
|     |__LOCAL-STORAGE__SECTION__.________________________________________________|                |
|                                   |  <____________________________________   |                   |
|                                   |_______record-description-entry________|__|                   |
|                                        |__data-item-description-entry__|                         |
| >_____________________________________________________________________________________________>< |
|     |__LINKAGE__SECTION__.________________________________________________|                      |
|                             |  <____________________________________   |                         |
|                             |_______record-description-entry________|__|                         |
|                                  |__data-item-description-entry__|                               |
|__________________________________________________________________________________________________|

 _________________________________________________________________________________________ 
|                                                                                         |
| >>___________________________________________________________________________________>< |
|     |__WORKING-STORAGE__SECTION__.________________________________________________|     |
|                                     |  <____________________________________   |        |
|                                     |_______record-description-entry________|__|        |
|                                          |__data-item-description-entry__|              |
|_________________________________________________________________________________________|

EBNF    Uses    Top    Help

file-description-entry

 ___________________________________________________________________________________________________ 
|                                                                                                   |
| >>__FD__file-name_______________________________________________________________________________> |
|                    |____________EXTERNAL__|  |____________GLOBAL__|                               |
|                       |__IS__|                  |__IS__|                                          |
| >_______________________________________________________________________________________________> |
|     |__BLOCK_____________________________________integer_____CHARACTERS_____|                     |
|               |__CONTAINS__|  |__integer__TO__|           |__RECORDS_____|                        |
| >_______________________________________________________________________________________________> |
|     |__RECORD_____________________integer___________________________________________________|     |
|                |  |__CONTAINS__|           |__CHARACTERS__|                              |        |
|                |__________________integer__TO__integer___________________________________|        |
|                |  |__CONTAINS__|                        |__CHARACTERS__|                 |        |
|                |__file-description-entry-clause-1________________________________________|        |
|                                                    |__DEPENDING____________data-name__|           |
|                                                                  |__ON__|                         |
| >_______________________________________________________________________________________________> |
|     |__LABEL_____RECORD____________________STANDARD_________________|                             |
|               |          |__IS__|    |  |__OMITTED_______________|                                |
|               |__RECORDS_____________|  |________________________|                                |
|                           |__ARE__|        |  <____________   |                                   |
|                                            |____data-name__|__|                                   |
| >_______________________________________________________________________________________________> |
|     |             <_________________________________________   |                                  |
|     |__VALUE__OF____system-name_______________data-name_____|__|                                  |
|                                  |__IS__|  |__literal____|                                        |
| >_______________________________________________________________________________________________> |
|     |                                  <____________   |                                          |
|     |__DATA_____RECORD___________________data-name__|__|                                          |
|              |          |__IS__|    |                                                             |
|              |__RECORDS_____________|                                                             |
|                          |__ARE__|                                                                |
| >_______________________________________________________________________________________________> |
|     |__LINAGE_______________data-name__________________file-description-entry-clause-2__|         |
|                |__IS__|  |__integer____|  |__LINES__|                                             |
| >_______________________________________________________________________________________________> |
|     |__RECORDING________________________mode__|                                                   |
|                   |__MODE__|  |__IS__|                                                            |
| >____________________________________________._________________________________________________>< |
|     |__CODE-SET____________alphabet-name__|                                                       |
|                  |__IS__|                                                                         |
|___________________________________________________________________________________________________|

 __________________________________________________________________________________________________________________ 
|                                                                                                                  |
| >>__SD__file-name______________________________________________________________________________________________> |
|                    |__RECORD_____________________integer___________________________________________________|     |
|                               |  |__CONTAINS__|           |__CHARACTERS__|                              |        |
|                               |__________________integer__TO__integer___________________________________|        |
|                               |  |__CONTAINS__|                        |__CHARACTERS__|                 |        |
|                               |__file-description-entry-clause-1________________________________________|        |
|                                                                   |__DEPENDING____________data-name__|           |
|                                                                                 |__ON__|                         |
| >______________________________________________________________________________________________________________> |
|     |                                  <____________   |                                                         |
|     |__DATA_____RECORD___________________data-name__|__|                                                         |
|              |          |__IS__|    |                                                                            |
|              |__RECORDS_____________|                                                                            |
|                          |__ARE__|                                                                               |
| >______________________________________________________________________________________________________________> |
|     |__BLOCK_____________________________________integer_____CHARACTERS_____|                                    |
|               |__CONTAINS__|  |__integer__TO__|           |__RECORDS_____|                                       |
| >______________________________________________________________________________________________________________> |
|     |__LABEL_____RECORD____________________STANDARD___________|                                                  |
|               |          |__IS__|    |  |__OMITTED_________|                                                     |
|               |__RECORDS_____________|  |  <____________   |                                                     |
|                           |__ARE__|     |____data-name__|__|                                                     |
| >______________________________________________________________________________________________________________> |
|     |             <_________________________________________   |                                                 |
|     |__VALUE__OF____system-name_______________data-name_____|__|                                                 |
|                                  |__IS__|  |__literal____|                                                       |
| >______________________________________________________________________________________________________________> |
|     |__LINAGE_______________data-name__________________file-description-entry-clause-2__|                        |
|                |__IS__|  |__integer____|  |__LINES__|                                                            |
| >____________________________________________.________________________________________________________________>< |
|     |__CODE-SET____________alphabet-name__|                                                                      |
|                  |__IS__|                                                                                        |
|__________________________________________________________________________________________________________________|

 ______________________________________________________________________________________________________ 
|                                                                                                      |
| >>__FD__file-name__________________________________________________________________________________> |
|                    |____________EXTERNAL__|  |____________GLOBAL__|                                  |
|                       |__IS__|                  |__IS__|                                             |
| >______________________________________________________________________________________________.__>< |
|     |__RECORD_____________________integer___________________________________________________|        |
|                |  |__CONTAINS__|           |__CHARACTERS__|                              |           |
|                |__________________integer__TO__integer___________________________________|           |
|                |  |__CONTAINS__|                        |__CHARACTERS__|                 |           |
|                |__file-description-entry-clause-1________________________________________|           |
|                                                    |__DEPENDING____________data-name__|              |
|                                                                  |__ON__|                            |
|______________________________________________________________________________________________________|

 ___________________________________________________________________________________________________ 
|                                                                                                   |
| >>__FD__file-name_______________________________________________________________________________> |
|                    |____________EXTERNAL__|  |____________GLOBAL__|                               |
|                       |__IS__|                  |__IS__|                                          |
| >_______________________________________________________________________________________________> |
|     |__BLOCK_____________________________________integer_____CHARACTERS_____|                     |
|               |__CONTAINS__|  |__integer__TO__|           |__RECORDS_____|                        |
| >_______________________________________________________________________________________________> |
|     |__RECORD_____________________integer___________________________________________________|     |
|                |  |__CONTAINS__|           |__CHARACTERS__|                              |        |
|                |__________________integer__TO__integer___________________________________|        |
|                |  |__CONTAINS__|                        |__CHARACTERS__|                 |        |
|                |__file-description-entry-clause-1________________________________________|        |
|                                                    |__DEPENDING____________data-name__|           |
|                                                                  |__ON__|                         |
| >_______________________________________________________________________________________________> |
|     |__LABEL_____RECORD____________________STANDARD_____|                                         |
|               |          |__IS__|    |  |__OMITTED___|                                            |
|               |__RECORDS_____________|                                                            |
|                           |__ARE__|                                                               |
| >_______________________________________________________________________________________________> |
|     |             <_________________________________________   |                                  |
|     |__VALUE__OF____system-name_______________data-name_____|__|                                  |
|                                  |__IS__|  |__literal____|                                        |
| >_________________________________________________________.____________________________________>< |
|     |                                  <____________   |                                          |
|     |__DATA_____RECORD___________________data-name__|__|                                          |
|              |          |__IS__|    |                                                             |
|              |__RECORDS_____________|                                                             |
|                          |__ARE__|                                                                |
|___________________________________________________________________________________________________|

EBNF    Uses    Top    Help

file-description-entry-clause-1

 ____________________________________________________________________________ 
|                                                                            |
| >>____________VARYING____________________________________________________> |
|     |__IS__|           |__IN__|  |__SIZE__|  |______________integer__|     |
|                                                 |__FROM__|                 |
| >_______________________________________________________________________>< |
|     |__TO__integer__|  |__CHARACTERS__|                                    |
|____________________________________________________________________________|

EBNF    Uses    Top    Help

file-description-entry-clause-2

 ______________________________________________________________ 
|                                                              |
| >>_________________________________________________________> |
|     |______________FOOTING_______________data-name_____|     |
|        |__WITH__|           |__AT__|  |__integer____|        |
| >__________________________________________________________> |
|     |_________________________TOP_____data-name_____|        |
|        |__LINES__|  |__AT__|       |__integer____|           |
| >_________________________________________________________>< |
|     |_________________________BOTTOM_____data-name_____|     |
|        |__LINES__|  |__AT__|          |__integer____|        |
|______________________________________________________________|

EBNF    Uses    Top    Help

record-clause

 ___________________________________________________________ 
|                                                           |
| >>__RECORD__________________integer____________________>< |
|             |__CONTAINS__|           |__CHARACTERS__|     |
|___________________________________________________________|

 ________________________________________________________________________ 
|                                                                        |
| >>__RECORD__________________integer__TO__integer____________________>< |
|             |__CONTAINS__|                        |__CHARACTERS__|     |
|________________________________________________________________________|

 ________________________________________________________________________ 
|                                                                        |
| >>__RECORD____________VARYING________________________________________> |
|             |__IS__|           |__IN__|  |__SIZE__|                    |
| >____________________________________________________________________> |
|     |______________integer__|  |__TO__integer__|  |__CHARACTERS__|     |
|        |__FROM__|                                                      |
| >___________________________________________________________________>< |
|     |__DEPENDING____________data-name__|                               |
|                   |__ON__|                                             |
|________________________________________________________________________|

EBNF    Uses    Top    Help

data-description-entry

 ____________________________________________________________________________ 
|                                                                            |
| >>__level-number_________________________________________________________> |
|                   |_____data-name_____|  |__redefines-clause__|            |
|                      |__FILLER_____|                                       |
| >________________________________________________________________________> |
|     |__blank-when-zero-clause__|  |__external-clause__|                    |
| >________________________________________________________________________> |
|     |__global-clause__|  |__justified-clause__|  |__occurs-clause__|       |
| >________________________________________________________________________> |
|     |__picture-clause__|  |__sign-clause__|  |__synchronized-clause__|     |
| >_______________________________________________________________________>< |
|     |__usage-clause__|  |__value-clause__|  |__date-format-clause__|       |
|____________________________________________________________________________|

 __________________________________________ 
|                                          |
| >>__66__data-name__renames-clause__.__>< |
|__________________________________________|

 _____________________________________________ 
|                                             |
| >>__88__condition-name__value-clause__.__>< |
|_____________________________________________|

EBNF    Uses    Top    Help

level-numbers

 _____________________________________________ 
|                                             |
| >>__level-number_________________________>< |
|                   |_____data-name_____|     |
|                      |__FILLER_____|        |
|_____________________________________________|

EBNF    Uses    Top    Help

blank-when-zero-clause

 _________________________________________ 
|                                         |
| >>__BLANK_________________ZERO_______>< |
|            |__WHEN__|  |__ZEROS___|     |
|                        |__ZEROES__|     |
|_________________________________________|

EBNF    Uses    Top    Help

date-format-clause

 ______________________________________________ 
|                                              |
| >>__DATE__FORMAT____________date-pattern__>< |
|                   |__IS__|                   |
|______________________________________________|

EBNF    Uses    Top    Help

justified-clause

 ______________________________________ 
|                                      |
| >>_____JUSTIFIED__________________>< |
|     |__JUST_______|  |__RIGHT__|     |
|______________________________________|

EBNF    Uses    Top    Help

fixed-length-tables

 __________________________________________________________________________ 
|                                                                          |
| >>__OCCURS__integer____________________________________________________> |
|                      |__TIMES__|                                         |
| >______________________________________________________________________> |
|     |  <________________________________________________________   |     |
|     |                                           <____________   |  |     |
|     |_______ASCENDING_____________________________data-name__|__|__|     |
|          |__DESCENDING__|  |__KEY__|  |__IS__|                           |
| >_____________________________________________________________________>< |
|     |                     <_____________   |                             |
|     |__INDEXED______________index-name__|__|                             |
|                 |__BY__|                                                 |
|__________________________________________________________________________|

EBNF    Uses    Top    Help

variable-length-tables

 __________________________________________________________________________ 
|                                                                          |
| >>__OCCURS__integer__TO__integer_______________DEPENDING_______________> |
|                                   |__TIMES__|                            |
| >_____________data-name________________________________________________> |
|     |__ON__|                                                             |
| >______________________________________________________________________> |
|     |  <________________________________________________________   |     |
|     |                                           <____________   |  |     |
|     |_______ASCENDING_____________________________data-name__|__|__|     |
|          |__DESCENDING__|  |__KEY__|  |__IS__|                           |
| >_____________________________________________________________________>< |
|     |                     <_____________   |                             |
|     |__INDEXED______________index-name__|__|                             |
|                 |__BY__|                                                 |
|__________________________________________________________________________|

EBNF    Uses    Top    Help

picture-clause

 ___________________________________________________ 
|                                                   |
| >>_____PICTURE_______________character-string__>< |
|     |__PIC______|  |__IS__|                       |
|___________________________________________________|

EBNF    Uses    Top    Help

external-floating-point-items

 ____________________________________________________________________ 
|                                                                    |
| >>_________________mantissa-e_________________________exponent__>< |
|     |_____+_____|              |_____req__.__+_____|               |
|        |__-__|                    |__-__________|                  |
|____________________________________________________________________|

EBNF    Uses    Top    Help

redefines-clause

 ___________________________________________________________________ 
|                                                                   |
| >>__level-number_________________________REDEFINES__data-name__>< |
|                   |_____data-name_____|                           |
|                      |__FILLER_____|                              |
|___________________________________________________________________|

EBNF    Uses    Top    Help

renames-clause

 ___________________________________________ 
|                                           |
| >>__66__data-name__RENAMES__data-name___> |
| >______________________________________>< |
|     |_____THROUGH_____data-name__|        |
|        |__THRU_____|                      |
|___________________________________________|

EBNF    Uses    Top    Help

sign-clause

 _______________________________________________________________________________ 
|                                                                               |
| >>___________________________LEADING_______________________________________>< |
|     |__SIGN____________|  |__TRAILING__|  |__SEPARATE___________________|     |
|              |__IS__|                                  |__CHARACTER__|        |
|_______________________________________________________________________________|

EBNF    Uses    Top    Help

synchronized-clause

 _______________________________________________ 
|                                               |
| >>_____SYNCHRONIZED________________________>< |
|     |__SYNC__________|  |_____LEFT______|     |
|                            |__RIGHT__|        |
|_______________________________________________|

EBNF    Uses    Top    Help

usage-clause

 ____________________________________________________________________ 
|                                                                    |
| >>____________________________BINARY____________________________>< |
|     |__USAGE____________|  |          |__NATIVE__|           |     |
|               |__IS__|     |__COMP___________________________|     |
|                            |__COMP-1_________________________|     |
|                            |          |__NATIVE__|           |     |
|                            |__COMP-2_________________________|     |
|                            |          |__NATIVE__|           |     |
|                            |__COMP-3_________________________|     |
|                            |__COMP-4_________________________|     |
|                            |          |__NATIVE__|           |     |
|                            |__COMP-5_________________________|     |
|                            |__COMPUTATIONAL__________________|     |
|                            |__COMPUTATIONAL-1________________|     |
|                            |                   |__NATIVE__|  |     |
|                            |__COMPUTATIONAL-2________________|     |
|                            |                   |__NATIVE__|  |     |
|                            |__COMPUTATIONAL-3________________|     |
|                            |__COMPUTATIONAL-4________________|     |
|                            |                   |__NATIVE__|  |     |
|                            |__COMPUTATIONAL-5________________|     |
|                            |__DISPLAY________________________|     |
|                            |           |__NATIVE__|          |     |
|                            |__DISPLAY-1______________________|     |
|                            |             |__NATIVE__|        |     |
|                            |__INDEX__________________________|     |
|                            |__usage-clause-objref-phrase_____|     |
|                            |__PACKED-DECIMAL_________________|     |
|                            |__POINTER________________________|     |
|                            |__PROCEDURE-POINTER______________|     |
|____________________________________________________________________|

EBNF    Uses    Top    Help

usage-clause-objref-phrase

 ________________________________________________________________________ 
|                                                                        |
| >>__OBJECT__REFERENCE_______________________________________________>< |
|                        |_____________________________class-name__|     |
|                           |__METACLASS____________|                    |
|                                         |__OF__|                       |
|________________________________________________________________________|

EBNF    Uses    Top    Help

value-clause

 __________________________________ 
|                                  |
| >>__VALUE____________literal__>< |
|            |__IS__|              |
|__________________________________|

 _______________________________________________________ 
|                                                       |
| >>__88__condition-name_____VALUE____________________> |
|                         |         |__IS__|    |       |
|                         |__VALUES_____________|       |
|                                    |__ARE__|          |
|     <________________________________________         |
| >_____literal________________________________|__.__>< |
|                |_____THROUGH_____literal__|           |
|                   |__THRU_____|                       |
|_______________________________________________________|

 ______________________________________ 
|                                      |
| >>__VALUE_______________NULL______>< |
|            |__IS__|  |__NULLS__|     |
|______________________________________|

EBNF    Uses    Top    Help

procedure-division-structure

 ______________________________________________________________________________________________________________________________________________ 
|                                                                                                                                              |
| >>__PROCEDURE__DIVISION___________________________________.________________________________________________________________________________> |
|                          |__procedure-division-header__|                                                                                     |
| >__________________________________________________________________________________________________________________________________________> |
|     |                   <_____________________________________________________________________________________                         |     |
|     |__DECLARATIVES__.____procedure-division-structure-sect__.__USE___________________________________________|__END__DECLARATIVES__.__|     |
|                                                                      |__procedure-division-structure-para__|                                 |
|     <___________________________________________________________________________________________                                             |
| >_____section-name__SECTION_________________________.___________________________________________|_________________________________________>< |
|                              |__priority-number__|     |__procedure-division-structure-para__|                                               |
|______________________________________________________________________________________________________________________________________________|

 ______________________________________________________________ 
|                                                              |
| >>__PROCEDURE__DIVISION__.________________________________>< |
|                             |  <____________________   |     |
|                             |____method-definition__|__|     |
|______________________________________________________________|

EBNF    Uses    Top    Help

procedure-division-structure-sect

 ______________________________________________________ 
|                                                      |
| >>__section-name__SECTION_________________________>< |
|                            |__priority-number__|     |
|______________________________________________________|

EBNF    Uses    Top    Help

procedure-division-structure-para

 _____________________________________________________ 
|                                                     |
|     <_________________________________________      |
| >>____paragraph-name__._______________________|__>< |
|                          |  <___________   |        |
|                          |____sentence__|__|        |
|_____________________________________________________|

EBNF    Uses    Top    Help

the-procedure-division-header

 ___________________________________________________________________________ 
|                                                                           |
| >>__PROCEDURE__DIVISION_________________________________________________> |
| >_______________________________________________________________________> |
|     |         <__________________________________________________   |     |
|     |                                            <____________   |  |     |
|     |__USING_______________________________________data-name__|__|__|     |
|                 |_______________REFERENCE_____|                           |
|                    |  |__BY__|             |                              |
|                    |____________VALUE______|                              |
|                       |__BY__|                                            |
| >_______________________________.______________________________________>< |
|     |__RETURNING__data-name__|                                            |
|___________________________________________________________________________|

 ________________________________ 
|                                |
| >>__PROCEDURE__DIVISION__.__>< |
|________________________________|

EBNF    Uses    Top    Help

class-condition

 _________________________________________________________________ 
|                                                                 |
| >>__identifier__________________________NUMERIC______________>< |
|                 |__IS__|  |__NOT__|  |__ALPHABETIC________|     |
|                                      |__ALPHABETIC-LOWER__|     |
|                                      |__ALPHABETIC-UPPER__|     |
|                                      |__class-name________|     |
|                                      |__DBCS______________|     |
|                                      |__KANJI_____________|     |
|_________________________________________________________________|

EBNF    Uses    Top    Help

condition-name-condition

 ________________________ 
|                        |
| >>__condition-name__>< |
|________________________|

EBNF    Uses    Top    Help

relation-condition

 ___________________________________________________________________________ 
|                                                                           |
| >>__operand_____________________________GREATER_________________________> |
|              |__IS__|  |  |__NOT__|  |           |__THAN__|  |      |     |
|                        |             |__>____________________|      |     |
|                        |             |__LESS_________________|      |     |
|                        |             |        |__THAN__|     |      |     |
|                        |             |__<____________________|      |     |
|                        |             |__EQUAL________________|      |     |
|                        |             |         |__TO__|      |      |     |
|                        |             |__=____________________|      |     |
|                        |__GREATER______________OR__EQUAL____________|     |
|                        |           |__THAN__|             |__TO__|  |     |
|                        |__>=________________________________________|     |
|                        |__LESS______________OR__EQUAL_______________|     |
|                        |        |__THAN__|             |__TO__|     |     |
|                        |__<__=______________________________________|     |
| >___operand____________________________________________________________>< |
|___________________________________________________________________________|

EBNF    Uses    Top    Help

pointer-data-items

 ______________________________________________________________ 
|                                                              |
| >>_____ADDRESS__OF__identifier_____________________________> |
|     |__identifier_______________|  |__IS__|  |__NOT__|       |
|     |__NULL_____________________|                            |
|     |__NULLS____________________|                            |
| >______EQUAL__________________ADDRESS__OF__identifier_____>< |
|     |         |__TO__|  |  |__identifier_______________|     |
|     |__=________________|  |__NULL_____________________|     |
|                            |__NULLS____________________|     |
|______________________________________________________________|

EBNF    Uses    Top    Help

procedure-pointer-data-items

 ____________________________________________________________________________ 
|                                                                            |
| >>__________________________________________________EQUAL________________> |
|     |_____identifier_____|  |__IS__|  |__NOT__|  |         |__TO__|  |     |
|        |__NULL________|                          |__=________________|     |
|        |__NULLS_______|                                                    |
| >_______________________________________________________________________>< |
|     |_____identifier_____|                                                 |
|        |__NULL________|                                                    |
|        |__NULLS_______|                                                    |
|____________________________________________________________________________|

EBNF    Uses    Top    Help

object-reference-data-items

 __________________________________________________________________ 
|                                                                  |
| >>_____object-reference-identifier_____________________________> |
|     |__SELF_________________________|  |__IS__|  |__NOT__|       |
|     |__NULL_________________________|                            |
|     |__NULLS________________________|                            |
| >______EQUAL__________________object-reference-identifier_____>< |
|     |         |__TO__|  |  |__SELF_________________________|     |
|     |__=________________|  |__NULL_________________________|     |
|                            |__NULLS________________________|     |
|__________________________________________________________________|

EBNF    Uses    Top    Help

sign-condition

 ______________________________________________________ 
|                                                      |
| >>__operand__________________________POSITIVE_____>< |
|              |__IS__|  |__NOT__|  |__NEGATIVE__|     |
|                                   |__ZERO______|     |
|______________________________________________________|

EBNF    Uses    Top    Help

switch-status-condition

 ________________________ 
|                        |
| >>__condition-name__>< |
|________________________|

EBNF    Uses    Top    Help

negated-simple-conditions

 ________________________ 
|                        |
| >>__NOT__condition__>< |
|________________________|

EBNF    Uses    Top    Help

combined-conditions

 ______________________________________________ 
|                                              |
|                <_______________________      |
| >>__condition_______AND_____condition__|__>< |
|                  |__OR___|                   |
|______________________________________________|

EBNF    Uses    Top    Help

abbreviated-combined-relation-conditions

 ______________________________________________________________________ 
|                                                                      |
| >>__relation-condition_____________________________________________> |
|     <__________________________________________________________      |
| >________AND___________________________________________object__|__>< |
|       |__OR___|  |__NOT__|  |__relational-operator__|                |
|______________________________________________________________________|

EBNF    Uses    Top    Help

into-from-identifier-phrase

 _____________________________________________________________________________ 
|                                                                             |
| >>________READ_______file-name___________________________________________>< |
|     |  |__RETURN__|             |__RECORD__|  |__INTO__identifier__|  |     |
|     |_____RELEASE_____record-name_____________________________________|     |
|        |__REWRITE__|               |__FROM__identifier__|                   |
|        |__WRITE____|                                                        |
|_____________________________________________________________________________|

EBNF    Uses    Top    Help

data-transfer

 ________________________________________________________________ 
|                                                                |
| >>__ACCEPT__identifier______________________________________>< |
|                         |__FROM_____mnemonic-name________|     |
|                                  |__environment-name__|        |
|________________________________________________________________|

EBNF    Uses    Top    Help

system-information-transfer

 ______________________________________________________________ 
|                                                              |
| >>__ACCEPT__identifier__FROM_____DATE_____________________>< |
|                               |        |__YYYYMMDD__|  |     |
|                               |__DAY___________________|     |
|                               |       |__YYYYDDD__|    |     |
|                               |__DAY-OF-WEEK___________|     |
|                               |__TIME__________________|     |
|______________________________________________________________|

EBNF    Uses    Top    Help

add-statement

 ________________________________________________________________________ 
|                                                                        |
|          <___________________       <____________________________      |
| >>__ADD_______identifier_____|__TO____identifier_________________|___> |
|            |__literal_____|                       |__ROUNDED__|        |
| >____________________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|                  |
|        |__ON__|                                                        |
| >____________________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|             |
|             |__ON__|                                                   |
| >___________________________________________________________________>< |
|     |__END-ADD__|                                                      |
|________________________________________________________________________|

 ________________________________________________________________ 
|                                                                |
|          <___________________                                  |
| >>__ADD_______identifier_____|_______________identifier______> |
|            |__literal_____|     |__TO__|  |__literal_____|     |
|             <____________________________                      |
| >___GIVING____identifier_________________|___________________> |
|                           |__ROUNDED__|                        |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-ADD__|                                              |
|________________________________________________________________|

 __________________________________________________________________________ 
|                                                                          |
| >>__ADD_____CORRESPONDING_____identifier__TO__identifier_______________> |
|          |__CORR___________|                                             |
| >______________________________________________________________________> |
|     |__ROUNDED__|  |____________SIZE__ERROR__imperative-statement__|     |
|                       |__ON__|                                           |
| >______________________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|               |
|             |__ON__|                                                     |
| >_____________________________________________________________________>< |
|     |__END-ADD__|                                                        |
|__________________________________________________________________________|

EBNF    Uses    Top    Help

alter-statement

 ____________________________________________________________________ 
|                                                                    |
| >>__ALTER________________________________________________________> |
|     <________________________________________________________      |
| >_____procedure-name__TO_____________________procedure-name__|__>< |
|                           |__PROCEED__TO__|                        |
|____________________________________________________________________|

EBNF    Uses    Top    Help

call-statement

 ___________________________________________________________________________________________________________________________ 
|                                                                                                                           |
| >>__CALL_____identifier_________________________________________________________________________________________________> |
|           |__literal________|                                                                                             |
|           |__procedure-ptr__|                                                                                             |
| >_______________________________________________________________________________________________________________________> |
|     |         <____________________________________________________________________________   |                           |
|     |                                         <______________________________________      |  |                           |
|     |__USING__________________________________________________________identifier_____|_____|__|                           |
|                 |  |____________REFERENCE__|    |  |__ADDRESS__OF__|              |     |                                 |
|                 |     |__BY__|                  |__file-name______________________|     |                                 |
|                 |                               |__OMITTED________________________|     |                                 |
|                 |                     <____________________________________________     |                                 |
|                 |____________CONTENT________________________________identifier_____|____|                                 |
|                 |  |__BY__|             |  |_____ADDRESS__OF_____|              |       |                                 |
|                 |                       |     |__LENGTH__OF___|                 |       |                                 |
|                 |                       |__literal______________________________|       |                                 |
|                 |                       |__OMITTED______________________________|       |                                 |
|                 |                   <____________________________________________       |                                 |
|                 |____________VALUE________________________________identifier_____|______|                                 |
|                    |__BY__|           |  |_____ADDRESS__OF_____|              |                                           |
|                                       |     |__LENGTH__OF___|                 |                                           |
|                                       |__literal______________________________|                                           |
|                                                                                                                           |
| >_______________________________________________________________________________________________________________________> |
|     |__RETURNING__identifier__|  |__________________________________________________________________________________|     |
|                                     |  |__call-statement-on_exception__|  |__call-statement-not_on_exception__|  |        |
|                                     |____________OVERFLOW__imperative-statement__________________________________|        |
|                                        |__ON__|                                                                           |
| >______________________________________________________________________________________________________________________>< |
|     |__END-CALL__|                                                                                                        |
|___________________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

call-statement-on_exception

 _________________________________________________________ 
|                                                         |
| >>___________________________________________________>< |
|     |____________EXCEPTION__imperative-statement__|     |
|        |__ON__|                                         |
|_________________________________________________________|

EBNF    Uses    Top    Help

call-statement-not_on_exception

 ______________________________________________________________ 
|                                                              |
| >>________________________________________________________>< |
|     |__NOT____________EXCEPTION__imperative-statement__|     |
|             |__ON__|                                         |
|______________________________________________________________|

EBNF    Uses    Top    Help

cancel-statement

 _______________________________________ 
|                                       |
|             <___________________      |
| >>__CANCEL_______identifier_____|__>< |
|               |__literal_____|        |
|_______________________________________|

EBNF    Uses    Top    Help

close-statement

 _______________________________________________________________________________________ 
|                                                                                       |
|            <____________________________________________________________________      |
| >>__CLOSE____file-name__________________________________________________________|__>< |
|                         |________REEL________________________________________|        |
|                            |  |__UNIT__|  |________________REMOVAL_____|  |           |
|                            |                 |  |__FOR__|           |     |           |
|                            |                 |__WITH__NO__REWIND____|     |           |
|                            |_________________NO__REWIND___________________|           |
|                               |__WITH__|  |__LOCK________|                            |
|_______________________________________________________________________________________|

 _______________________________________________________ 
|                                                       |
|            <____________________________________      |
| >>__CLOSE____file-name__________________________|__>< |
|                         |______________LOCK__|        |
|                            |__WITH__|                 |
|_______________________________________________________|

EBNF    Uses    Top    Help

compute-statement

 ________________________________________________________________ 
|                                                                |
|              <____________________________                     |
| >>__COMPUTE____identifier_________________|_____=____________> |
|                            |__ROUNDED__|     |__EQUAL__|       |
| >___arithmetic-expression____________________________________> |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-COMPUTE__|                                          |
|________________________________________________________________|

EBNF    Uses    Top    Help

continue-statement

 __________________ 
|                  |
| >>__CONTINUE__>< |
|__________________|

EBNF    Uses    Top    Help

delete-statement

 _____________________________________________________________ 
|                                                             |
| >>__DELETE__file-name_____________________________________> |
|                        |__RECORD__|                         |
| >_________________________________________________________> |
|     |__INVALID_____________imperative-statement__|          |
|                 |__KEY__|                                   |
| >_________________________________________________________> |
|     |__NOT__INVALID_____________imperative-statement__|     |
|                      |__KEY__|                              |
| >________________________________________________________>< |
|     |__END-DELETE__|                                        |
|_____________________________________________________________|

 ______________________________________________________________ 
|                                                              |
| >>_________________________DELETE__sequence-number-field__>< |
|     |__sequence-number__|                                    |
|______________________________________________________________|

EBNF    Uses    Top    Help

display-statement

 _____________________________________________________________________________ 
|                                                                             |
|              <___________________                                           |
| >>__DISPLAY_______identifier_____|________________________________________> |
|                |__literal_____|                                             |
| >________________________________________________________________________>< |
|     |__UPON_____mnemonic-name________|  |______________NO__ADVANCING__|     |
|              |__environment-name__|        |__WITH__|                       |
|_____________________________________________________________________________|

EBNF    Uses    Top    Help

divide-statement

 ________________________________________________________________________ 
|                                                                        |
|                                     <____________________________      |
| >>__DIVIDE_____identifier_____INTO____identifier_________________|___> |
|             |__literal_____|                      |__ROUNDED__|        |
| >____________________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|                  |
|        |__ON__|                                                        |
| >____________________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|             |
|             |__ON__|                                                   |
| >___________________________________________________________________>< |
|     |__END-DIVIDE__|                                                   |
|________________________________________________________________________|

 ________________________________________________________________ 
|                                                                |
| >>__DIVIDE_____identifier_____INTO_____identifier____________> |
|             |__literal_____|        |__literal_____|           |
|             <____________________________                      |
| >___GIVING____identifier_________________|___________________> |
|                           |__ROUNDED__|                        |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-DIVIDE__|                                           |
|________________________________________________________________|

 ________________________________________________________________ 
|                                                                |
| >>__DIVIDE_____identifier_____BY_____identifier______________> |
|             |__literal_____|      |__literal_____|             |
|             <____________________________                      |
| >___GIVING____identifier_________________|___________________> |
|                           |__ROUNDED__|                        |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-DIVIDE__|                                           |
|________________________________________________________________|

 __________________________________________________________________ 
|                                                                  |
| >>__DIVIDE_____identifier_____INTO_____identifier______________> |
|             |__literal_____|        |__literal_____|             |
| >___GIVING__identifier_________________REMAINDER__identifier___> |
|                         |__ROUNDED__|                            |
| >______________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|            |
|        |__ON__|                                                  |
| >______________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|       |
|             |__ON__|                                             |
| >_____________________________________________________________>< |
|     |__END-DIVIDE__|                                             |
|__________________________________________________________________|

 __________________________________________________________________ 
|                                                                  |
| >>__DIVIDE_____identifier_____BY_____identifier________________> |
|             |__literal_____|      |__literal_____|               |
| >___GIVING__identifier_________________REMAINDER__identifier___> |
|                         |__ROUNDED__|                            |
| >______________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|            |
|        |__ON__|                                                  |
| >______________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|       |
|             |__ON__|                                             |
| >_____________________________________________________________>< |
|     |__END-DIVIDE__|                                             |
|__________________________________________________________________|

EBNF    Uses    Top    Help

entry-statement

 _______________________________________________________________________________ 
|                                                                               |
| >>__ENTRY__literal__________________________________________________________> |
| >_______________________________________________________________________.__>< |
|     |         <___________________________________________________   |        |
|     |                                            <_____________   |  |        |
|     |__USING_______________________________________identifier__|__|__|        |
|                 |_______________REFERENCE_____|                               |
|                    |  |__BY__|             |                                  |
|                    |____________VALUE______|                                  |
|                       |__BY__|                                                |
|_______________________________________________________________________________|

EBNF    Uses    Top    Help

evaluate-statement

 _________________________________________________________________________________________________________________________ 
|                                                                                                                         |
| >>__EVALUATE_____identifier___________________________________________________________________________________________> |
|               |__literal_____|  |  <_________________________   |                                                       |
|               |__expression__|  |____ALSO_____identifier_____|__|                                                       |
|               |__TRUE________|             |__literal_____|                                                             |
|               |__FALSE_______|             |__expression__|                                                             |
|                                            |__TRUE________|                                                             |
|                                            |__FALSE_______|                                                             |
|     <_____________________________________________________________________________________________________________      |
|       <__________________________________________________________________________________                         |     |
| >_______WHEN__evaluate-statement-phrase-1________________________________________________|__imperative-statement__|___> |
|                                            |  <____________________________________   |                                 |
|                                            |____ALSO__evaluate-statement-phrase-2__|__|                                 |
| >____________________________________________________________________________________________________________________>< |
|     |__WHEN__OTHER__imperative-statement__|  |__END-EVALUATE__|                                                         |
|_________________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

evaluate-statement-phrase-1

 ________________________________________________________________________________________________________ 
|                                                                                                        |
| >>_____ANY__________________________________________________________________________________________>< |
|     |__condition_________________________________________________________________________________|     |
|     |__TRUE______________________________________________________________________________________|     |
|     |__FALSE_____________________________________________________________________________________|     |
|     |________________identifier__________________________________________________________________|     |
|        |__NOT__|  |__literal________________|  |_____THROUGH________identifier________________|        |
|                   |__arithmetic-expression__|     |__THRU_____|  |__literal________________|           |
|                                                                  |__arithmetic-expression__|           |
|________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

evaluate-statement-phrase-2

 ________________________________________________________________________________________________________ 
|                                                                                                        |
| >>_____ANY__________________________________________________________________________________________>< |
|     |__condition_________________________________________________________________________________|     |
|     |__TRUE______________________________________________________________________________________|     |
|     |__FALSE_____________________________________________________________________________________|     |
|     |________________identifier__________________________________________________________________|     |
|        |__NOT__|  |__literal________________|  |_____THROUGH________identifier________________|        |
|                   |__arithmetic-expression__|     |__THRU_____|  |__literal________________|           |
|                                                                  |__arithmetic-expression__|           |
|________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

exit-statement

 ____________________________________ 
|                                    |
| >>__paragraph-name__.__EXIT__.__>< |
|____________________________________|

EBNF    Uses    Top    Help

exit-method-statement

 _________________________ 
|                         |
| >>__EXIT__METHOD__.__>< |
|_________________________|

EBNF    Uses    Top    Help

exit-program-statement

 __________________________ 
|                          |
| >>__EXIT__PROGRAM__.__>< |
|__________________________|

EBNF    Uses    Top    Help

goback-statement

 ________________ 
|                |
| >>__GOBACK__>< |
|________________|

EBNF    Uses    Top    Help

unconditional-go-to

 ______________________________________ 
|                                      |
| >>__GO____________procedure-name__>< |
|         |__TO__|                     |
|______________________________________|

EBNF    Uses    Top    Help

conditional-go-to

 ________________________________________________________________ 
|                                                                |
|                   <_________________                           |
| >>__GO______________procedure-name__|__DEPENDING_____________> |
|         |__TO__|                                  |__ON__|     |
| >___identifier______________________________________________>< |
|________________________________________________________________|

EBNF    Uses    Top    Help

altered-go-to

 ____________________________________________ 
|                                            |
| >>__paragraph-name__.__GO____________.__>< |
|                            |__TO__|        |
|____________________________________________|

EBNF    Uses    Top    Help

more-labels-go-to

 ___________________________________ 
|                                   |
| >>__GO____________MORE-LABELS__>< |
|         |__TO__|                  |
|___________________________________|

EBNF    Uses    Top    Help

if-statement

 _________________________________________________________ 
|                                                         |
|                                   <____________         |
| >>__IF__condition___________________statement__|______> |
|                    |__THEN__|  |__NEXT__SENTENCE__|     |
|                                                         |
| >____________________________________________________>< |
|     |           <____________      |  |__END-IF__|      |
|     |__ELSE_______statement__|_____|                    |
|              |__NEXT__SENTENCE__|                       |
|                                                         |
|_________________________________________________________|

EBNF    Uses    Top    Help

initialize-statement

 ___________________________________________________________________________________________ 
|                                                                                           |
|                 <_____________                                                            |
| >>__INITIALIZE____identifier__|_________________________________________________________> |
| >______________________________________________________________________________________>< |
|     |             <______________________________________________________________   |     |
|     |__REPLACING_______ALPHABETIC__________________________BY_____identifier_____|__|     |
|                     |__ALPHANUMERIC_________|  |__DATA__|      |__literal_____|           |
|                     |__NUMERIC______________|                                             |
|                     |__ALPHANUMERIC-EDITED__|                                             |
|                     |__NUMERIC-EDITED_______|                                             |
|                     |__DBCS_________________|                                             |
|                     |__EGCS_________________|                                             |
|___________________________________________________________________________________________|

EBNF    Uses    Top    Help

inspect-statement

 ______________________________________________________________________________________________________________________ 
|                                                                                                                      |
| >>__INSPECT__identifier__TALLYING__________________________________________________________________________________> |
|     <__________________________________________________________________________________________________________      |
|                        <____________________________________________________________________________________   |     |
| >_____identifier__FOR_______CHARACTERS______________________________________________________________________|__|__>< |
|                          |              |  <_____________________________   |                            |           |
|                          |              |____inspect-statement-phrase-1__|__|                            |           |
|                          |                 <__________________________________________________________   |           |
|                          |_____ALL______________identifier____________________________________________|__|           |
|                             |__LEADING__|    |__literal_____|  |  <_____________________________   |                 |
|                                                                |____inspect-statement-phrase-1__|__|                 |
|______________________________________________________________________________________________________________________|

 _______________________________________________________________ 
|                                                               |
| >>__INSPECT__identifier__CONVERTING_____identifier_____TO___> |
|                                      |__literal_____|         |
| >______identifier___________________________________________> |
|     |__literal_____|                                          |
|     <________________________________________________         |
| >________BEFORE_______________________identifier_____|_____>< |
|       |__AFTER___|  |__INITIAL__|  |__literal_____|           |
|_______________________________________________________________|

 ______________________________________________________________________________________________________________________ 
|                                                                                                                      |
| >>__INSPECT__identifier__TALLYING__________________________________________________________________________________> |
|     <__________________________________________________________________________________________________________      |
|                        <____________________________________________________________________________________   |     |
| >_____identifier__FOR_______CHARACTERS______________________________________________________________________|__|___> |
|                          |              |  <_____________________________   |                            |           |
|                          |              |____inspect-statement-phrase-1__|__|                            |           |
|                          |                 <__________________________________________________________   |           |
|                          |_____ALL______________identifier____________________________________________|__|           |
|                             |__LEADING__|    |__literal_____|  |  <_____________________________   |                 |
|                                                                |____inspect-statement-phrase-1__|__|                 |
| >___REPLACING______________________________________________________________________________________________________> |
|     <__________________________________________________________________________________________________________      |
| >________CHARACTERS__BY_____identifier_________________________________________________________________________|__>< |
|       |                  |__literal_____|  |  <_____________________________   |                            |        |
|       |                                    |____inspect-statement-phrase-1__|__|                            |        |
|       |                 <________________________________________________________________________________   |        |
|       |_____ALL______________identifier_____BY_____identifier____________________________________________|__|        |
|          |__LEADING__|    |__literal_____|      |__literal_____|  |  <_____________________________   |              |
|          |__FIRST____|                                            |____inspect-statement-phrase-1__|__|              |
|______________________________________________________________________________________________________________________|

 ______________________________________________________________________________________________________________________ 
|                                                                                                                      |
| >>__INSPECT__identifier__REPLACING_________________________________________________________________________________> |
|     <__________________________________________________________________________________________________________      |
| >________CHARACTERS__BY_____identifier_________________________________________________________________________|__>< |
|       |                  |__literal_____|  |  <_____________________________   |                            |        |
|       |                                    |____inspect-statement-phrase-1__|__|                            |        |
|       |                 <________________________________________________________________________________   |        |
|       |_____ALL______________identifier_____BY_____identifier____________________________________________|__|        |
|          |__LEADING__|    |__literal_____|      |__literal_____|  |  <_____________________________   |              |
|          |__FIRST____|                                            |____inspect-statement-phrase-1__|__|              |
|______________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

inspect-statement-phrase-1

 _______________________________________________________ 
|                                                       |
| >>_____BEFORE_______________________identifier_____>< |
|     |__AFTER___|  |__INITIAL__|  |__literal_____|     |
|_______________________________________________________|

EBNF    Uses    Top    Help

invoke-statement

 _____________________________________________________________________________________________________ 
|                                                                                                     |
| >>__INVOKE_____identifier_________________________literal_________________________________________> |
|             |__class-name___________________|  |__identifier__|                                     |
|             |__SELF_________________________|                                                       |
|             |________________________SUPER__|                                                       |
|                |__class-name__OF__|                                                                 |
| >_________________________________________________________________________________________________> |
|     |         <____________________________________________________________________________   |     |
|     |                                         <______________________________________      |  |     |
|     |__USING__________________________________________________________identifier_____|_____|__|     |
|                 |  |____________REFERENCE__|    |  |__ADDRESS__OF__|              |     |           |
|                 |     |__BY__|                  |__OMITTED________________________|     |           |
|                 |                     <____________________________________________     |           |
|                 |____________CONTENT________________________________identifier_____|____|           |
|                 |  |__BY__|             |  |_____ADDRESS__OF_____|              |       |           |
|                 |                       |     |__LENGTH__OF___|                 |       |           |
|                 |                       |__literal______________________________|       |           |
|                 |                       |__OMITTED______________________________|       |           |
|                 |                   <____________________________________________       |           |
|                 |____________VALUE________________________________identifier_____|______|           |
|                    |__BY__|           |  |_____ADDRESS__OF_____|              |                     |
|                                       |     |__LENGTH__OF___|                 |                     |
|                                       |__literal______________________________|                     |
|                                                                                                     |
| >_________________________________________________________________________________________________> |
|     |__RETURNING__identifier__|  |____________EXCEPTION__imperative-statement__|                    |
|                                     |__ON__|                                                        |
| >________________________________________________________________________________________________>< |
|     |__NOT____________EXCEPTION__imperative-statement__|  |__END-INVOKE__|                          |
|             |__ON__|                                                                                |
|_____________________________________________________________________________________________________|

EBNF    Uses    Top    Help

merge-statement

 ________________________________________________________________________________________________ 
|                                                                                                |
|                       <________________________________________________________                |
|                                                                <____________   |               |
| >>__MERGE__file-name_________________ASCENDING___________________data-name__|__|_____________> |
|                         |__ON__|  |__DESCENDING__|  |__KEY__|                                  |
| >_____________________________________________________________USING__file-name_______________> |
|     |___________________SEQUENCE____________alphabet-name__|                                   |
|        |__COLLATING__|            |__IS__|                                                     |
|     <____________                                                                              |
| >_____file-name__|___________________________________________________________________________> |
| >______OUTPUT__PROCEDURE____________procedure-name__________________________________________>< |
|     |                     |__IS__|                  |_____THROUGH_____procedure-name__|  |     |
|     |                                                  |__THRU_____|                     |     |
|     |          <____________                                                             |     |
|     |__GIVING____file-name__|____________________________________________________________|     |
|________________________________________________________________________________________________|

EBNF    Uses    Top    Help

move-statement

 _____________________________________________________ 
|                                                     |
|                                 <_____________      |
| >>__MOVE_____identifier_____TO____identifier__|__>< |
|           |__literal_____|                          |
|_____________________________________________________|

 _______________________________________________________________ 
|                                                               |
| >>__MOVE_____CORRESPONDING_____identifier__TO__identifier__>< |
|           |__CORR___________|                                 |
|_______________________________________________________________|

EBNF    Uses    Top    Help

multiply-statement

 ________________________________________________________________________ 
|                                                                        |
|                                     <____________________________      |
| >>__MULTIPLY_____identifier_____BY____identifier_________________|___> |
|               |__literal_____|                    |__ROUNDED__|        |
| >____________________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|                  |
|        |__ON__|                                                        |
| >____________________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|             |
|             |__ON__|                                                   |
| >___________________________________________________________________>< |
|     |__END-MULTIPLY__|                                                 |
|________________________________________________________________________|

 ________________________________________________________________ 
|                                                                |
| >>__MULTIPLY_____identifier_____BY_____identifier____________> |
|               |__literal_____|      |__literal_____|           |
|             <____________________________                      |
| >___GIVING____identifier_________________|___________________> |
|                           |__ROUNDED__|                        |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-MULTIPLY__|                                         |
|________________________________________________________________|

EBNF    Uses    Top    Help

open-statement

 ______________________________________________________________________________ 
|                                                                              |
| >>__OPEN___________________________________________________________________> |
|     <__________________________________________________________________      |
|                 <________________________________________________      |     |
| >________INPUT____file-name______________________________________|_____|__>< |
|       |                      |_____REVERSED___________________|     |        |
|       |                         |______________NO__REWIND__|        |        |
|       |                            |__WITH__|                       |        |
|       |          <__________________________________________        |        |
|       |__OUTPUT____file-name________________________________|_______|        |
|       |                       |______________NO__REWIND__|          |        |
|       |                          |__WITH__|                         |        |
|       |       <____________                                         |        |
|       |__I-O____file-name__|________________________________________|        |
|       |          <____________                                      |        |
|       |__EXTEND____file-name__|_____________________________________|        |
|                                                                              |
|______________________________________________________________________________|

 _________________________________________________ 
|                                                 |
|           <_______________________________      |
|                       <____________       |     |
| >>__OPEN_______INPUT____file-name__|______|__>< |
|             |          <____________   |        |
|             |__OUTPUT____file-name__|__|        |
|             |       <____________      |        |
|             |__I-O____file-name__|_____|        |
|             |          <____________   |        |
|             |__EXTEND____file-name__|__|        |
|                                                 |
|_________________________________________________|

 _________________________________________________ 
|                                                 |
|           <_______________________________      |
|                       <____________       |     |
| >>__OPEN_______INPUT____file-name__|______|__>< |
|             |          <____________   |        |
|             |__OUTPUT____file-name__|__|        |
|             |          <____________   |        |
|             |__EXTEND____file-name__|__|        |
|                                                 |
|_________________________________________________|

EBNF    Uses    Top    Help

basic-perform-statement

 ___________________________________________________________________ 
|                                                                   |
| >>__PERFORM_____________________________________________________> |
| >______procedure-name__________________________________________>< |
|     |                  |_____THROUGH_____procedure-name__|  |     |
|     |                     |__THRU_____|                     |     |
|     |__imperative-statement__END-PERFORM____________________|     |
|___________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-times-phrase

 _________________________________________________________________________________________________ 
|                                                                                                 |
| >>__PERFORM___________________________________________________________________________________> |
| >______procedure-name_______________________________________________identifier_____TIMES_____>< |
|     |                  |__perform-with-times-phrase-phrase-1__|  |__integer_____|         |     |
|     |_____identifier_____TIMES__imperative-statement__END-PERFORM_________________________|     |
|        |__integer_____|                                                                         |
|_________________________________________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-times-phrase-phrase-1

 _______________________________________ 
|                                       |
| >>_____THROUGH_____procedure-name__>< |
|     |__THRU_____|                     |
|_______________________________________|

EBNF    Uses    Top    Help

perform-with-until-phrase

 _______________________________________________________________________________________________________________ 
|                                                                                                               |
| >>__PERFORM_____procedure-name__perform-with-until-phrase-phrase-1__perform-with-until-phrase-phrase-2_____>< |
|              |__perform-with-until-phrase-phrase-2__imperative-statement__END-PERFORM___________________|     |
|_______________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-until-phrase-phrase-1

 _____________________________________________ 
|                                             |
| >>_______________________________________>< |
|     |_____THROUGH_____procedure-name__|     |
|        |__THRU_____|                        |
|_____________________________________________|

EBNF    Uses    Top    Help

perform-with-until-phrase-phrase-2

 ________________________________________________________________ 
|                                                                |
| >>________________________________________UNTIL__condition__>< |
|     |______________TEST_____BEFORE_____|                       |
|        |__WITH__|        |__AFTER___|                          |
|________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-varying-phrase

 _____________________________________________________________________________________________________________________________________________________ 
|                                                                                                                                                     |
| >>__PERFORM_______________________________________________________________________________________________________________________________________> |
| >______procedure-name_______________________________________perform-with-varying-phrase-phrase-1_________________________________________________>< |
|     |                  |_____THROUGH_____procedure-name__|                                        |__perform-with-varying-phrase-phrase-2__|  |     |
|     |                     |__THRU_____|                                                                                                       |     |
|     |__perform-with-varying-phrase-phrase-1__imperative-statement__END-PERFORM________________________________________________________________|     |
|_____________________________________________________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-varying-phrase-phrase-1

 _____________________________________________________________________________________________________ 
|                                                                                                     |
| >>________________________________________VARYING_____identifier_____FROM_____identifier_____BY___> |
|     |______________TEST_____BEFORE_____|           |__index-name__|        |__index-name__|         |
|        |__WITH__|        |__AFTER___|                                      |__literal_____|         |
| >______identifier_____UNTIL__condition___________________________________________________________>< |
|     |__literal_____|                                                                                |
|_____________________________________________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-varying-phrase-phrase-2

 ____________________________________________________________________________________________________ 
|                                                                                                    |
|     <________________________________________________________________________________________      |
| >>____AFTER_____identifier_____FROM_____identifier_____perform-with-varying-phrase-phrase-3__|__>< |
|              |__index-name__|        |__index-name__|                                              |
|                                      |__literal_____|                                              |
|____________________________________________________________________________________________________|

EBNF    Uses    Top    Help

perform-with-varying-phrase-phrase-3

 ________________________________________________ 
|                                                |
| >>__BY_____identifier_____UNTIL__condition__>< |
|         |__literal_____|                       |
|________________________________________________|

EBNF    Uses    Top    Help

read-statement

 ________________________________________________________________________ 
|                                                                        |
| >>__READ__file-name__________________________________________________> |
|                      |_____NEXT_________|  |__RECORD__|                |
|                         |__PREVIOUS__|                                 |
| >____________________________________________________________________> |
|     |__INTO__identifier__|                                             |
| >____________________________________________________________________> |
|     |____________END__imperative-statement__|                          |
|        |__AT__|                                                        |
| >___________________________________________________________________>< |
|     |__NOT____________END__imperative-statement__|  |__END-READ__|     |
|             |__AT__|                                                   |
|________________________________________________________________________|

 _____________________________________________________________________________ 
|                                                                             |
| >>__READ__file-name_______________________________________________________> |
|                      |__RECORD__|  |__INTO__identifier__|                   |
| >_________________________________________________________________________> |
|     |__KEY____________data-name__|                                          |
|             |__IS__|                                                        |
| >_________________________________________________________________________> |
|     |__INVALID_____________imperative-statement__|                          |
|                 |__KEY__|                                                   |
| >________________________________________________________________________>< |
|     |__NOT__INVALID_____________imperative-statement__|  |__END-READ__|     |
|                      |__KEY__|                                              |
|_____________________________________________________________________________|

EBNF    Uses    Top    Help

release-statement

 ______________________________________________________ 
|                                                      |
| >>__RELEASE__record-name__________________________>< |
|                           |__FROM__identifier__|     |
|______________________________________________________|

EBNF    Uses    Top    Help

return-statement

 __________________________________________________________________________ 
|                                                                          |
| >>__RETURN__file-name__________________________________________________> |
|                        |__RECORD__|  |__INTO__identifier__|              |
| >_____________END__imperative-statement________________________________> |
|     |__AT__|                                                             |
| >_____________________________________________________________________>< |
|     |__NOT____________END__imperative-statement__|  |__END-RETURN__|     |
|             |__AT__|                                                     |
|__________________________________________________________________________|

EBNF    Uses    Top    Help

rewrite-statement

 _____________________________________________________________ 
|                                                             |
| >>__REWRITE__record-name__________________________________> |
|                           |__FROM__identifier__|            |
| >_________________________________________________________> |
|     |__INVALID_____________imperative-statement__|          |
|                 |__KEY__|                                   |
| >_________________________________________________________> |
|     |__NOT__INVALID_____________imperative-statement__|     |
|                      |__KEY__|                              |
| >________________________________________________________>< |
|     |__END-REWRITE__|                                       |
|_____________________________________________________________|

EBNF    Uses    Top    Help

search-statement

 _____________________________________________________________ 
|                                                             |
| >>__SEARCH__identifier____________________________________> |
|                         |__VARYING_____identifier_____|     |
|                                     |__index-name__|        |
| >_________________________________________________________> |
|     |____________END__imperative-statement__|               |
|        |__AT__|                                             |
|     <______________________________________________         |
| >_____WHEN__condition_____imperative-statement_____|______> |
|                        |__NEXT-SENTENCE_________|           |
| >________________________________________________________>< |
|     |__END-SEARCH__|                                        |
|_____________________________________________________________|

 _______________________________________________________________________________________________________ 
|                                                                                                       |
| >>__SEARCH__ALL__identifier_________________________________________________________________________> |
|                              |____________END__imperative-statement__|                                |
|                                 |__AT__|                                                              |
| >___WHEN_____data-name_______________EQUAL__________________identifier______________________________> |
|           |             |__IS__|  |         |__TO__|  |  |__literal________________|  |               |
|           |                       |__=________________|  |__arithmetic-expression__|  |               |
|           |__condition-name___________________________________________________________|               |
| >___________________________________________________________________________________________________> |
|     |  <_____________________________________________________________________________________   |     |
|     |____AND_____data-name_______________EQUAL__________________identifier___________________|__|     |
|               |             |__IS__|  |         |__TO__|  |  |__literal________________|  |           |
|               |                       |__=________________|  |__arithmetic-expression__|  |           |
|               |__condition-name___________________________________________________________|           |
| >______imperative-statement________________________________________________________________________>< |
|     |__NEXT__SENTENCE________|  |__END-SEARCH__|                                                      |
|_______________________________________________________________________________________________________|

EBNF    Uses    Top    Help

set-statement

 __________________________________________________________ 
|                                                          |
|          <___________________                            |
| >>__SET_______index-name_____|__TO_____index-name_____>< |
|            |__identifier__|         |__identifier__|     |
|                                     |__integer_____|     |
|__________________________________________________________|

 ________________________________________________________________ 
|                                                                |
|          <_____________                                        |
| >>__SET____index-name__|_____UP__BY__________identifier_____>< |
|                           |__DOWN__BY__|  |__integer_____|     |
|________________________________________________________________|

 _____________________________________________________ 
|                                                     |
|          <____________________________________      |
|            <________________                  |     |
| >>__SET______mnemonic-name__|__TO_____ON______|__>< |
|                                    |__OFF__|        |
|_____________________________________________________|

 ____________________________________________ 
|                                            |
|          <_________________                |
| >>__SET____condition-name__|__TO__TRUE__>< |
|____________________________________________|

 _________________________________________________ 
|                                                 |
|          <________________________________      |
| >>__SET_______identifier__________________|___> |
|            |__ADDRESS__OF__identifier__|        |
| >___TO_____identifier________________________>< |
|         |__ADDRESS__OF__identifier__|           |
|         |__NULL_____________________|           |
|         |__NULLS____________________|           |
|_________________________________________________|

 _______________________________________________ 
|                                               |
|          <______________________________      |
| >>__SET____procedure-pointer-data-item__|___> |
| >___TO_____procedure-pointer-data-item_____>< |
|         |__ENTRY_____identifier_________|     |
|         |         |__literal_____|      |     |
|         |__NULL_________________________|     |
|         |__NULLS________________________|     |
|         |__pointer-data-item____________|     |
|_______________________________________________|

 _________________________________________________________________ 
|                                                                 |
| >>__SET__object-reference-id__TO_____object-reference-id_____>< |
|                                   |__NULL_________________|     |
|                                   |__SELF_________________|     |
|_________________________________________________________________|

EBNF    Uses    Top    Help

sort-statement

 ________________________________________________________________________________________________ 
|                                                                                                |
|                      <________________________________________________________                 |
|                                                               <____________   |                |
| >>__SORT__file-name_________________ASCENDING___________________data-name__|__|______________> |
|                        |__ON__|  |__DESCENDING__|  |__KEY__|                                   |
| >____________________________________________________________________________________________> |
|     |______________DUPLICATES_________________________|                                        |
|        |__WITH__|              |__IN__|  |__ORDER__|                                           |
| >____________________________________________________________________________________________> |
|     |___________________SEQUENCE____________alphabet-name__|                                   |
|        |__COLLATING__|            |__IS__|                                                     |
|               <____________                                                                    |
| >______USING____file-name__|_________________________________________________________________> |
|     |__INPUT__PROCEDURE____________procedure-name_______________________________________|      |
|                          |__IS__|                  |_____THROUGH_____procedure-name__|         |
|                                                       |__THRU_____|                            |
|                                                                                                |
|                <____________                                                                   |
| >______GIVING____file-name__|_______________________________________________________________>< |
|     |__OUTPUT__PROCEDURE____________procedure-name_______________________________________|     |
|                           |__IS__|                  |_____THROUGH_____procedure-name__|        |
|                                                        |__THRU_____|                           |
|                                                                                                |
|________________________________________________________________________________________________|

EBNF    Uses    Top    Help

start-statement

 ________________________________________________________________________________________ 
|                                                                                        |
| >>__START__file-name_________________________________________________________________> |
| >____________________________________________________________________________________> |
|     |__KEY_______________EQUAL________________________________________data-name__|     |
|             |__IS__|  |         |__TO__|                           |                   |
|                       |__=_________________________________________|                   |
|                       |__LESS______________________________________|                   |
|                       |        |__THAN__|                          |                   |
|                       |__<_________________________________________|                   |
|                       |__GREATER___________________________________|                   |
|                       |           |__THAN__|                       |                   |
|                       |__>_________________________________________|                   |
|                       |__NOT__LESS_________________________________|                   |
|                       |             |__THAN__|                     |                   |
|                       |__NOT__<____________________________________|                   |
|                       |__NOT__GREATER______________________________|                   |
|                       |                |__THAN__|                  |                   |
|                       |__NOT__>____________________________________|                   |
|                       |__LESS______________OR__EQUAL_______________|                   |
|                       |        |__THAN__|             |__TO__|     |                   |
|                       |__<__=______________________________________|                   |
|                       |__GREATER______________OR__EQUAL____________|                   |
|                       |           |__THAN__|             |__TO__|  |                   |
|                       |__>=________________________________________|                   |
| >____________________________________________________________________________________> |
|     |__INVALID_____________imperative-statement__|                                     |
|                 |__KEY__|                                                              |
| >___________________________________________________________________________________>< |
|     |__NOT__INVALID_____________imperative-statement__|  |__END-START__|               |
|                      |__KEY__|                                                         |
|________________________________________________________________________________________|

EBNF    Uses    Top    Help

stop-statement

 _____________________________ 
|                             |
| >>__STOP_____RUN_________>< |
|           |__literal__|     |
|_____________________________|

EBNF    Uses    Top    Help

string-statement

 ___________________________________________________________________________ 
|                                                                           |
| >>__STRING______________________________________________________________> |
|     <_______________________________________________________________      |
|       <___________________                                          |     |
| >__________identifier_____|__DELIMITED_______________identifier_____|___> |
|         |__literal_____|                |__BY__|  |__literal_____|        |
|                                                   |__SIZE________|        |
| >___INTO__identifier____________________________________________________> |
|                       |______________POINTER__identifier__|               |
|                          |__WITH__|                                       |
| >_______________________________________________________________________> |
|     |____________OVERFLOW__imperative-statement__|                        |
|        |__ON__|                                                           |
| >_______________________________________________________________________> |
|     |__NOT____________OVERFLOW__imperative-statement__|                   |
|             |__ON__|                                                      |
| >______________________________________________________________________>< |
|     |__END-STRING__|                                                      |
|___________________________________________________________________________|

EBNF    Uses    Top    Help

subtract-statement

 ________________________________________________________________ 
|                                                                |
|               <___________________                             |
| >>__SUBTRACT_______identifier_____|__FROM____________________> |
|                 |__literal_____|                               |
|     <____________________________                              |
| >_____identifier_________________|___________________________> |
|                   |__ROUNDED__|                                |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-SUBTRACT__|                                         |
|________________________________________________________________|

 _________________________________________________________________ 
|                                                                 |
|               <___________________                              |
| >>__SUBTRACT_______identifier_____|__FROM_____identifier______> |
|                 |__literal_____|           |__literal_____|     |
|             <____________________________                       |
| >___GIVING____identifier_________________|____________________> |
|                           |__ROUNDED__|                         |
| >_____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|           |
|        |__ON__|                                                 |
| >_____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|      |
|             |__ON__|                                            |
| >____________________________________________________________>< |
|     |__END-SUBTRACT__|                                          |
|_________________________________________________________________|

 ________________________________________________________________ 
|                                                                |
| >>__SUBTRACT_____CORRESPONDING_____identifier__FROM__________> |
|               |__CORR___________|                              |
| >___identifier_______________________________________________> |
|                 |__ROUNDED__|                                  |
| >____________________________________________________________> |
|     |____________SIZE__ERROR__imperative-statement__|          |
|        |__ON__|                                                |
| >____________________________________________________________> |
|     |__NOT____________SIZE__ERROR__imperative-statement__|     |
|             |__ON__|                                           |
| >___________________________________________________________>< |
|     |__END-SUBTRACT__|                                         |
|________________________________________________________________|

EBNF    Uses    Top    Help

unstring-statement

 ____________________________________________________________________________________________________________ 
|                                                                                                            |
| >>__UNSTRING__identifier_________________________________________________________________________________> |
| >________________________________________________________________________________________________________> |
|     |__DELIMITED__________________________identifier_________________________________________________|     |
|                   |__BY__|  |__ALL__|  |__literal_____|  |  <__________________________________   |        |
|                                                          |____OR________________identifier_____|__|        |
|                                                                   |__ALL__|  |__literal_____|              |
| >___INTO_________________________________________________________________________________________________> |
|     <_______________________________________________________________________________________               |
| >_____identifier____________________________________________________________________________|____________> |
|                   |__DELIMITER____________identifier__|  |__COUNT____________identifier__|                 |
|                                 |__IN__|                           |__IN__|                                |
| >________________________________________________________________________________________________________> |
|     |______________POINTER__identifier__|  |__TALLYING____________identifier__|                            |
|        |__WITH__|                                       |__IN__|                                           |
| >________________________________________________________________________________________________________> |
|     |____________OVERFLOW__imperative-statement__|                                                         |
|        |__ON__|                                                                                            |
| >_______________________________________________________________________________________________________>< |
|     |__NOT____________OVERFLOW__imperative-statement__|  |__END-UNSTRING__|                                |
|             |__ON__|                                                                                       |
|____________________________________________________________________________________________________________|

EBNF    Uses    Top    Help

write-statement

 ________________________________________________________________________________________________________________________ 
|                                                                                                                        |
| >>__WRITE__record-name_______________________________________________________________________________________________> |
|                         |__FROM__identifier__|                                                                         |
| >______________________________________________________________________________________write-statement-phrase-1______> |
|     |  |_____BEFORE____________________________identifier___________________________|                            |     |
|     |     |__AFTER___|  |__ADVANCING__|  |  |__integer_____|  |_____LINE______|  |                               |     |
|     |                                    |                       |__LINES__|     |                               |     |
|     |                                    |__mnemonic-name________________________|                               |     |
|     |                                    |__PAGE_________________________________|                               |     |
|     |__write-statement-invalid_key__write-statement-not_invalid_key______________________________________________|     |
| >___________________________________________________________________________________________________________________>< |
|     |__END-WRITE__|                                                                                                    |
|________________________________________________________________________________________________________________________|

 _________________________________________________________________________________ 
|                                                                                 |
| >>__WRITE__record-name________________________________________________________> |
|                         |__FROM__identifier__|                                  |
| >_____________________________________________________________________________> |
|     |__AFTER_________________________identifier___________________________|     |
|               |__ADVANCING__|  |  |__integer_____|  |_____LINE______|  |        |
|                                |                       |__LINES__|     |        |
|                                |__PAGE_________________________________|        |
| >____________________________________________________________________________>< |
|     |__END-WRITE__|                                                             |
|_________________________________________________________________________________|

 _____________________________________________________________ 
|                                                             |
| >>__WRITE__record-name____________________________________> |
|                         |__FROM__identifier__|              |
| >_________________________________________________________> |
|     |__INVALID_____________imperative-statement__|          |
|                 |__KEY__|                                   |
| >_________________________________________________________> |
|     |__NOT__INVALID_____________imperative-statement__|     |
|                      |__KEY__|                              |
| >________________________________________________________>< |
|     |__END-WRITE__|                                         |
|_____________________________________________________________|

EBNF    Uses    Top    Help

write-statement-phrase-1

 ______________________________________________________________________ 
|                                                                      |
| >>_________________________________________________________________> |
|     |_______________END-OF-PAGE_____imperative-statement__|          |
|        |__AT__|  |__EOP__________|                                   |
| >_________________________________________________________________>< |
|     |__NOT_______________END-OF-PAGE_____imperative-statement__|     |
|             |__AT__|  |__EOP__________|                              |
|______________________________________________________________________|

EBNF    Uses    Top    Help

write-statement-invalid_key

 ________________________________________________________ 
|                                                        |
| >>__________________________________________________>< |
|     |__INVALID_____________imperative-statement__|     |
|                 |__KEY__|                              |
|________________________________________________________|

EBNF    Uses    Top    Help

write-statement-not_invalid_key

 _____________________________________________________________ 
|                                                             |
| >>_______________________________________________________>< |
|     |__NOT__INVALID_____________imperative-statement__|     |
|                      |__KEY__|                              |
|_____________________________________________________________|

EBNF    Uses    Top    Help

specifying-a-function

 ____________________________________________________________ 
|                                                            |
| >>__FUNCTION__function-name______________________________> |
|                              |     <___________      |     |
|                              |__(____argument__|__)__|     |
| >_______________________________________________________>< |
|     |__reference-modifier__|                               |
|____________________________________________________________|

EBNF    Uses    Top    Help

intrinsic-function

 ________________________________________ 
|                                        |
| >>__FUNCTION__ACOS__(__argument__)__>< |
|________________________________________|

 _____________________________________________________ 
|                                                     |
| >>__FUNCTION__ANNUITY__(__argument__argument__)__>< |
|_____________________________________________________|

 ________________________________________ 
|                                        |
| >>__FUNCTION__ASIN__(__argument__)__>< |
|________________________________________|

 ________________________________________ 
|                                        |
| >>__FUNCTION__ATAN__(__argument__)__>< |
|________________________________________|

 ________________________________________ 
|                                        |
| >>__FUNCTION__CHAR__(__argument__)__>< |
|________________________________________|

 _______________________________________ 
|                                       |
| >>__FUNCTION__COS__(__argument__)__>< |
|_______________________________________|

 ________________________________ 
|                                |
| >>__FUNCTION__CURRENT-DATE__>< |
|________________________________|

 ___________________________________________________ 
|                                                   |
| >>__FUNCTION__DATE-OF-INTEGER__(__argument__)__>< |
|___________________________________________________|

 ____________________________________________________________________ 
|                                                                    |
| >>__FUNCTION__DATE-TO-YYYYMMDD__(__argument__________________)__>< |
|                                              |__argument__|        |
|____________________________________________________________________|

 _____________________________________________________ 
|                                                     |
| >>__FUNCTION__DATEVAL__(__argument__argument__)__>< |
|_____________________________________________________|

 __________________________________________________ 
|                                                  |
| >>__FUNCTION__DAY-OF-INTEGER__(__argument__)__>< |
|__________________________________________________|

 __________________________________________________________________ 
|                                                                  |
| >>__FUNCTION__DAY-TO-YYYYDDD__(__argument__________________)__>< |
|                                            |__argument__|        |
|__________________________________________________________________|

 _____________________________________________ 
|                                             |
| >>__FUNCTION__FACTORIAL__(__argument__)__>< |
|_____________________________________________|

 ___________________________________________ 
|                                           |
| >>__FUNCTION__INTEGER__(__argument__)__>< |
|___________________________________________|

 ___________________________________________________ 
|                                                   |
| >>__FUNCTION__INTEGER-OF-DATE__(__argument__)__>< |
|___________________________________________________|

 __________________________________________________ 
|                                                  |
| >>__FUNCTION__INTEGER-OF-DAY__(__argument__)__>< |
|__________________________________________________|

 ________________________________________________ 
|                                                |
| >>__FUNCTION__INTEGER-PART__(__argument__)__>< |
|________________________________________________|

 __________________________________________ 
|                                          |
| >>__FUNCTION__LENGTH__(__argument__)__>< |
|__________________________________________|

 _______________________________________ 
|                                       |
| >>__FUNCTION__LOG__(__argument__)__>< |
|_______________________________________|

 _________________________________________ 
|                                         |
| >>__FUNCTION__LOG10__(__argument__)__>< |
|_________________________________________|

 ______________________________________________ 
|                                              |
| >>__FUNCTION__LOWER-CASE__(__argument__)__>< |
|______________________________________________|

 ____________________________________________ 
|                                            |
|                       <___________         |
| >>__FUNCTION__MAX__(____argument__|__)__>< |
|____________________________________________|

 _____________________________________________ 
|                                             |
|                        <___________         |
| >>__FUNCTION__MEAN__(____argument__|__)__>< |
|_____________________________________________|

 _______________________________________________ 
|                                               |
|                          <___________         |
| >>__FUNCTION__MEDIAN__(____argument__|__)__>< |
|_______________________________________________|

 _________________________________________________ 
|                                                 |
|                            <___________         |
| >>__FUNCTION__MIDRANGE__(____argument__|__)__>< |
|_________________________________________________|

 ____________________________________________ 
|                                            |
|                       <___________         |
| >>__FUNCTION__MIN__(____argument__|__)__>< |
|____________________________________________|

 _________________________________________________ 
|                                                 |
| >>__FUNCTION__MOD__(__argument__argument__)__>< |
|_________________________________________________|

 __________________________________________ 
|                                          |
| >>__FUNCTION__NUMVAL__(__argument__)__>< |
|__________________________________________|

 ____________________________________________________________ 
|                                                            |
| >>__FUNCTION__NUMVAL-C__(__argument__________________)__>< |
|                                      |__argument__|        |
|____________________________________________________________|

 _______________________________________ 
|                                       |
| >>__FUNCTION__ORD__(__argument__)__>< |
|_______________________________________|

 ________________________________________________ 
|                                                |
|                           <___________         |
| >>__FUNCTION__ORD-MAX__(____argument__|__)__>< |
|________________________________________________|

 ________________________________________________ 
|                                                |
|                           <___________         |
| >>__FUNCTION__ORD-MIN__(____argument__|__)__>< |
|________________________________________________|

 ________________________________________________________________ 
|                                                                |
|                                           <___________         |
| >>__FUNCTION__PRESENT-VALUE__(__argument____argument__|__)__>< |
|________________________________________________________________|

 ________________________________________________ 
|                                                |
| >>__FUNCTION__RANDOM________________________>< |
|                       |__(__argument__)__|     |
|________________________________________________|

 ______________________________________________ 
|                                              |
|                         <___________         |
| >>__FUNCTION__RANGE__(____argument__|__)__>< |
|______________________________________________|

 _________________________________________________ 
|                                                 |
| >>__FUNCTION__REM__(__argument__argument__)__>< |
|_________________________________________________|

 ___________________________________________ 
|                                           |
| >>__FUNCTION__REVERSE__(__argument__)__>< |
|___________________________________________|

 _______________________________________ 
|                                       |
| >>__FUNCTION__SIN__(__argument__)__>< |
|_______________________________________|

 ________________________________________ 
|                                        |
| >>__FUNCTION__SQRT__(__argument__)__>< |
|________________________________________|

 ___________________________________________________________ 
|                                                           |
|                                      <___________         |
| >>__FUNCTION__STANDARD-DEVIATION__(____argument__|__)__>< |
|___________________________________________________________|

 ____________________________________________ 
|                                            |
|                       <___________         |
| >>__FUNCTION__SUM__(____argument__|__)__>< |
|____________________________________________|

 _______________________________________ 
|                                       |
| >>__FUNCTION__TAN__(__argument__)__>< |
|_______________________________________|

 __________________________________________ 
|                                          |
| >>__FUNCTION__UNDATE__(__argument__)__>< |
|__________________________________________|

 ______________________________________________ 
|                                              |
| >>__FUNCTION__UPPER-CASE__(__argument__)__>< |
|______________________________________________|

 _________________________________________________ 
|                                                 |
|                            <___________         |
| >>__FUNCTION__VARIANCE__(____argument__|__)__>< |
|_________________________________________________|

 _________________________________ 
|                                 |
| >>__FUNCTION__WHEN-COMPILED__>< |
|_________________________________|

 ________________________________________________________________ 
|                                                                |
| >>__FUNCTION__YEAR-TO-YYYY__(__argument__________________)__>< |
|                                          |__argument__|        |
|________________________________________________________________|

 ______________________________ 
|                              |
| >>__FUNCTION__YEARWINDOW__>< |
|______________________________|

EBNF    Uses    Top    Help

basis-statement

 ________________________________________________________ 
|                                                        |
| >>_________________________BASIS_____basis-name_____>< |
|     |__sequence-number__|         |__literal_____|     |
|________________________________________________________|

EBNF    Uses    Top    Help

cbl-process-statement

 ___________________________________________ 
|                                           |
| >>_____CBL_____________________________>< |
|     |__PROCESS__|  |__options-list__|     |
|___________________________________________|

EBNF    Uses    Top    Help

control-cbl-statement

 ______________________________________________________ 
|                                                      |
|                     <_________________               |
| >>_____*CONTROL__________SOURCE_______|___________>< |
|     |__*CBL______|    |__NOSOURCE__|     |__.__|     |
|                       |__LIST______|                 |
|                       |__NOLIST____|                 |
|                       |__MAP_______|                 |
|                       |__NOMAP_____|                 |
|______________________________________________________|

EBNF    Uses    Top    Help

copy-statement

 _______________________________________________________________________ 
|                                                                       |
| >>__COPY_____text-name______________________________________________> |
|           |__literal____|  |_____OF________library-name_____|         |
|                               |__IN__|  |__literal_______|            |
| >_______________________________________________________________.__>< |
|     |__SUPPRESS__|  |             <_______________________   |        |
|                     |__REPLACING____operand__BY__operand__|__|        |
|_______________________________________________________________________|

EBNF    Uses    Top    Help

eject-statement

 ________________________ 
|                        |
| >>__EJECT___________>< |
|            |__.__|     |
|________________________|

EBNF    Uses    Top    Help

enter-statement

 _____________________________________________________ 
|                                                     |
| >>__ENTER__language-name______________________.__>< |
|                           |__routine-name__|        |
|_____________________________________________________|

EBNF    Uses    Top    Help

insert-statement

 ______________________________________________________________ 
|                                                              |
| >>_________________________INSERT__sequence-number-field__>< |
|     |__sequence-number__|                                    |
|______________________________________________________________|

EBNF    Uses    Top    Help

ready-or-reset-trace-statement

 _______________________________ 
|                               |
| >>_____READY_____TRACE__.__>< |
|     |__RESET__|               |
|_______________________________|

EBNF    Uses    Top    Help

replace-statement

 _______________________________________________________________________________ 
|                                                                               |
|              <_______________________________________________________         |
| >>__REPLACE____=__=__pseudo-text__=__=__BY__=__=__pseudo-text__=__=__|__.__>< |
|_______________________________________________________________________________|

 _________________________ 
|                         |
| >>__REPLACE__OFF__.__>< |
|_________________________|

EBNF    Uses    Top    Help

service-label-statement

 ________________________ 
|                        |
| >>__SERVICE__LABEL__>< |
|________________________|

EBNF    Uses    Top    Help

service-reload-statement

 _____________________________________ 
|                                     |
| >>__SERVICE__RELOAD__identifier__>< |
|_____________________________________|

EBNF    Uses    Top    Help

skip123-statement

 ______________________________ 
|                              |
| >>_____SKIP1______________>< |
|     |__SKIP2__|  |__.__|     |
|     |__SKIP3__|              |
|______________________________|

EBNF    Uses    Top    Help

title-statement

 _________________________________ 
|                                 |
| >>__TITLE__literal___________>< |
|                     |__.__|     |
|_________________________________|

EBNF    Uses    Top    Help

use-statement

 ______________________________________________________________________________ 
|                                                                              |
| >>__USE________________AFTER_____________________EXCEPTION_____PROCEDURE___> |
|          |__GLOBAL__|         |__STANDARD__|  |__ERROR______|                |
|                  <____________                                               |
| >__________________file-name__|___________________________________________>< |
|     |__ON__|  |__INPUT___________|                                           |
|               |__OUTPUT__________|                                           |
|               |__I-O_____________|                                           |
|               |__EXTEND__________|                                           |
|                                                                              |
|______________________________________________________________________________|

 ___________________________________________________________________________________________ 
|                                                                                           |
| >>__USE________________AFTER____________________________________________________________> |
|          |__GLOBAL__|         |__STANDARD__|  |_____BEGINNING_____|  |_____FILE_____|     |
|                                                  |__ENDING_____|        |__REEL__|        |
|                                                                         |__UNIT__|        |
|                                    <____________                                          |
| >___LABEL__PROCEDURE_________________file-name__|______________________________________>< |
|                       |__ON__|  |__INPUT___________|                                      |
|                                 |__OUTPUT__________|                                      |
|                                 |__I-O_____________|                                      |
|                                 |__EXTEND__________|                                      |
|                                                                                           |
|___________________________________________________________________________________________|

 ________________________________________________________________________ 
|                                                                        |
|                                             <_________________         |
| >>__USE_____________DEBUGGING_________________procedure-name__|_____>< |
|          |__FOR__|             |__ON__|  |__ALL__PROCEDURES______|     |
|                                                                        |
|________________________________________________________________________|

EBNF    Uses    Top    Help

call-interface

 _______________________________________________________________________________ 
|                                                                               |
| >>_____>>CALLINTERFACE_____________________________________________________>< |
|     |__>>CALLINT________|  |_____SYSTEM_______|  |_____DESC_____________|     |
|                               |__OPTLINK___|        |__DESCRIPTOR____|        |
|                               |__FAR16_____|        |__NODESC________|        |
|                               |__PASCAL16__|        |__NODESCRIPTOR__|        |
|                               |__CDECL_____|                                  |
|_______________________________________________________________________________|

EBNF    Uses    Top    Help


Copyright

Copyright (c) 1999, Ralf Lämmel & Chris Verhoef.
All rights reserved.

Permission is hereby granted by Ralf Lämmel and Chris Verhoef (the "Copyright holders"), free of charge, to any person obtaining a copy of this software in source code or binary form and associated files (the "Distribution"), to deal in the Distribution without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Distribution, and to permit persons to whom the Distribution is furnished to do so, subject to the following conditions:

DISCLAIMER

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


End Of Grammar