This grammar has been been recovered from IBM's OS PL/I V2R3 Language Reference (Document Number: SC26-4308-02) automatically.
Disclaimer
This grammar is not yet corrected nor completed.
It merely represents the portion of syntax covered by the syntax diagram
in the referenced document. It does not make sense to derive a parser from
the current version automatically. However, this grammar is already used by
other people for island parsing in the context of reengineering.
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 (the first version) of the grammar. It has been released on December, 13th, 1999. 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.
comments | = | "/*" [ text ] "*/" |
statements | = | { "(" { condition-prefix }","+ ")" ":" }* { label-prefix ":" }* |
[ statement_body ] ";" |
percent-statements | = | "%" { label-prefix ":" }* statement_body ";" |
attribute | = | ( "BINARY" | "DECIMAL" ) |
attribute | = | "TASK" |
attribute | = | "CONDITION" |
attribute | = | "PRINT" |
attribute | = | "KEYED" |
attribute | = | "EXCLUSIVE" |
attribute | = | "ENVIRONMENT" "(" characteristic-list ")" |
attribute | = | "BACKWARDS" |
attribute | = | ( "BUFFERED" | "UNBUFFERED" ) |
attribute | = | ( "DIRECT" | "SEQUENTIAL" | "TRANSIENT" ) |
attribute | = | ( "INPUT" | "OUTPUT" | "UPDATE" ) |
attribute | = | ( "RECORD" | "STREAM" ) |
attribute | = | "FILE" |
attribute | = | generic-name "GENERIC" |
"(" { entry-reference "WHEN" "(" { generic-descriptor }","* ")" }","+ ")" |
attribute | = | "BUILTIN" |
attribute | = | [ ( "IRREDUCIBLE" | "REDUCIBLE" ) ] |
attribute | = | "RETURNS" "(" { attribute }+ ")" |
attribute | = | "OPTIONS" "(" characteristic-list ")" |
attribute | = | "ENTRY" [ "(" [ parameter-descriptor-list ] ")" ] |
attribute | = | "INITIAL" "(" { item }","+ ")" |
attribute | = | "CONNECTED" |
attribute | = | "POSITION" "(" expression ")" |
attribute | = | "DEFINED" ( reference | "(" reference ")" ) |
attribute | = | "OFFSET" [ "(" area-variable ")" ] |
attribute | = | "AREA" [ ( "(" "*" ")" | "(" expression [ "REFER" "(" variable ")" ] ")" ) ] |
attribute | = | "POINTER" |
attribute | = | "BASED" [ "(" locator-reference ")" ] |
attribute | = | "CONTROLLED" |
attribute | = | "AUTOMATIC" |
attribute | = | "STATIC" |
attribute | = | ( "INTERNAL" | "EXTERNAL" ) |
attribute | = | "LIKE" structure-variable |
attribute | = | "(" { bound }","+ ")" |
attribute | = | ( "ALIGNED" | "UNALIGNED" ) |
attribute | = | "VARIABLE" |
attribute | = | "LABEL" [ "(" { label-constant }","+ ")" ] |
attribute | = | "EVENT" |
attribute | = | ( "FIXED" | "FLOAT" ) |
attribute | = | "(" number-of-digits [ "," scaling-factor ] ")" |
attribute | = | ( "REAL" | "COMPLEX" ) |
attribute | = | "BIT" [ "(" length [ "REFER" "(" variable ")" ] ")" ] |
attribute | = | "CHARACTER" [ "(" length [ "REFER" "(" variable ")" ] ")" ] |
attribute | = | "GRAPHIC" [ "(" length [ "REFER" "(" variable ")" ] ")" ] |
attribute | = | "VARYING" |
attribute | = | "PICTURE" "'" picture-specification "'" |
constant | = | "'" { ( character | """ ) }* "'" |
constant | = | "'" { hex_digit hex_digit }* "'X" |
constant | = | "'" { ( "0" | "1" ) }* "'B" |
constant | = | "'" { hex_digit }* ( "'BX" | "'B4" ) |
constant | = | "'" { graphic-symbol }* "'G" |
constant | = | "'" { hex_digit hex_digit hex_digit hex_digit }* "'GX" |
constant | = | "'" { ( character | "'" "'" | "<" { graphic_symbol }+ ">" ) }* "'M" |
attribute-bound | = | ( [ lower-bound ":" ] upper-bound | "*" ) |
attribute-upper-bound | = | expression [ "REFER" "(" variable ")" ] |
attribute-lower-bound | = | expression [ "REFER" "(" variable ")" ] |
expression | = | unary-expression { infix-operator unary-expression }* |
expression-unary-expression | = | { prefix-operator }* elementary-expression |
expression-elementary-expression | = | ( "(" expression ")" | reference | constant | isub6 ) |
expression-reference | = | [ locator-qualifier ] basic-reference |
[ "(" subscript-list ")" ] [ "(" [ argument-list ] ")" ] |
expression-locator-qualifier | = | reference "->" |
expression-subscript-list | = | { ( expression | "*" ) }","+ |
expression-argument-list | = | { expression }","+ |
expression-basic-reference | = | [ structure-qualification ] name |
expression-structure-qualification | = | basic-reference [ "(" subscript-list ")" ] |
statement | = | "FETCH" { entry-constant }","+ ";" |
statement | = | "%" ";" |
statement | = | "%" { label ":" }* "NOTE" "(" message [ "," code ] ")" ";" |
statement | = | "%" { label ":" }* "IF" preprocessor_expression |
"%" "THEN" preprocessor-unit1 [ "%" "ELSE" preprocessor-unit2 ] |
statement | = | "%" { label ":" }* "GO_TO" label ";" |
statement | = | "%" { label ":" }* "END" [ label ] ";" |
statement | = | "%" { label ":" }* "DO" preprocessor-do-specification ";" |
statement | = | "%" { label ":" }* "DO" ";" |
statement | = | "%" { label ":" }* "DECLARE" { identifier ( "FIXED" | "CHARACTER" | "ENTRY" | "BUILTIN" ) }","+ ";" |
statement | = | "%" { label ":" }* "DEACTIVATE" { identifier }","+ ";" |
statement | = | "%" { label ":" }* |
preprocessor-variable "=" preprocessor_expression ";" |
statement | = | "%" { label ":" }* "ACTIVATE" { identifier [ ( "RESCAN" | "NORESCAN" ) ] }","+ ";" |
statement | = | { label ":" }* "RETURN" "(" preprocessor-expression ")" ";" |
statement | = | "%" { entry_name ":" }+ "PROCEDURE" [ "(" { parameter }","+ ")" ] |
[ "STATEMENT" ] "RETURNS" "(" ( "CHARACTER" | "FIXED" ) ")" ";" |
statement | = | "EXIT" ";" |
statement | = | "%" "SKIP" [ "(" n ")" ] ";" |
statement | = | "%" "PRINT" ";" |
statement | = | "%" "PAGE" ";" |
statement | = | "%" "NOPRINT" ";" |
statement | = | "%" "INCLUDE" { ( dataset "(" member-name ")" | member-name ) }","+ ";" |
statement | = | "SIGNAL" condition ";" |
statement | = | "REVERT" condition ";" |
statement | = | "ON" condition [ "SNAP" ] ( "SYSTEM" ";" | on-unit ) |
statement | = | { label ":" }+ "FORMAT" "(" format-list ")" ";" |
statement | = | "PUT-STRING" "(" character-reference ")" data-specification ";" |
statement | = | "PUT" [ "FILE" "(" file_reference ")" ] [ data_specification ] |
[ ( "PAGE" [ "LINE" "(" expression ")" ] | "SKIP" [ "(" expression ")" ] | "LINE" "(" expression ")" ) ] ";" |
statement | = | "GET-STRING" "(" expression ")" data-specification ";" |
statement | = | "GET" [ "FILE" "(" file-reference ")" ] [ data-specification ] |
[ "COPY" "(" file-reference ")" ] | ||
[ "SKIP" [ "(" expression ")" ] ] ";" |
statement | = | "UNLOCK" "FILE" "(" file-reference ")" "KEY" "(" expression ")" ";" |
statement | = | "DELETE" "FILE" "(" file-reference ")" [ "KEY" "(" expression ")" ] |
[ "EVENT" "(" event_reference ")" ] ";" |
statement | = | "LOCATE" based-variable |
( "FILE" "(" file_reference ")" | "SET" "(" pointer_reference | "KEYFROM" "(" expression ")" ) ";" |
statement | = | "REWRITE_FILE" "(" file_reference ")" [ "FROM" "(" reference ")" ] |
[ "KEY" "(" expression ")" ] [ "EVENT" "(" event_reference ] ";" |
statement | = | "WRITE" "FILE" "(" file_reference ")" "FROM" "(" reference ")" |
[ ( "KEYFROM" "(" expression ")" | "KEYTO" "(" reference ")" ) ] [ "EVENT" "(" event_reference ] ";" |
statement | = | "READ" "FILE" "(" file_reference ")" |
( "INTO" "(" ref ")" [ ( "KEY" "(" expression ")" [ "NOLOCK" ] | "KEYTO" "(" reference ")" ) ] | "SET" "(" pointer_ref ")" [ ( "KEY" "(" expression ")" | "KEYTO" "(" reference ")" ) ] | "IGNORE" "(" expression ")" ) | ||
[ "EVENT" "(" reference ")" ] ";" |
statement | = | "CLOSE" |
{ "FILE" "(" file_reference ")" [ "ENVIRONMENT" "(" ( "LEAVE" | "REREAD" ) ")" ] }","+ ";" |
statement | = | "OPEN" { options-group }","+ ";" |
statement | = | "RETURN" [ "(" expression ")" ] ";" |
statement | = | "CALL" ( entry-reference | generic-name | built-in-name ) [ "(" { argument }","* ")" ] |
[ "TASK" [ "(" task_reference ")" ] ] [ "EVENT" "(" event-reference ")" ] | ||
[ "PRIORITY" "(" expression ")" ] ";" |
statement | = | ( "COBOL" | "FORTRAN" ) [ "NOMAP" [ "(" parameter-list ")" ] ] |
[ "NOMAPIN" [ "(" parameter_list ")" ] ] | ||
[ "NOMAPOUT" [ "(" parameter_list ")" ] ] |
statement | = | ( "MAIN" [ "NOEXECOPS" ] [ "REENTRANT" ] [ "TASK" ] | "COBOL" [ additional_options ] | "FORTRAN" [ additional_options ] ) |
statement | = | { entry-constant ":" }+ "ENTRY" [ "(" { parameter }","+ ")" ] |
[ "RETURNS" "(" { attribute }+ ")" ] | ||
[ "OPTIONS" "(" characteristic-list ")" ] [ ( "REDUCIBLE" | "IRREDUCIBLE" ) ] ";" |
statement | = | { entry-constant ":" }+ "PROCEDURE" [ "(" { parameter }","+ ")" ] |
[ "RETURNS" "(" { attribute }+ ")" ] | ||
[ "OPTIONS" "(" characteristic-list ")" ] [ ( "REDUCIBLE" | "IRREDUCIBLE" ) ] | ||
[ "RECURSIVE" ] [ ( "ORDER" | "REORDER" ) ] [ ( "CHARGRAPHIC" | "NOCHARGRAPHIC" ) ] ";" |
statement | = | "WAIT" "(" { event-reference }","+ ")" [ "(" expression ")" ] ";" |
statement | = | "STOP" ";" |
statement | = | "SELECT" [ "(" exp1 ")" ] ";" |
{ "WHEN" "(" { exp2 }","+ ")" unit }* [ "OTHERWISE" unit ] |
statement | = | ";" |
statement | = | "LEAVE" [ label-constant ] ";" |
statement | = | "IF" expression "THEN" unit1 [ "ELSE" unit2 ] |
statement | = | ( "GO" "TO" | "GOTO" ) label_reference ";" |
statement | = | "END" [ statement-label ] ";" |
statement | = | "DO" reference "=" { specification }","+ ";" |
statement | = | "DO" ( "WHILE" "(" exp4 ")" [ "UNTIL" "(" exp5 ")" ] | "UNTIL" "(" exp5 ")" [ "WHILE" "(" exp4 ")" ] ) ";" |
statement | = | "DO" ";" |
statement | = | "DISPLAY" "(" expression ")" |
( "REPLY" "(" character_reference ")" [ "EVENT" "(" event_reference ")" ] | "EVENT" "(" event_reference ")" reply "(" character_reference ")" ) ";" |
statement | = | "DISPLAY" "(" expression ")" ";" |
statement | = | "DELAY" "(" expression ")" ";" |
statement | = | { reference }","+ "=" expression [ "," "BY" "NAME" ] ";" |
statement | = | "FREE" { option }","+ ";" |
statement | = | "ALLOCATE" { based_variable [ reference ] }","+ ";" |
statement | = | "FREE" { controlled-variable }","+ ";" |
statement | = | "ALLOCATE" { [ level ] controlled-variable [ attribute ] }","+ |
statement | = | "RELEASE" { entry-constant }+ ";" |
statement | = | "BEGIN" [ ( "ORDER" | "REORDER" ) ] [ ( "CHARGRAPHIC" | "NOCHARGRAPHIC" ) ] ";" |
statement | = | "DECLARE" { [ level ] name { attribute }* [ "SYSTEM" ] }","+ ";" |
statement | = | "DEFAULT" { ( simple_specification | factored_specification ) }","+ ";" |
statement-simple-specification | = | ( "RANGE" "(" { ( { letter }+ | letter ":" letter ) }+ ")" [ attribute_specification ] | "RANGE" "(" "*" ")" [ attribute_specification ] | "DESCRIPTORS" [ attribute_specifications ] ) |
statement-factored-specification | = | "(" { ( simple_specification | factored_specification ) }","+ ")" [ attribute_specification ] |
statement-attribute-specification | = | ( { attribute }+ [ "VALUE" "(" { value_specification }","+ ")" ] | "VALUE" "(" { value_specification }","+ ")" ) |
statement-value-specification | = | ( "AREA" "(" size ")" | "BIT" "(" length ")" | "CHARACTER" "(" length ")" | "GRAPHIC" "(" length ")" | additional_options ) |
statement-additional-options | = | [ ( "REAL" | "COMPLEX" ) ] [ ( "FIXED" | "FLOAT" ) ] [ ( "BINARY" | "DECIMAL" ) ] |
[ "(" precision [ "," scaling_factor ] ")" ] |
statement-additional-options | = | [ "NOMAP" [ "(" parameter_list ")" ] ] |
[ "NOMAPIN" [ "(" parameter_list ")" ] ] | ||
[ "NOMAPOUT" [ "(" parameter_list ")" ] ] |
statement-attribute | = | ( dimension | "CHARACTER" "(" length | "BIT" "(" length ")" | "GRAPHIC" "(" length ")" | "AREA" "(" size ")" | "INITIAL" "(" { "ITEM" }","+ ")" | initial_call_entry_reference [ "(" { argument }","+ ")" ] ) |
locator-qualification | = | locator-reference "->" { based-locator-reference "->" }* |
based-reference |
statement-reference | = | [ "IN" "(" area_reference ")" ] [ "SET" "(" locator_reference ")" ] |
statement-option | = | [ locator-qualifier ">" ] based-variable |
[ "IN" "(" area-reference ")" ] |
option | = | expression "REFER" "(" variable ")" |
option | = | "PRIORITY" "(" expression ")" |
option | = | "EVENT" "(" event-reference ")" |
option | = | "TASK" [ "(" task-reference ")" ] |
attribute-item | = | ( "*" | initial_constant | reference | "(" expression ")" | iteration_specification ) |
attribute-iteration_specification | = | "(" iteration_factor ")" iteration_item |
attribute-iteration_item | = | ( "*" | initial_constant | reference | "(" { item }","+ ")" ) |
attribute-initial-constant | = | ( [ ( "+" | "-" ) ] arithmetic_constant | bit_constant | character_constant | graphic_constant | entry_constant | file_constant | label_constant | [ ( "+" | "-" ) ] real_constant ( "+" | "-" ) imaginary_constant ) |
attribute-initial-constant | = | "INITIAL" "CALL" entry-reference [ "(" { argument }","+ ")" ] |
statement-specification | = | exp1 [ ( "TO" exp2 [ "BY" exp3 ] | "BY" exp3 [ "TO" exp2 ] | "REPEAT" exp6 ) ] |
[ ( "WHILE" "(" exp4 ")" [ "(" "UNTIL" "(" exp5 ")" ] | "UNTIL" "(" exp5 ")" [ "(" "WHILE" "(" exp4 ")" ] ) ] |
entry-data | = | "ENTRY" [ "(" parameter-descriptor-list ")" ] |
[ "RETURNS" "(" attribute-list ")" ] | ||
[ "OPTIONS" "(" characteristic-list ")" ] [ "EXTERNAL" ] | ||
[ ( "IRREDUCIBLE" | "REDUCIBLE" ) ] |
entry-data | = | "ENTRY" [ "(" parameter_descriptor_list ")" ] [ "VARIABLE" ] |
[ "RETURNS" "(" attribute_list ")" ] | ||
[ "OPTIONS" "(" characteristic_list ")" ] [ ( "IRREDUCIBLE" | "REDUCIBLE" ) ] | ||
[ scope-attribute ] [ storage-attribute ] | ||
[ alignment-attribute ] [ parameter ] | ||
[ "DEFINED" ] [ "INITIAL" ] |
attribute-parameter-descriptor-list | = | { parameter-descriptor }","+ |
attribute-parameter-descriptor | = | [ ( { attribute }+ | "*" | structure-parameter-descriptor ) ] |
attribute-structure-parameter-descriptor | = | "1" { attribute }* "," { level { attribute }* }","+ |
attribute-characteristic-list | = | ( "COBOL" | "FORTRAN" | "ASSEMBLER" ) [ additional-options ] |
attribute-additional-options | = | [ "NOMAP" [ "(" { argi }","+ ")" ] ] [ "NOMAPIN" [ "(" { argi }+ ")" ] ] |
[ "NOMAPOUT" [ "(" { argi }","+ ")" ] ] [ "INTER" ] [ "RETCODE" ] |
built-in-function | = | name [ "(" { argument }","* ")" ] |
built-in-function | = | "PARMSET" "(" x ")" |
built-in-function | = | "COUNTER" |
built-in-function | = | "COMPILETIME" |
built-in-function | = | "VERIFY" "(" x "," y ")" |
built-in-function | = | "UNSPEC" "(" x ")" |
built-in-function | = | "TRUNC" "(" x ")" |
built-in-function | = | "TRANSLATE" "(" x "," y [ "," z ] ")" |
built-in-function | = | "TIME" [ "(" ")" ] |
built-in-function | = | "TANH" "(" x ")" |
built-in-function | = | "TAND" "(" x ")" |
built-in-function | = | "TAN" "(" x ")" |
built-in-function | = | "SYSNULL" [ "(" ")" ] |
built-in-function | = | "SUM" "(" x ")" |
built-in-function | = | "SUBSTR" "(" x "," y [ "," z ] ")" |
built-in-function | = | "STRING" "(" x ")" |
built-in-function | = | "STORAGE" "(" x ")" |
built-in-function | = | "STATUS" [ "(" x ")" ] |
built-in-function | = | "SQRT" "(" x ")" |
built-in-function | = | "SINH" "(" x ")" |
built-in-function | = | "SIND" "(" x ")" |
built-in-function | = | "SIN" "(" x ")" |
built-in-function | = | "SIGN" "(" x ")" |
built-in-function | = | "SAMEKEY" "(" x ")" |
built-in-function | = | "ROUND" "(" x "," y ")" |
built-in-function | = | "REPEAT" "(" x "," y ")" |
built-in-function | = | "REAL" "(" x ")" |
built-in-function | = | "PROD" "(" x ")" |
built-in-function | = | "PRIORITY" "(" x ")" |
built-in-function | = | "PRECISION" "(" x "," p [ "," q ] ")" |
built-in-function | = | "POLY" "(" x "," y ")" |
built-in-function | = | "POINTERVALUE" "(" x ")" |
built-in-function | = | "POINTERADD" "(" x "," y ")" |
built-in-function | = | "POINTER" "(" x "," y ")" |
built-in-function | = | "PLIRETV" [ "(" ")" ] |
built-in-function | = | "ONSOURCE" [ "(" ")" ] |
built-in-function | = | "ONLOC" [ "(" ")" ] |
built-in-function | = | "ONKEY" [ "(" ")" ] |
built-in-function | = | "ONFILE" [ "(" ")" ] |
built-in-function | = | "ONCOUNT" [ "(" ")" ] |
built-in-function | = | "ONCODE" [ "(" ")" ] |
built-in-function | = | "ONCHAR" [ "(" ")" ] |
built-in-function | = | "OFFSET" "(" x "," y ")" |
built-in-function | = | "NULL" [ "(" ")" ] |
built-in-function | = | "MULTIPLY" "(" x "," y "," p [ "," q ] ")" |
built-in-function | = | "MPSTR" "(" x "," r [ "," y ] ")" |
built-in-function | = | "MOD" "(" x "," y ")" |
built-in-function | = | "MIN" "(" { x }","+ ")" |
built-in-function | = | "MAX" "(" { x }","+ ")" |
built-in-function | = | "LOW" "(" x ")" |
built-in-function | = | "LOG10" "(" x ")" |
built-in-function | = | "LOG2" "(" x ")" |
built-in-function | = | "LOG" "(" x ")" |
built-in-function | = | "LINENO" "(" x ")" |
built-in-function | = | "LENGTH" "(" x ")" |
built-in-function | = | "LBOUND" "(" x "," y ")" |
built-in-function | = | "INDEX" "(" x "," y ")" |
built-in-function | = | "IMAG" "(" x ")" |
built-in-function | = | "HIGH" "(" x ")" |
built-in-function | = | "HBOUND" "(" x "," y ")" |
built-in-function | = | "GRAPHIC" "(" x [ "," y ] ")" |
built-in-function | = | "FLOOR" "(" x ")" |
built-in-function | = | "FLOAT" "(" x [ "," p ] ")" |
built-in-function | = | "FIXED" "(" x [ "," p [ "," q ] ] ")" |
built-in-function | = | "EXP" "(" x ")" |
built-in-function | = | "ERFC" "(" x ")" |
built-in-function | = | "ERF" "(" x ")" |
built-in-function | = | "ENTRYADDR" "(" x ")" |
built-in-function | = | "EMPTY" [ "(" ")" ] |
built-in-function | = | "DIVIDE" "(" x "," y "," p [ "," q ] ")" |
built-in-function | = | "DIM" "(" x "," y ")" |
built-in-function | = | "DECIMAL" "(" x [ "," p [ "," q ] ] ")" |
built-in-function | = | "DATETIME" [ "(" ")" ] |
built-in-function | = | "DATE" [ "(" ")" ] |
built-in-function | = | "DATAFIELD" [ "(" ")" ] |
built-in-function | = | "CURRENTSTORAGE" "(" x ")" |
built-in-function | = | "COUNT" "(" x ")" |
built-in-function | = | "COSH" "(" x ")" |
built-in-function | = | "COSD" "(" x ")" |
built-in-function | = | "COS" "(" x ")" |
built-in-function | = | "CONJG" "(" x ")" |
built-in-function | = | "COMPLEX" "(" x "," y ")" |
built-in-function | = | "COMPLETION" "(" x ")" |
built-in-function | = | "CHAR" "(" x [ "," y ] ")" |
built-in-function | = | "CEIL" "(" x ")" |
built-in-function | = | "BOOL" "(" x "," y "," z ")" |
built-in-function | = | "BIT" "(" x [ "," y ] ")" |
built-in-function | = | "BINARYVALUE" "(" x ")" |
built-in-function | = | "BINARY" "(" x [ "," p [ "," q ] ] ")" |
built-in-function | = | "ATANH" "(" x ")" |
built-in-function | = | "ATAND" "(" x [ "," y ] ")" |
built-in-function | = | "ATAN" "(" x [ "," y ] ")" |
built-in-function | = | "ASIN" "(" x ")" |
built-in-function | = | "ANY" "(" x ")" |
built-in-function | = | "ALLOCATION" "(" x ")" |
built-in-function | = | "ALL" "(" x ")" |
built-in-function | = | "ADDR" "(" x ")" |
built-in-function | = | "ADD" "(" x "," y "," p [ "," q ] ")" |
built-in-function | = | "ACOS" "(" x ")" |
built-in-function | = | "ABS" "(" x ")" |
built-in-subroutine | = | call-name [ "(" { argument }","* ")" ] ";" |
built-in-subroutine | = | "PLITEST" [ "(" command-list ")" ] |
built-in-subroutine | = | "PLITDLI" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLISRTD" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLISRTC" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLISRTB" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLISRTA" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLIRETC" "(" return-code ")" |
built-in-subroutine | = | "PLIREST" |
built-in-subroutine | = | "PLIDUMP" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLICKPT" "(" { argument }","+ ")" |
built-in-subroutine | = | "PLICANC" |
built-in-subroutine | = | "ASMTDLI" "(" { argument }","+ ")" |
pseudovariable | = | "COMPLETION" "(" x ")" |
pseudovariable | = | "COMPLEX" "(" x "," y ")" |
pseudovariable | = | "ENTRYADDR" "(" x ")" |
pseudovariable | = | "IMAG" "(" x ")" |
pseudovariable | = | "ONCHAR" [ "(" ")" ] |
pseudovariable | = | "ONSOURCE" [ "(" ")" ] |
pseudovariable | = | "PRIORITY" [ "(" x ")" ] |
pseudovariable | = | "REAL" "(" x ")" |
pseudovariable | = | "STATUS" [ "(" x ")" ] |
pseudovariable | = | "STRING" "(" x ")" |
pseudovariable | = | "SUBSTR" "(" x "," y [ "," z ] ")" |
pseudovariable | = | "UNSPEC" "(" x ")" |
statement-options-group | = | "FILE" "(" file-reference ")" [ ( "STREAM" | "RECORD" ) ] |
[ ( "INPUT" | "OUTPUT" | "UPDATE" ) ] [ ( "DIRECT" | "SEQUENTIAL" | "TRANSIENT" ) ] [ ( "BUFFERED" | "UNBUFFERED" ) ] | ||
[ "BACKWARDS" ] [ "EXCLUSIVE" ] [ "KEYED" ] | ||
[ "PRINT" ] [ "TITLE" "(" expression ")" ] | ||
[ "LINESIZE" "(" expression ")" ] | ||
[ "PAGESIZE" "(" expression ")" ] |
data-specification | = | ( [ "LIST" ] "(" data-specification-data-list ")" | "DATA" [ "(" { data-specification-data-list }","+ ")" ] | "EDIT" { "(" data-specification-data-list ")" "(" data-specification-format-list ")" }+ ) |
data-specification-data-list | = | ( { data-list-item }","+ | { "(" data-list-item-type-3-do ")" }+ ) |
data-specification-format-list | = | { ( format-item | n-format-item | n "(" format-list ")" ) }","+ |
list-directed-data-value | = | ( [ ( "+" | "-" ) ] arithmetic-constant | [ ( "+" | "-" ) ] real-constant ( "+" | "-" ) imaginary-constant | character-constant | bit-constant | graphic-constant ) |
data-directed-data-specification | = | "DATA" [ "(" data_list ")" ] |
data-directed-element-assignment | = | { { element-variable "=" data-value }+ }","+ ";" |
edit-directed-data-specification | = | "EDIT" { "(" data_list ")" "(" format_list ")" }+ |
edit-directed-data-specification-format-list | = | ( { format_item }","+ | { n_format_item }","+ | { n "(" format_list ")" }","+ ) |
format-item | = | "A" [ "(" field-width ")" ] |
format-item | = | "B" [ "(" field-width ")" ] |
format-item | = | "C" "(" { real-format-item }","+ ")" |
format-item | = | "COLUMN" "(" character-position ")" |
format-item | = | "E" "(" field-width "," fractional-digits |
[ "," significant-digits ] ")" |
format-item | = | "F" "(" field-width |
[ "," fractional-digits [ "," scaling-factor ] ] ")" |
format-item | = | "G" [ "(" field-width ")" ] |
format-item | = | "LINE" "(" line-number ")" |
format-item | = | "P" "'" picture-specification "'" |
format-item | = | "PAGE" |
format-item | = | "R" "(" label-reference ")" |
format-item | = | "SKIP" [ "(" relative-line ")" ] |
format-item | = | "X" "(" field-width ")" |
scaling-factor-character | = | "F" "(" [ ( "+" | "-" ) ] integer ")" |
condition | = | "AREA" |
condition | = | "ATTENTION" |
condition | = | "CHECK" [ "(" { name }","+ ")" ] |
condition | = | "CONDITION" "(" name ")" |
condition | = | "CONVERSION" |
condition | = | "ENDFILE" "(" file-reference ")" |
condition | = | "ENDPAGE" "(" file-reference ")" |
condition | = | "ERROR" |
condition | = | "FINISH" |
condition | = | "FIXEDOVERFLOW" |
condition | = | "KEY" "(" file-reference ")" |
condition | = | "NAME" "(" file-reference ")" |
condition | = | "OVERFLOW" |
condition | = | "PENDING" "(" file-reference ")" |
condition | = | "RECORD" "(" file-reference ")" |
condition | = | "SIZE" |
condition | = | "STRINGRANGE" |
condition | = | "STRINGSIZE" |
condition | = | "SUBSCRIPTRANGE" |
condition | = | "TRANSMIT" "(" file-reference ")" |
condition | = | "UNDEFINEDFILE" "(" file-reference ")" |
condition | = | "UNDERFLOW" |
condition | = | "ZERODIVIDE" |
statement-preprocessor-do-specification | = | preprocessor-variable "=" preprocessor-exp1 |
[ ( "TO" preprocessor-exp2 [ "BY" preprocessor-exp3 ] | "BY" preprocessor-exp3 [ "TO" preprocessor-exp2 ] ) ] |
additional-options | attribute-characteristic-list |
additional_options | |
alignment-attribute | entry-data |
area-reference | statement-option |
area-variable | attribute |
area_reference | statement-reference |
argi | attribute-additional-options |
argument | |
argument-list | expression-reference |
arithmetic-constant | list-directed-data-value |
arithmetic_constant | attribute-initial-constant |
attribute-list | entry-data |
attribute_list | entry-data |
attribute_specification | |
attribute_specifications | statement-simple-specification |
based-locator-reference | locator-qualification |
based-reference | locator-qualification |
based-variable | |
based_variable | statement |
basic-reference | |
bit-constant | list-directed-data-value |
bit_constant | attribute-initial-constant |
bound | attribute |
built-in-name | statement |
call-name | built-in-subroutine |
character | constant |
character-constant | list-directed-data-value |
character-position | format-item |
character-reference | statement |
character_constant | attribute-initial-constant |
character_reference | statement |
characteristic-list | |
characteristic_list | entry-data |
code | statement |
command-list | built-in-subroutine |
condition-prefix | statements |
controlled-variable | statement |
data-list-item | data-specification-data-list |
data-list-item-type-3-do | data-specification-data-list |
data-value | data-directed-element-assignment |
data_list | |
data_specification | statement |
dataset | statement |
dimension | statement-attribute |
element-variable | data-directed-element-assignment |
elementary-expression | expression-unary-expression |
entry-constant | statement |
entry-reference | |
entry_constant | attribute-initial-constant |
entry_name | statement |
event-reference | |
event_reference | statement |
exp1 | |
exp2 | |
exp3 | statement-specification |
exp4 | |
exp5 | |
exp6 | statement-specification |
factored_specification | |
field-width | format-item |
file-reference | |
file_constant | attribute-initial-constant |
file_reference | statement |
format-list | |
format_item | edit-directed-data-specification-format-list |
format_list | |
fractional-digits | format-item |
generic-descriptor | attribute |
generic-name | |
graphic-constant | list-directed-data-value |
graphic-symbol | constant |
graphic_constant | attribute-initial-constant |
graphic_symbol | constant |
hex_digit | constant |
identifier | statement |
imaginary-constant | list-directed-data-value |
imaginary_constant | attribute-initial-constant |
infix-operator | expression |
initial_call_entry_reference | statement-attribute |
initial_constant | |
integer | scaling-factor-character |
isub6 | expression-elementary-expression |
item | |
iteration_factor | attribute-iteration_specification |
iteration_item | attribute-iteration_specification |
iteration_specification | attribute-item |
label | statement |
label-constant | |
label-prefix | |
label-reference | format-item |
label_constant | attribute-initial-constant |
label_reference | statement |
length | |
letter | statement-simple-specification |
level | |
line-number | format-item |
locator-qualifier | |
locator-reference | |
locator_reference | statement-reference |
lower-bound | attribute-bound |
member-name | statement |
message | statement |
n | |
n-format-item | data-specification-format-list |
n_format_item | edit-directed-data-specification-format-list |
name | |
number-of-digits | attribute |
on-unit | statement |
options-group | statement |
p | built-in-function |
parameter | |
parameter-descriptor | attribute-parameter-descriptor-list |
parameter-descriptor-list | |
parameter-list | statement |
parameter_descriptor_list | entry-data |
parameter_list | |
picture-specification | |
pointer_ref | statement |
pointer_reference | statement |
precision | statement-additional-options |
prefix-operator | expression-unary-expression |
preprocessor-do-specification | statement |
preprocessor-exp1 | statement-preprocessor-do-specification |
preprocessor-exp2 | statement-preprocessor-do-specification |
preprocessor-exp3 | statement-preprocessor-do-specification |
preprocessor-expression | statement |
preprocessor-unit1 | statement |
preprocessor-unit2 | statement |
preprocessor-variable | |
preprocessor_expression | statement |
q | built-in-function |
r | built-in-function |
real-constant | list-directed-data-value |
real-format-item | format-item |
real_constant | attribute-initial-constant |
ref | statement |
reference | |
relative-line | format-item |
reply | statement |
return-code | built-in-subroutine |
scaling-factor | |
scaling_factor | statement-additional-options |
scope-attribute | entry-data |
significant-digits | format-item |
simple_specification | |
size | |
specification | statement |
statement-label | statement |
statement_body | |
storage-attribute | entry-data |
structure-parameter-descriptor | attribute-parameter-descriptor |
structure-qualification | expression-basic-reference |
structure-variable | attribute |
subscript-list | |
task-reference | option |
task_reference | statement |
text | comments |
unary-expression | expression |
unit | statement |
unit1 | statement |
unit2 | statement |
upper-bound | attribute-bound |
value_specification | statement-attribute-specification |
variable | |
x | |
y | |
z |
____________________________ | | | >>__/*______________*/__>< | | |__text__| | |____________________________|
|
_______________________________________________________________________________ | | | >>__________________________________________________________________________> | | | <_________________________________ | | <__________________ | | | | <___________________ | | |____label-prefix__:__|__| | | |____(____condition-prefix__|__)__:__|__| | | >_________________________;________________________________________________>< | | |__statement_body__| | |_______________________________________________________________________________|
|
__________________________________________________________ | | | >>__%______________________________statement_body__;__>< | | | <__________________ | | | |____label-prefix__:__|__| | |__________________________________________________________|
|
_______________________ | | | >>_____BINARY______>< | | |__DECIMAL__| | |_______________________| ______________ | | | >>__TASK__>< | |______________| ___________________ | | | >>__CONDITION__>< | |___________________| _______________ | | | >>__PRINT__>< | |_______________| _______________ | | | >>__KEYED__>< | |_______________| ___________________ | | | >>__EXCLUSIVE__>< | |___________________| ________________________________________________ | | | >>__ENVIRONMENT__(__characteristic-list__)__>< | |________________________________________________| ___________________ | | | >>__BACKWARDS__>< | |___________________| __________________________ | | | >>_____BUFFERED_______>< | | |__UNBUFFERED__| | |__________________________| __________________________ | | | >>_____DIRECT_________>< | | |__SEQUENTIAL__| | | |__TRANSIENT___| | |__________________________| ______________________ | | | >>_____INPUT______>< | | |__OUTPUT__| | | |__UPDATE__| | |______________________| ______________________ | | | >>_____RECORD_____>< | | |__STREAM__| | |______________________| ______________ | | | >>__FILE__>< | |______________| _______________________________________________________________________________ | | | >>__generic-name__GENERIC___________________________________________________> | | <_____________________________________________________________ | | >___(____entry-reference__WHEN__(_________________________________)__|__)__>< | | | <_____________________ | | | |____generic-descriptor__|__| | |_______________________________________________________________________________| _________________ | | | >>__BUILTIN__>< | |_________________| _________________________________ | | | >>___________________________>< | | |_____IRREDUCIBLE_____| | | |__REDUCIBLE____| | |_________________________________| _______________________________________ | | | <____________ | | >>__RETURNS__(____attribute__|__)__>< | |_______________________________________| ____________________________________________ | | | >>__OPTIONS__(__characteristic-list__)__>< | |____________________________________________| ____________________________________________________________ | | | >>__ENTRY_______________________________________________>< | | |__(___________________________________)__| | | |__parameter-descriptor-list__| | |____________________________________________________________| __________________________________ | | | <_______ | | >>__INITIAL__(____item__|__)__>< | |__________________________________| ___________________ | | | >>__CONNECTED__>< | |___________________| ____________________________________ | | | >>__POSITION__(__expression__)__>< | |____________________________________| ________________________________________ | | | >>__DEFINED_____reference___________>< | | |__(__reference__)__| | |________________________________________| ___________________________________________ | | | >>__OFFSET_____________________________>< | | |__(__area-variable__)__| | |___________________________________________| _________________________________________________________________________ | | | >>__AREA_____________________________________________________________>< | | |_____(__*__)___________________________________________| | | |__(__expression_______________________________)__| | | |__REFER__(__variable__)__| | |_________________________________________________________________________| _________________ | | | >>__POINTER__>< | |_________________| ______________________________________________ | | | >>__BASED_________________________________>< | | |__(__locator-reference__)__| | |______________________________________________| ____________________ | | | >>__CONTROLLED__>< | |____________________| ___________________ | | | >>__AUTOMATIC__>< | |___________________| ________________ | | | >>__STATIC__>< | |________________| ________________________ | | | >>_____INTERNAL_____>< | | |__EXTERNAL__| | |________________________| __________________________________ | | | >>__LIKE__structure-variable__>< | |__________________________________| __________________________ | | | <________ | | >>__(____bound__|__)__>< | |__________________________| _________________________ | | | >>_____ALIGNED_______>< | | |__UNALIGNED__| | |_________________________| __________________ | | | >>__VARIABLE__>< | |__________________| ________________________________________________ | | | >>__LABEL___________________________________>< | | | <_________________ | | | |__(____label-constant__|__)__| | |________________________________________________| _______________ | | | >>__EVENT__>< | |_______________| _____________________ | | | >>_____FIXED_____>< | | |__FLOAT__| | |_____________________| _________________________________________________________ | | | >>__(__number-of-digits___________________________)__>< | | |__,__scaling-factor__| | |_________________________________________________________| _______________________ | | | >>_____REAL________>< | | |__COMPLEX__| | |_______________________| ______________________________________________________________ | | | >>__BIT___________________________________________________>< | | |__(__length_______________________________)__| | | |__REFER__(__variable__)__| | |______________________________________________________________| ____________________________________________________________________ | | | >>__CHARACTER___________________________________________________>< | | |__(__length_______________________________)__| | | |__REFER__(__variable__)__| | |____________________________________________________________________| __________________________________________________________________ | | | >>__GRAPHIC___________________________________________________>< | | |__(__length_______________________________)__| | | |__REFER__(__variable__)__| | |__________________________________________________________________| _________________ | | | >>__VARYING__>< | |_________________| ______________________________________________ | | | >>__PICTURE__'__picture-specification__'__>< | |______________________________________________|
|
__________________________________________ | | | >>__'______________________________'__>< | | | <__________________ | | | |_______character_____|__| | | |__"__________| | |__________________________________________| ________________________________________________ | | | >>__'___________________________________'X__>< | | | <_______________________ | | | |____hex_digit__hex_digit__|__| | |________________________________________________| ___________________________________ | | | >>__'______________________'B__>< | | | <__________ | | | |_______0_____|__| | | |__1__| | |___________________________________| ____________________________________________ | | | >>__'___________________________'BX_____>< | | | <____________ | |__'B4__| | | |____hex_digit__|__| | |____________________________________________| __________________________________________ | | | >>__'_____________________________'G__>< | | | <_________________ | | | |____graphic-symbol__|__| | |__________________________________________| _______________________________________________________________________ | | | >>__'_________________________________________________________'GX__>< | | | <_____________________________________________ | | | |____hex_digit__hex_digit__hex_digit__hex_digit__|__| | |_______________________________________________________________________| ___________________________________________________________ | | | >>__'______________________________________________'M__>< | | | <__________________________________ | | | |_______character_____________________|__| | | |__'__'_______________________| | | | <_________________ | | | |__<____graphic_symbol__|__>__| | |___________________________________________________________|
|
_________________________________________________ | | | >>___________________________upper-bound_____>< | | | |__lower-bound__:__| | | | |__*__________________________________| | |_________________________________________________|
|
_________________________________________________ | | | >>__expression_______________________________>< | | |__REFER__(__variable__)__| | |_________________________________________________|
|
_________________________________________________ | | | >>__expression_______________________________>< | | |__REFER__(__variable__)__| | |_________________________________________________|
|
_______________________________________________________________________ | | | >>__unary-expression_______________________________________________>< | | | <___________________________________ | | | |____infix-operator__unary-expression__|__| | |_______________________________________________________________________|
|
___________________________________________________________ | | | >>______________________________elementary-expression__>< | | | <__________________ | | | |____prefix-operator__|__| | |___________________________________________________________|
|
________________________________ | | | >>_____(__expression__)_____>< | | |__reference_________| | | |__constant__________| | | |__isub6_____________| | |________________________________|
|
_____________________________________________________________________ | | | >>___________________________basic-reference______________________> | | |__locator-qualifier__| | | >________________________________________________________________>< | | |__(__subscript-list__)__| |__(_______________________)__| | | |__argument-list__| | |_____________________________________________________________________|
|
_______________________ | | | >>__reference__->__>< | |_______________________|
|
_______________________________ | | | <___________________ | | >>_______expression_____|__>< | | |__*___________| | |_______________________________|
|
_________________________ | | | <_____________ | | >>____expression__|__>< | |_________________________|
|
_____________________________________________ | | | >>_________________________________name__>< | | |__structure-qualification__| | |_____________________________________________|
|
_____________________________________________________ | | | >>__basic-reference______________________________>< | | |__(__subscript-list__)__| | |_____________________________________________________|
|
_______________________________________ | | | <_________________ | | >>__FETCH____entry-constant__|__;__>< | |_______________________________________| ______________ | | | >>__%__;__>< | |______________| _______________________________________________________________________ | | | >>__%_______________________NOTE__(__message_________________)__;__>< | | | <___________ | |__,__code__| | | |____label__:__|__| | |_______________________________________________________________________| ________________________________________________________________________ | | | >>__%_______________________IF__preprocessor_expression______________> | | | <___________ | | | |____label__:__|__| | | >___%__THEN__preprocessor-unit1_____________________________________>< | | |__%__ELSE__preprocessor-unit2__| | |________________________________________________________________________| _________________________________________________ | | | >>__%_______________________GO_TO__label__;__>< | | | <___________ | | | |____label__:__|__| | |_________________________________________________| _____________________________________________________ | | | >>__%_______________________END_______________;__>< | | | <___________ | |__label__| | | |____label__:__|__| | |_____________________________________________________| ______________________________________________________________________ | | | >>__%_______________________DO__preprocessor-do-specification__;__>< | | | <___________ | | | |____label__:__|__| | |______________________________________________________________________| _______________________________________ | | | >>__%_______________________DO__;__>< | | | <___________ | | | |____label__:__|__| | |_______________________________________| ______________________________________________________________________________ | | | <______________________________ | | >>__%_______________________DECLARE____identifier_____FIXED_________|__;__>< | | | <___________ | |__CHARACTER__| | | |____label__:__|__| |__ENTRY______| | | |__BUILTIN____| | |______________________________________________________________________________| ________________________________________________________________ | | | <_____________ | | >>__%_______________________DEACTIVATE____identifier__|__;__>< | | | <___________ | | | |____label__:__|__| | |________________________________________________________________| ______________________________________________________________ | | | >>__%______________________________________________________> | | | <___________ | | | |____label__:__|__| | | >___preprocessor-variable__=__preprocessor_expression__;__>< | |______________________________________________________________| ____________________________________________________________________________________ | | | <___________________________________ | | >>__%_______________________ACTIVATE____identifier________________________|__;__>< | | | <___________ | |_____RESCAN_______| | | |____label__:__|__| |__NORESCAN__| | |____________________________________________________________________________________| _______________________________________________________________________ | | | >>_______________________RETURN__(__preprocessor-expression__)__;__>< | | | <___________ | | | |____label__:__|__| | |_______________________________________________________________________| ______________________________________________________________________ | | | <________________ | | >>__%____entry_name__:__|__PROCEDURE_______________________________> | | | <____________ | | | |__(____parameter__|__)__| | | >____________________RETURNS__(_____CHARACTER_____)__;____________>< | | |__STATEMENT__| |__FIXED______| | |______________________________________________________________________| _________________ | | | >>__EXIT__;__>< | |_________________| ___________________________________ | | | >>__%__SKIP_________________;__>< | | |__(__n__)__| | |___________________________________| _____________________ | | | >>__%__PRINT__;__>< | |_____________________| ____________________ | | | >>__%__PAGE__;__>< | |____________________| _______________________ | | | >>__%__NOPRINT__;__>< | |_______________________| ______________________________________________________________ | | | <___________________________________ | | >>__%__INCLUDE_______dataset__(__member-name__)_____|__;__>< | | |__member-name_________________| | |______________________________________________________________| ______________________________ | | | >>__SIGNAL__condition__;__>< | |______________________________| ______________________________ | | | >>__REVERT__condition__;__>< | |______________________________| ____________________________________________________ | | | >>__ON__condition_________________SYSTEM__;_____>< | | |__SNAP__| |__on-unit____| | |____________________________________________________| _____________________________________________________ | | | <___________ | | >>____label__:__|__FORMAT__(__format-list__)__;__>< | |_____________________________________________________| ______________________________________________________________________ | | | >>__PUT-STRING__(__character-reference__)__data-specification__;__>< | |______________________________________________________________________| _________________________________________________________________________ | | | >>__PUT_______________________________________________________________> | | |__FILE__(__file_reference__)__| |__data_specification__| | | >___________________________________________________;________________>< | | |_____PAGE___________________________________| | | | |__LINE__(__expression__)__| | | | |__SKIP________________________________| | | | |__(__expression__)__| | | | |__LINE__(__expression__)______________| | |_________________________________________________________________________| _____________________________________________________________ | | | >>__GET-STRING__(__expression__)__data-specification__;__>< | |_____________________________________________________________| _________________________________________________________________________ | | | >>__GET_______________________________________________________________> | | |__FILE__(__file-reference__)__| |__data-specification__| | | >_____________________________________________________________________> | | |__COPY__(__file-reference__)__| | | >_______________________________________;____________________________>< | | |__SKIP__________________________| | | |__(__expression__)__| | |_________________________________________________________________________| ______________________________________________________________________ | | | >>__UNLOCK__FILE__(__file-reference__)__KEY__(__expression__)__;__>< | |______________________________________________________________________| _________________________________________________________________________ | | | >>__DELETE__FILE__(__file-reference__)________________________________> | | |__KEY__(__expression__)__| | | >_______________________________________;____________________________>< | | |__EVENT__(__event_reference__)__| | |_________________________________________________________________________| _____________________________________________ | | | >>__LOCATE__based-variable________________> | | >______FILE__(__file_reference__)_____;__>< | | |__SET__(__pointer_reference___| | | |__KEYFROM__(__expression__)___| | |_____________________________________________| _________________________________________________________________________ | | | >>__REWRITE_FILE__(__file_reference__)________________________________> | | |__FROM__(__reference__)__| | | >_________________________________________________________________;__>< | | |__KEY__(__expression__)__| |__EVENT__(__event_reference__| | |_________________________________________________________________________| ___________________________________________________________________________________ | | | >>__WRITE__FILE__(__file_reference__)__FROM__(__reference__)____________________> | | >___________________________________________________________________________;__>< | | |_____KEYFROM__(__expression__)_____| |__EVENT__(__event_reference__| | | |__KEYTO__(__reference__)_____| | |___________________________________________________________________________________| ________________________________________________________________________________ | | | >>__READ__FILE__(__file_reference__)_________________________________________> | | >______INTO__(__ref__)_______________________________________________________> | | | |_____KEY__(__expression__)___________________| | | | | | |__NOLOCK__| | | | | | |__KEYTO__(__reference__)_______________| | | | |__SET__(__pointer_ref__)____________________________________________| | | | |_____KEY__(__expression__)______| | | | | |__KEYTO__(__reference__)__| | | | |__IGNORE__(__expression__)__________________________________________| | | >_________________________________;_________________________________________>< | | |__EVENT__(__reference__)__| | |________________________________________________________________________________| ___________________________________________________________________________________ | | | >>__CLOSE_______________________________________________________________________> | | <____________________________________________________________________ | | >_____FILE__(__file_reference__)_________________________________________|__;__>< | | |__ENVIRONMENT__(_____LEAVE______)__| | | |__REREAD__| | |___________________________________________________________________________________| _____________________________________ | | | <________________ | | >>__OPEN____options-group__|__;__>< | |_____________________________________| ___________________________________________ | | | >>__RETURN__________________________;__>< | | |__(__expression__)__| | |___________________________________________| ____________________________________________________________________________________ | | | >>__CALL_____entry-reference_____________________________________________________> | | |__generic-name_____| |__(_______________________)__| | | |__built-in-name____| | <___________ | | | |____argument__|__| | | >________________________________________________________________________________> | | |__TASK______________________________| |__EVENT__(__event-reference__)__| | | |__(__task_reference__)__| | | >_____________________________________;_________________________________________>< | | |__PRIORITY__(__expression__)__| | |____________________________________________________________________________________| ________________________________________________________________ | | | >>_____COBOL_________________________________________________> | | |__FORTRAN__| |__NOMAP______________________________| | | |__(__parameter-list__)__| | | >____________________________________________________________> | | |__NOMAPIN______________________________| | | |__(__parameter_list__)__| | | >___________________________________________________________>< | | |__NOMAPOUT______________________________| | | |__(__parameter_list__)__| | |________________________________________________________________| __________________________________________________________________ | | | >>_____MAIN___________________________________________________>< | | | |__NOEXECOPS__| |__REENTRANT__| |__TASK__| | | | |__COBOL_______________________________________________| | | | |__additional_options__| | | | |__FORTRAN_____________________________________________| | | |__additional_options__| | |__________________________________________________________________| ______________________________________________________________________________ | | | <____________________ | | >>____entry-constant__:__|__ENTRY__________________________________________> | | | <____________ | | | |__(____parameter__|__)__| | | >__________________________________________________________________________> | | | <____________ | | | |__RETURNS__(____attribute__|__)__| | | >______________________________________________________________________;__>< | | |__OPTIONS__(__characteristic-list__)__| |_____REDUCIBLE_______| | | |__IRREDUCIBLE__| | |______________________________________________________________________________| ____________________________________________________________________________ | | | <____________________ | | >>____entry-constant__:__|__PROCEDURE____________________________________> | | | <____________ | | | |__(____parameter__|__)__| | | >________________________________________________________________________> | | | <____________ | | | |__RETURNS__(____attribute__|__)__| | | >________________________________________________________________________> | | |__OPTIONS__(__characteristic-list__)__| |_____REDUCIBLE_______| | | |__IRREDUCIBLE__| | | >____________________________________________________________________;__>< | | |__RECURSIVE__| |_____ORDER_______| |_____CHARGRAPHIC_______| | | |__REORDER__| |__NOCHARGRAPHIC__| | |____________________________________________________________________________| _____________________________________________________________________ | | | <__________________ | | >>__WAIT__(____event-reference__|__)__________________________;__>< | | |__(__expression__)__| | |_____________________________________________________________________| _________________ | | | >>__STOP__;__>< | |_________________| _______________________________________________________________________ | | | >>__SELECT____________________;_____________________________________> | | |__(__exp1__)__| | | >__________________________________________________________________>< | | | <______________________________ | |__OTHERWISE__unit__| | | | <_______ | | | | |____WHEN__(____exp2__|__)__unit__|__| | |_______________________________________________________________________| ___________ | | | >>__;__>< | |___________| ________________________________________ | | | >>__LEAVE________________________;__>< | | |__label-constant__| | |________________________________________| ________________________________________________________ | | | >>__IF__expression__THEN__unit1_____________________>< | | |__ELSE__unit2__| | |________________________________________________________| __________________________________________ | | | >>_____GO__TO_____label_reference__;__>< | | |__GOTO____| | |__________________________________________| _______________________________________ | | | >>__END_________________________;__>< | | |__statement-label__| | |_______________________________________| _________________________________________________ | | | <________________ | | >>__DO__reference__=____specification__|__;__>< | |_________________________________________________| _________________________________________________________________ | | | >>__DO_____WHILE__(__exp4__)______________________________;__>< | | | |__UNTIL__(__exp5__)__| | | | |__UNTIL__(__exp5__)___________________________| | | |__WHILE__(__exp4__)__| | |_________________________________________________________________| _______________ | | | >>__DO__;__>< | |_______________| _______________________________________________________________________________________ | | | >>__DISPLAY__(__expression__)_______________________________________________________> | | >______REPLY__(__character_reference__)_________________________________________;__>< | | | |__EVENT__(__event_reference__)__| | | | |__EVENT__(__event_reference__)__reply__(__character_reference__)________| | |_______________________________________________________________________________________| ______________________________________ | | | >>__DISPLAY__(__expression__)__;__>< | |______________________________________| ____________________________________ | | | >>__DELAY__(__expression__)__;__>< | |____________________________________| _____________________________________________________________ | | | <____________ | | >>____reference__|__=__expression_____________________;__>< | | |__,__BY__NAME__| | |_____________________________________________________________| ______________________________ | | | <_________ | | >>__FREE____option__|__;__>< | |______________________________| ___________________________________________________________ | | | <__________________________________ | | >>__ALLOCATE____based_variable___________________|__;__>< | | |__reference__| | |___________________________________________________________| ___________________________________________ | | | <______________________ | | >>__FREE____controlled-variable__|__;__>< | |___________________________________________| __________________________________________________________________________ | | | <____________________________________________________ | | >>__ALLOCATE_________________controlled-variable___________________|__>< | | |__level__| |__attribute__| | |__________________________________________________________________________| _________________________________________ | | | <_________________ | | >>__RELEASE____entry-constant__|__;__>< | |_________________________________________| __________________________________________________________________ | | | >>__BEGIN__________________________________________________;__>< | | |_____ORDER_______| |_____CHARGRAPHIC_______| | | |__REORDER__| |__NOCHARGRAPHIC__| | |__________________________________________________________________| ________________________________________________________________________________ | | | <________________________________________________________ | | >>__DECLARE_________________name______________________________________|__;__>< | | |__level__| | <____________ | |__SYSTEM__| | | |____attribute__|__| | |________________________________________________________________________________| _______________________________________________________ | | | <_______________________________ | | >>__DEFAULT_______simple_specification_______|__;__>< | | |__factored_specification__| | |_______________________________________________________|
|
________________________________________________________________________________________ | | | <__________________________ | | <_________ | | | >>_____RANGE__(_________letter__|___________|__)____________________________________>< | | | |__letter__:__letter__| |__attribute_specification__| | | | | | | | |__RANGE__(__*__)____________________________________________________________| | | | |__attribute_specification__| | | | |__DESCRIPTORS_______________________________________________________________| | | |__attribute_specifications__| | | | | | |________________________________________________________________________________________|
|
________________________________________________________________________________ | | | <_______________________________ | | >>__(_______simple_specification_______|__)_________________________________>< | | |__factored_specification__| |__attribute_specification__| | |________________________________________________________________________________|
|
___________________________________________________________________________ | | | <____________ | | >>_______attribute__|__________________________________________________>< | | | | <______________________ | | | | | |__VALUE__(____value_specification__|__)__| | | | | <______________________ | | | |__VALUE__(____value_specification__|__)________________________| | | | |___________________________________________________________________________|
|
_______________________________________ | | | >>_____AREA__(__size__)____________>< | | |__BIT__(__length__)________| | | |__CHARACTER__(__length__)__| | | |__GRAPHIC__(__length__)____| | | |__additional_options_______| | |_______________________________________|
|
_____________________________________________________________________ | | | >>________________________________________________________________> | | |_____REAL________| |_____FIXED_____| |_____BINARY______| | | |__COMPLEX__| |__FLOAT__| |__DECIMAL__| | | >________________________________________________________________>< | | |__(__precision___________________________)__| | | |__,__scaling_factor__| | |_____________________________________________________________________| ____________________________________________________ | | | >>_______________________________________________> | | |__NOMAP______________________________| | | |__(__parameter_list__)__| | | >________________________________________________> | | |__NOMAPIN______________________________| | | |__(__parameter_list__)__| | | >_______________________________________________>< | | |__NOMAPOUT______________________________| | | |__(__parameter_list__)__| | |____________________________________________________|
|
_______________________________________________________________________ | | | >>_____dimension___________________________________________________>< | | |__CHARACTER__(__length_____________________________________| | | |__BIT__(__length__)________________________________________| | | |__GRAPHIC__(__length__)____________________________________| | | |__AREA__(__size__)_________________________________________| | | | <_______ | | | |__INITIAL__(____ITEM__|__)_________________________________| | | |__initial_call_entry_reference_____________________________| | | | <___________ | | | |__(____argument__|__)__| | |_______________________________________________________________________|
|
_______________________________________________________________________ | | | >>__locator-reference__->___________________________________________> | | | <______________________________ | | | |____based-locator-reference__->__|__| | | >___based-reference________________________________________________>< | |_______________________________________________________________________|
|
____________________________________________________________________________ | | | >>______________________________________________________________________>< | | |__IN__(__area_reference__)__| |__SET__(__locator_reference__)__| | |____________________________________________________________________________|
|
____________________________________________________ | | | >>______________________________based-variable___> | | |__locator-qualifier__>__| | | >_______________________________________________>< | | |__IN__(__area-reference__)__| | |____________________________________________________|
|
___________________________________________ | | | >>__expression__REFER__(__variable__)__>< | |___________________________________________| ____________________________________ | | | >>__PRIORITY__(__expression__)__>< | |____________________________________| ______________________________________ | | | >>__EVENT__(__event-reference__)__>< | |______________________________________| __________________________________________ | | | >>__TASK______________________________>< | | |__(__task-reference__)__| | |__________________________________________|
|
_______________________________________ | | | >>_____*___________________________>< | | |__initial_constant_________| | | |__reference________________| | | |__(__expression__)_________| | | |__iteration_specification__| | |_______________________________________|
|
________________________________________________ | | | >>__(__iteration_factor__)__iteration_item__>< | |________________________________________________|
|
________________________________ | | | >>_____*____________________>< | | |__initial_constant__| | | |__reference_________| | | | <_______ | | | |__(____item__|__)___| | |________________________________|
|
_________________________________________________________________________ | | | >>____________________arithmetic_constant____________________________>< | | | |_____+_____| | | | | |__-__| | | | |__bit_constant_______________________________________________| | | |__character_constant_________________________________________| | | |__graphic_constant___________________________________________| | | |__entry_constant_____________________________________________| | | |__file_constant______________________________________________| | | |__label_constant_____________________________________________| | | |_________________real_constant_____+_____imaginary_constant__| | | |_____+_____| |__-__| | | |__-__| | |_________________________________________________________________________| ___________________________________________________________________ | | | >>__INITIAL__CALL__entry-reference_____________________________>< | | | <___________ | | | |__(____argument__|__)__| | |___________________________________________________________________|
|
___________________________________________________________________ | | | >>__exp1________________________________________________________> | | |_____TO__exp2_____________________| | | | |__BY__exp3__| | | | |__BY__exp3__________________| | | | |__TO__exp2__| | | | |__REPEAT__exp6______________| | | >______________________________________________________________>< | | |_____WHILE__(__exp4__)_________________________________| | | | |__(__UNTIL__(__exp5__)__| | | | |__UNTIL__(__exp5__)______________________________| | | |__(__WHILE__(__exp4__)__| | |___________________________________________________________________|
|
__________________________________________________________________ | | | >>__ENTRY______________________________________________________> | | |__(__parameter-descriptor-list__)__| | | >______________________________________________________________> | | |__RETURNS__(__attribute-list__)__| | | >______________________________________________________________> | | |__OPTIONS__(__characteristic-list__)__| |__EXTERNAL__| | | >_____________________________________________________________>< | | |_____IRREDUCIBLE_____| | | |__REDUCIBLE____| | |__________________________________________________________________| ___________________________________________________________________________ | | | >>__ENTRY_______________________________________________________________> | | |__(__parameter_descriptor_list__)__| |__VARIABLE__| | | >_______________________________________________________________________> | | |__RETURNS__(__attribute_list__)__| | | >_______________________________________________________________________> | | |__OPTIONS__(__characteristic_list__)__| |_____IRREDUCIBLE_____| | | |__REDUCIBLE____| | | >_______________________________________________________________________> | | |__scope-attribute__| |__storage-attribute__| | | >_______________________________________________________________________> | | |__alignment-attribute__| |__parameter__| | | >______________________________________________________________________>< | | |__DEFINED__| |__INITIAL__| | |___________________________________________________________________________|
|
___________________________________ | | | <_______________________ | | >>____parameter-descriptor__|__>< | |___________________________________|
|
____________________________________________________ | | | >>______________________________________________>< | | | <____________ | | | |_______attribute__|_____________________| | | |__*_______________________________| | | |__structure-parameter-descriptor__| | | | |____________________________________________________|
|
______________________________________________________________________ | | | <______________________________ | | >>__1________________________,____level________________________|__>< | | | <____________ | | <____________ | | | |____attribute__|__| |____attribute__|__| | |______________________________________________________________________|
|
___________________________________________________ | | | >>_____COBOL___________________________________>< | | |__FORTRAN____| |__additional-options__| | | |__ASSEMBLER__| | |___________________________________________________|
|
__________________________________________________________________________________ | | | >>_____________________________________________________________________________> | | |__NOMAP_________________________| |__NOMAPIN_________________________| | | | <_______ | | <_______ | | | |__(____argi__|__)__| |__(____argi__|__)__| | | >_____________________________________________________________________________>< | | |__NOMAPOUT_________________________| |__INTER__| |__RETCODE__| | | | <_______ | | | |__(____argi__|__)__| | |__________________________________________________________________________________|
|
_______________________________________________ | | | >>__name___________________________________>< | | |__(_______________________)__| | | | <___________ | | | |____argument__|__| | |_______________________________________________| __________________________ | | | >>__PARMSET__(__x__)__>< | |__________________________| _________________ | | | >>__COUNTER__>< | |_________________| _____________________ | | | >>__COMPILETIME__>< | |_____________________| _______________________________ | | | >>__VERIFY__(__x__,__y__)__>< | |_______________________________| _________________________ | | | >>__UNSPEC__(__x__)__>< | |_________________________| ________________________ | | | >>__TRUNC__(__x__)__>< | |________________________| ______________________________________________ | | | >>__TRANSLATE__(__x__,__y______________)__>< | | |__,__z__| | |______________________________________________| __________________________ | | | >>__TIME______________>< | | |__(__)__| | |__________________________| _______________________ | | | >>__TANH__(__x__)__>< | |_______________________| _______________________ | | | >>__TAND__(__x__)__>< | |_______________________| ______________________ | | | >>__TAN__(__x__)__>< | |______________________| _____________________________ | | | >>__SYSNULL______________>< | | |__(__)__| | |_____________________________| ______________________ | | | >>__SUM__(__x__)__>< | |______________________| ___________________________________________ | | | >>__SUBSTR__(__x__,__y______________)__>< | | |__,__z__| | |___________________________________________| _________________________ | | | >>__STRING__(__x__)__>< | |_________________________| __________________________ | | | >>__STORAGE__(__x__)__>< | |__________________________| _______________________________ | | | >>__STATUS_________________>< | | |__(__x__)__| | |_______________________________| _______________________ | | | >>__SQRT__(__x__)__>< | |_______________________| _______________________ | | | >>__SINH__(__x__)__>< | |_______________________| _______________________ | | | >>__SIND__(__x__)__>< | |_______________________| ______________________ | | | >>__SIN__(__x__)__>< | |______________________| _______________________ | | | >>__SIGN__(__x__)__>< | |_______________________| __________________________ | | | >>__SAMEKEY__(__x__)__>< | |__________________________| ______________________________ | | | >>__ROUND__(__x__,__y__)__>< | |______________________________| _______________________________ | | | >>__REPEAT__(__x__,__y__)__>< | |_______________________________| _______________________ | | | >>__REAL__(__x__)__>< | |_______________________| _______________________ | | | >>__PROD__(__x__)__>< | |_______________________| ___________________________ | | | >>__PRIORITY__(__x__)__>< | |___________________________| ______________________________________________ | | | >>__PRECISION__(__x__,__p______________)__>< | | |__,__q__| | |______________________________________________| _____________________________ | | | >>__POLY__(__x__,__y__)__>< | |_____________________________| _______________________________ | | | >>__POINTERVALUE__(__x__)__>< | |_______________________________| ___________________________________ | | | >>__POINTERADD__(__x__,__y__)__>< | |___________________________________| ________________________________ | | | >>__POINTER__(__x__,__y__)__>< | |________________________________| _____________________________ | | | >>__PLIRETV______________>< | | |__(__)__| | |_____________________________| ______________________________ | | | >>__ONSOURCE______________>< | | |__(__)__| | |______________________________| ___________________________ | | | >>__ONLOC______________>< | | |__(__)__| | |___________________________| ___________________________ | | | >>__ONKEY______________>< | | |__(__)__| | |___________________________| ____________________________ | | | >>__ONFILE______________>< | | |__(__)__| | |____________________________| _____________________________ | | | >>__ONCOUNT______________>< | | |__(__)__| | |_____________________________| ____________________________ | | | >>__ONCODE______________>< | | |__(__)__| | |____________________________| ____________________________ | | | >>__ONCHAR______________>< | | |__(__)__| | |____________________________| _______________________________ | | | >>__OFFSET__(__x__,__y__)__>< | |_______________________________| __________________________ | | | >>__NULL______________>< | | |__(__)__| | |__________________________| ___________________________________________________ | | | >>__MULTIPLY__(__x__,__y__,__p______________)__>< | | |__,__q__| | |___________________________________________________| __________________________________________ | | | >>__MPSTR__(__x__,__r______________)__>< | | |__,__y__| | |__________________________________________| ____________________________ | | | >>__MOD__(__x__,__y__)__>< | |____________________________| ___________________________ | | | <____ | | >>__MIN__(____x__|__)__>< | |___________________________| ___________________________ | | | <____ | | >>__MAX__(____x__|__)__>< | |___________________________| ______________________ | | | >>__LOW__(__x__)__>< | |______________________| ________________________ | | | >>__LOG10__(__x__)__>< | |________________________| _______________________ | | | >>__LOG2__(__x__)__>< | |_______________________| ______________________ | | | >>__LOG__(__x__)__>< | |______________________| _________________________ | | | >>__LINENO__(__x__)__>< | |_________________________| _________________________ | | | >>__LENGTH__(__x__)__>< | |_________________________| _______________________________ | | | >>__LBOUND__(__x__,__y__)__>< | |_______________________________| ______________________________ | | | >>__INDEX__(__x__,__y__)__>< | |______________________________| _______________________ | | | >>__IMAG__(__x__)__>< | |_______________________| _______________________ | | | >>__HIGH__(__x__)__>< | |_______________________| _______________________________ | | | >>__HBOUND__(__x__,__y__)__>< | |_______________________________| ______________________________________ | | | >>__GRAPHIC__(__x______________)__>< | | |__,__y__| | |______________________________________| ________________________ | | | >>__FLOOR__(__x__)__>< | |________________________| ____________________________________ | | | >>__FLOAT__(__x______________)__>< | | |__,__p__| | |____________________________________| ________________________________________________ | | | >>__FIXED__(__x__________________________)__>< | | |__,__p______________| | | |__,__q__| | |________________________________________________| ______________________ | | | >>__EXP__(__x__)__>< | |______________________| _______________________ | | | >>__ERFC__(__x__)__>< | |_______________________| ______________________ | | | >>__ERF__(__x__)__>< | |______________________| ____________________________ | | | >>__ENTRYADDR__(__x__)__>< | |____________________________| ___________________________ | | | >>__EMPTY______________>< | | |__(__)__| | |___________________________| _________________________________________________ | | | >>__DIVIDE__(__x__,__y__,__p______________)__>< | | |__,__q__| | |_________________________________________________| ____________________________ | | | >>__DIM__(__x__,__y__)__>< | |____________________________| __________________________________________________ | | | >>__DECIMAL__(__x__________________________)__>< | | |__,__p______________| | | |__,__q__| | |__________________________________________________| ______________________________ | | | >>__DATETIME______________>< | | |__(__)__| | |______________________________| __________________________ | | | >>__DATE______________>< | | |__(__)__| | |__________________________| _______________________________ | | | >>__DATAFIELD______________>< | | |__(__)__| | |_______________________________| _________________________________ | | | >>__CURRENTSTORAGE__(__x__)__>< | |_________________________________| ________________________ | | | >>__COUNT__(__x__)__>< | |________________________| _______________________ | | | >>__COSH__(__x__)__>< | |_______________________| _______________________ | | | >>__COSD__(__x__)__>< | |_______________________| ______________________ | | | >>__COS__(__x__)__>< | |______________________| ________________________ | | | >>__CONJG__(__x__)__>< | |________________________| ________________________________ | | | >>__COMPLEX__(__x__,__y__)__>< | |________________________________| _____________________________ | | | >>__COMPLETION__(__x__)__>< | |_____________________________| ___________________________________ | | | >>__CHAR__(__x______________)__>< | | |__,__y__| | |___________________________________| _______________________ | | | >>__CEIL__(__x__)__>< | |_______________________| ___________________________________ | | | >>__BOOL__(__x__,__y__,__z__)__>< | |___________________________________| __________________________________ | | | >>__BIT__(__x______________)__>< | | |__,__y__| | |__________________________________| ______________________________ | | | >>__BINARYVALUE__(__x__)__>< | |______________________________| _________________________________________________ | | | >>__BINARY__(__x__________________________)__>< | | |__,__p______________| | | |__,__q__| | |_________________________________________________| ________________________ | | | >>__ATANH__(__x__)__>< | |________________________| ____________________________________ | | | >>__ATAND__(__x______________)__>< | | |__,__y__| | |____________________________________| ___________________________________ | | | >>__ATAN__(__x______________)__>< | | |__,__y__| | |___________________________________| _______________________ | | | >>__ASIN__(__x__)__>< | |_______________________| ______________________ | | | >>__ANY__(__x__)__>< | |______________________| _____________________________ | | | >>__ALLOCATION__(__x__)__>< | |_____________________________| ______________________ | | | >>__ALL__(__x__)__>< | |______________________| _______________________ | | | >>__ADDR__(__x__)__>< | |_______________________| ______________________________________________ | | | >>__ADD__(__x__,__y__,__p______________)__>< | | |__,__q__| | |______________________________________________| _______________________ | | | >>__ACOS__(__x__)__>< | |_______________________| ______________________ | | | >>__ABS__(__x__)__>< | |______________________|
|
_______________________________________________________ | | | >>__call-name___________________________________;__>< | | |__(_______________________)__| | | | <___________ | | | |____argument__|__| | |_______________________________________________________| ___________________________________________ | | | >>__PLITEST____________________________>< | | |__(__command-list__)__| | |___________________________________________| ______________________________________ | | | <___________ | | >>__PLITDLI__(____argument__|__)__>< | |______________________________________| ______________________________________ | | | <___________ | | >>__PLISRTD__(____argument__|__)__>< | |______________________________________| ______________________________________ | | | <___________ | | >>__PLISRTC__(____argument__|__)__>< | |______________________________________| ______________________________________ | | | <___________ | | >>__PLISRTB__(____argument__|__)__>< | |______________________________________| ______________________________________ | | | <___________ | | >>__PLISRTA__(____argument__|__)__>< | |______________________________________| ____________________________________ | | | >>__PLIRETC__(__return-code__)__>< | |____________________________________| _________________ | | | >>__PLIREST__>< | |_________________| ______________________________________ | | | <___________ | | >>__PLIDUMP__(____argument__|__)__>< | |______________________________________| ______________________________________ | | | <___________ | | >>__PLICKPT__(____argument__|__)__>< | |______________________________________| _________________ | | | >>__PLICANC__>< | |_________________| ______________________________________ | | | <___________ | | >>__ASMTDLI__(____argument__|__)__>< | |______________________________________|
|
_____________________________ | | | >>__COMPLETION__(__x__)__>< | |_____________________________| ________________________________ | | | >>__COMPLEX__(__x__,__y__)__>< | |________________________________| ____________________________ | | | >>__ENTRYADDR__(__x__)__>< | |____________________________| _______________________ | | | >>__IMAG__(__x__)__>< | |_______________________| ____________________________ | | | >>__ONCHAR______________>< | | |__(__)__| | |____________________________| ______________________________ | | | >>__ONSOURCE______________>< | | |__(__)__| | |______________________________| _________________________________ | | | >>__PRIORITY_________________>< | | |__(__x__)__| | |_________________________________| _______________________ | | | >>__REAL__(__x__)__>< | |_______________________| _______________________________ | | | >>__STATUS_________________>< | | |__(__x__)__| | |_______________________________| _________________________ | | | >>__STRING__(__x__)__>< | |_________________________| ___________________________________________ | | | >>__SUBSTR__(__x__,__y______________)__>< | | |__,__z__| | |___________________________________________| _________________________ | | | >>__UNSPEC__(__x__)__>< | |_________________________|
|
____________________________________________________________________________ | | | >>__FILE__(__file-reference__)___________________________________________> | | |_____STREAM_____| | | |__RECORD__| | | >________________________________________________________________________> | | |_____INPUT______| |_____DIRECT_________| |_____BUFFERED_______| | | |__OUTPUT__| |__SEQUENTIAL__| |__UNBUFFERED__| | | |__UPDATE__| |__TRANSIENT___| | | >________________________________________________________________________> | | |__BACKWARDS__| |__EXCLUSIVE__| |__KEYED__| | | >________________________________________________________________________> | | |__PRINT__| |__TITLE__(__expression__)__| | | >________________________________________________________________________> | | |__LINESIZE__(__expression__)__| | | >_______________________________________________________________________>< | | |__PAGESIZE__(__expression__)__| | |____________________________________________________________________________|
|
___________________________________________________________________________________________________ | | | >>_________________(__data-specification-data-list__)__________________________________________>< | | | |__LIST__| | | | |__DATA_________________________________________________________________________________| | | | | <_______________________________ | | | | | |__(____data-specification-data-list__|__)__| | | | | <___________________________________________________________________________ | | | |__EDIT____(__data-specification-data-list__)__(__data-specification-format-list__)__|__| | |___________________________________________________________________________________________________|
|
___________________________________________________ | | | <_________________ | | >>_______data-list-item__|_____________________>< | | | <_________________________________ | | | |____(__data-list-item-type-3-do__)__|__| | | | |___________________________________________________|
|
_________________________________________ | | | <_____________________________ | | >>_______format-item______________|__>< | | |__n-format-item_________| | | |__n__(__format-list__)__| | |_________________________________________|
|
_________________________________________________________________________ | | | >>____________________arithmetic-constant____________________________>< | | | |_____+_____| | | | | |__-__| | | | |_________________real-constant_____+_____imaginary-constant__| | | | |_____+_____| |__-__| | | | | |__-__| | | | |__character-constant_________________________________________| | | |__bit-constant_______________________________________________| | | |__graphic-constant___________________________________________| | |_________________________________________________________________________|
|
_____________________________________ | | | >>__DATA_________________________>< | | |__(__data_list__)__| | |_____________________________________|
|
______________________________________________________ | | | <_______________________________________ | | <__________________________________ | | | >>______element-variable__=__data-value__|__|__;__>< | |______________________________________________________|
|
_______________________________________________________ | | | <_____________________________________ | | >>__EDIT____(__data_list__)__(__format_list__)__|__>< | |_______________________________________________________|
|
_________________________________________ | | | <______________ | | >>_______format_item__|______________>< | | | <________________ | | | |____n_format_item__|_________| | | | <_______________________ | | | |____n__(__format_list__)__|__| | | | |_________________________________________|
|
____________________________________ | | | >>__A___________________________>< | | |__(__field-width__)__| | |____________________________________| ____________________________________ | | | >>__B___________________________>< | | |__(__field-width__)__| | |____________________________________| ________________________________________ | | | <___________________ | | >>__C__(____real-format-item__|__)__>< | |________________________________________| __________________________________________ | | | >>__COLUMN__(__character-position__)__>< | |__________________________________________| _________________________________________________ | | | >>__E__(__field-width__,__fractional-digits___> | | >________________________________)___________>< | | |__,__significant-digits__| | |_________________________________________________| ________________________________________________________________ | | | >>__F__(__field-width________________________________________> | | >________________________________________________________)__>< | | |__,__fractional-digits___________________________| | | |__,__scaling-factor__| | |________________________________________________________________| ____________________________________ | | | >>__G___________________________>< | | |__(__field-width__)__| | |____________________________________| _________________________________ | | | >>__LINE__(__line-number__)__>< | |_________________________________| ________________________________________ | | | >>__P__'__picture-specification__'__>< | |________________________________________| ______________ | | | >>__PAGE__>< | |______________| __________________________________ | | | >>__R__(__label-reference__)__>< | |__________________________________| _________________________________________ | | | >>__SKIP_____________________________>< | | |__(__relative-line__)__| | |_________________________________________| ______________________________ | | | >>__X__(__field-width__)__>< | |______________________________|
|
_________________________________________ | | | >>__F__(_________________integer__)__>< | | |_____+_____| | | |__-__| | |_________________________________________|
|
______________ | | | >>__AREA__>< | |______________| ___________________ | | | >>__ATTENTION__>< | |___________________| ______________________________________ | | | >>__CHECK_________________________>< | | | <_______ | | | |__(____name__|__)__| | |______________________________________| _______________________________ | | | >>__CONDITION__(__name__)__>< | |_______________________________| ____________________ | | | >>__CONVERSION__>< | |____________________| _______________________________________ | | | >>__ENDFILE__(__file-reference__)__>< | |_______________________________________| _______________________________________ | | | >>__ENDPAGE__(__file-reference__)__>< | |_______________________________________| _______________ | | | >>__ERROR__>< | |_______________| ________________ | | | >>__FINISH__>< | |________________| _______________________ | | | >>__FIXEDOVERFLOW__>< | |_______________________| ___________________________________ | | | >>__KEY__(__file-reference__)__>< | |___________________________________| ____________________________________ | | | >>__NAME__(__file-reference__)__>< | |____________________________________| __________________ | | | >>__OVERFLOW__>< | |__________________| _______________________________________ | | | >>__PENDING__(__file-reference__)__>< | |_______________________________________| ______________________________________ | | | >>__RECORD__(__file-reference__)__>< | |______________________________________| ______________ | | | >>__SIZE__>< | |______________| _____________________ | | | >>__STRINGRANGE__>< | |_____________________| ____________________ | | | >>__STRINGSIZE__>< | |____________________| ________________________ | | | >>__SUBSCRIPTRANGE__>< | |________________________| ________________________________________ | | | >>__TRANSMIT__(__file-reference__)__>< | |________________________________________| _____________________________________________ | | | >>__UNDEFINEDFILE__(__file-reference__)__>< | |_____________________________________________| ___________________ | | | >>__UNDERFLOW__>< | |___________________| ____________________ | | | >>__ZERODIVIDE__>< | |____________________|
|
________________________________________________________________________ | | | >>__preprocessor-variable__=__preprocessor-exp1______________________> | | >___________________________________________________________________>< | | |_____TO__preprocessor-exp2__________________________________| | | | |__BY__preprocessor-exp3__| | | | |__BY__preprocessor-exp3_______________________________| | | |__TO__preprocessor-exp2__| | |________________________________________________________________________|
|
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.