::= ' ' | '\t' | '\n' | '\r' ::= | ::= | '' ::= ::= | | ::= | ::= | | | | | | ::= | ::= 'DCL-PROC' ';' 'END-PROC' ';' | 'DCL-PROC' ';' 'END-PROC' ';' ::= | ::= 'EXPORT' | 'EXTPROC' '(' ')' | 'EXTPROC' '(' '*CL' ':' ')' | 'EXTPROC' '(' '*DCLCASE' ')' ::= | | | | | | '' ::= 'DCL-PI' ';' 'END-PI' ';' | 'DCL-PI' ';' 'END-PI' ';' | 'DCL-PI' ';' 'END-PI' ';' | 'DCL-PI' ';' 'END-PI' ';' | 'DCL-PI' '*N' ';' 'END-PI' ';' | 'DCL-PI' '*N' ';' 'END-PI' ';' | 'DCL-PI' '*N' ';' 'END-PI' ';' | 'DCL-PI' '*N' ';' 'END-PI' ';' ::= | ::= ';' | ';' ::= | ::= 'VALUE' | 'CONST' | 'OPTIONS' '(' '*NOPASS' ')' | 'OPTIONS' '(' '*OMIT' ')' | 'OPTIONS' '(' '*VARSIZE' ')' ::= 'BEG-SR' ';' 'END-SR' ';' | 'BEG-SR' ';' 'END-SR' ';' ::= 'CTL-OPT' ';' ::= | ::= 'DFTACTGRP' '(' '*YES' ')' | 'DFTACTGRP' '(' '*NO' ')' | 'ACTGRP' '(' '*CALLER' ')' | 'ACTGRP' '(' '*NEW' ')' | 'ACTGRP' '(' ')' | 'BNDDIR' '(' ')' | 'OPTION' '(' ')' | 'DATFMT' '(' ')' | 'TIMFMT' '(' ')' | 'DECEDIT' '(' ')' | 'ALWNULL' '(' '*USRCTL' ')' | 'ALWNULL' '(' '*INPUTONLY' ')' | 'ALWNULL' '(' '*NO' ')' | 'DEBUG' '(' '*YES' ')' | 'DEBUG' '(' '*NO' ')' | 'EXPROPTS' '(' '*RESDECPOS' ')' | 'MAIN' '(' ')' | 'NOMAIN' | 'COPYRIGHT' '(' ')' | 'STGMDL' '(' '*SNGLVL' ')' | 'STGMDL' '(' '*TERASPACE' ')' | 'STGMDL' '(' '*INHERIT' ')' | 'TEXT' '(' ')' | 'TRUNCNBR' '(' '*YES' ')' | 'TRUNCNBR' '(' '*NO' ')' ::= ':' | ::= '*SRCSTMT' | '*NODEBUGIO' | '*NOUNREF' | '*NOSHOWCPY' ::= 'DCL-F' ';' | 'DCL-F' ';' ::= | ::= 'KEYED' | 'USAGE' '(' '*INPUT' ')' | 'USAGE' '(' '*OUTPUT' ')' | 'USAGE' '(' '*UPDATE' ':' '*DELETE' ')' | 'USAGE' '(' '*UPDATE' ')' | 'USAGE' '(' '*DELETE' ')' | 'DISK' | 'PRINTER' | 'SEQ' | 'RENAME' '(' ':' ')' | 'QUALIFIED' | 'TEMPLATE' | 'EXTFILE' '(' ')' | 'EXTFILE' '(' ')' | 'EXTMBR' '(' ')' | 'EXTMBR' '(' ')' | 'EXTDESC' '(' ')' | 'STATIC' | 'INFDS' '(' ')' | 'BLOCK' '(' '*YES' ')' | 'BLOCK' '(' '*NO' ')' ::= 'DCL-S' ';' | 'DCL-S' ';' ::= 'DCL-C' ';' | 'DCL-C' 'CONST' '(' ')' ';' ::= 'DCL-C' ';' ::= '*ON' | '*OFF' | '*BLANKS' | '*BLANK' | '*ZEROS' | '*ZERO' | '*HIVAL' | '*LOVAL' | '*NULL' ::= 'DCL-DS' ';' 'END-DS' ';' | 'DCL-DS' ';' 'END-DS' ';' | 'DCL-DS' ';' 'END-DS' ';' | 'DCL-DS' ';' 'END-DS' ';' ::= | ::= 'QUALIFIED' | 'TEMPLATE' | 'LIKEDS' '(' ')' | 'LIKEREC' '(' ':' ')' | 'EXTNAME' '(' ':' ')' | 'EXTNAME' '(' ')' | 'BASED' '(' ')' | 'INZ' | 'INZ' '(' '*EXTDFT' ')' | 'DIM' '(' ')' | 'STATIC' ::= '*INPUT' | '*OUTPUT' | '*ALL' | '*KEY' | ::= | ::= ';' | ';' | ::= | ::= 'INZ' | 'INZ' '(' ')' | 'INZ' '(' ')' | 'STATIC' | 'BASED' '(' ')' | 'DIM' '(' ')' | 'LIKE' '(' ')' | 'LIKEDS' '(' ')' | 'ASCEND' | 'DESCEND' | 'ALTSEQ' | 'OPDESC' | 'NOOPT' | 'VOLATILE' ::= 'CHAR' '(' ')' | 'VARCHAR' '(' ')' | 'GRAPH' '(' ')' | 'VARGRAPH' '(' ')' | 'UCS2' '(' ')' | 'VARUCS2' '(' ')' | 'PACKED' '(' ':' ')' | 'ZONED' '(' ':' ')' | 'BINDEC' '(' ':' ')' | 'INT' '(' ')' | 'UNS' '(' ')' | 'FLOAT' '(' ')' | 'DATE' | 'DATE' '(' ')' | 'TIME' | 'TIME' '(' ')' | 'TIMESTAMP' | 'TIMESTAMP' '(' ')' | 'IND' | 'POINTER' | 'POINTER' 'PROCPTR' | 'OBJECT' '(' '*JAVA' ':' ')' | 'LIKE' '(' ')' | 'LIKEDS' '(' ')' | 'LIKEREC' '(' ':' ')' ::= '*MDY' | '*DMY' | '*YMD' | '*JUL' | '*ISO' | '*USA' | '*EUR' | '*JIS' ::= '*HMS' | '*ISO' | '*USA' | '*EUR' | '*JIS' ::= | ::= | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ::= '=' ';' | 'EVAL' '=' ';' | 'EVAL' '(' ')' '=' ';' | 'EVALR' '=' ';' | 'EVAL-CORR' '=' ';' ::= 'H' | 'T' | 'E' ::= | '(' ')' ::= 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' | 'IF' ';' 'ENDIF' ';' ::= | ::= 'ELSEIF' ';' | 'ELSEIF' ';' ::= 'ELSE' ';' | 'ELSE' ';' ::= 'DOW' ';' 'ENDDO' ';' | 'DOW' ';' 'ENDDO' ';' ::= 'DOU' ';' 'ENDDO' ';' | 'DOU' ';' 'ENDDO' ';' ::= 'FOR' '=' 'TO' ';' 'ENDFOR' ';' | 'FOR' '=' 'TO' 'BY' ';' 'ENDFOR' ';' | 'FOR' '=' 'DOWNTO' ';' 'ENDFOR' ';' | 'FOR' '=' 'DOWNTO' 'BY' ';' 'ENDFOR' ';' | 'FOR' '=' 'TO' ';' 'ENDFOR' ';' | 'FOR' '=' 'DOWNTO' ';' 'ENDFOR' ';' ::= 'SELECT' ';' 'ENDSL' ';' | 'SELECT' ';' 'ENDSL' ';' | 'SELECT' ';' 'ENDSL' ';' ::= | ::= 'WHEN' ';' | 'WHEN' ';' ::= 'OTHER' ';' | 'OTHER' ';' ::= 'MONITOR' ';' 'ENDMON' ';' | 'MONITOR' ';' 'ENDMON' ';' ::= | ::= 'ON-ERROR' ';' | 'ON-ERROR' ';' | 'ON-ERROR' ';' | 'ON-ERROR' ';' ::= ':' | ::= | '*PROGRAM' | '*FILE' | '*ALL' ::= 'CALLP' '(' ')' ';' | 'CALLP' '(' ')' ';' | 'CALLP' ';' | '(' ')' ';' | '(' ')' ';' ::= 'RETURN' ';' | 'RETURN' ';' ::= 'LEAVE' ';' ::= 'ITER' ';' ::= 'LEAVESR' ';' ::= 'EXSR' ';' ::= 'READ' ';' | 'READ' ';' | 'READ' '(' 'N' ')' ';' ::= 'READP' ';' | 'READP' ';' ::= 'READE' ';' | 'READE' ';' | 'READE' '(' 'N' ')' ';' ::= 'READPE' ';' | 'READPE' ';' ::= 'WRITE' ';' | 'WRITE' ';' | 'WRITE' '(' 'E' ')' ';' ::= 'UPDATE' ';' | 'UPDATE' ';' | 'UPDATE' '(' 'E' ')' ';' ::= 'DELETE' ';' | 'DELETE' '(' 'E' ')' ';' | 'DELETE' ';' ::= 'CHAIN' ';' | 'CHAIN' '(' 'N' ')' ';' | 'CHAIN' '(' 'E' ')' ';' ::= 'SETLL' ';' | 'SETLL' '*START' ';' | 'SETLL' '*END' ';' ::= 'SETGT' ';' | 'SETGT' '*START' ';' | 'SETGT' '*END' ';' ::= 'OPEN' ';' | 'OPEN' '(' 'E' ')' ';' ::= 'CLOSE' ';' | 'CLOSE' '(' 'E' ')' ';' | 'CLOSE' '*ALL' ';' ::= 'EXCEPT' ';' | 'EXCEPT' ';' ::= 'EXFMT' ';' | 'EXFMT' '(' 'E' ')' ';' ::= 'DSPLY' ';' | 'DSPLY' '(' ':' ':' ')' ';' | 'DSPLY' '(' ')' ';' ::= 'RESET' ';' | 'RESET' '*ALL' ';' ::= 'CLEAR' ';' ::= 'SORTA' ';' | 'SORTA' '(' 'A' ')' ';' | 'SORTA' '(' 'D' ')' ';' ::= 'DEALLOC' ';' | 'DEALLOC' '(' 'N' ')' ';' ::= 'DUMP' ';' | 'DUMP' '(' 'A' ')' ';' ::= 'FORCE' ';' ::= 'POST' ';' | 'POST' '(' 'E' ')' ';' ::= 'FEOD' ';' ::= 'UNLOCK' ';' ::= ::= ::= 'OR' | ::= 'AND' | ::= 'NOT' | ::= '=' | '<>' | '>=' | '<=' | '>' | '<' | ::= '+' | '-' | ::= '**' | '*' | '/' | ::= '-' | '+' | ::= | | | | '(' ')' | '(' ')' | '(' ')' | | '(' ')' ::= '*IN' '(' ')' | '*IN' | '*ON' | '*OFF' | '*BLANK' | '*BLANKS' | '*ZERO' | '*ZEROS' | '*HIVAL' | '*LOVAL' | '*NULL' | '*ALL' | '*OMIT' | '*THIS' | '*SAME' | '*START' | '*END' ::= '%ABS' '(' ')' | '%ADDR' '(' ')' | '%ALLOC' '(' ')' | '%BITAND' '(' ':' ')' | '%BITNOT' '(' ')' | '%BITOR' '(' ':' ')' | '%BITXOR' '(' ':' ')' | '%CHAR' '(' ':' ')' | '%CHAR' '(' ')' | '%CHECK' '(' ':' ':' ')' | '%CHECK' '(' ':' ')' | '%CHECKR' '(' ':' ')' | '%DATE' '(' ':' ')' | '%DATE' '(' ')' | '%DATE' '(' ')' | '%DAYS' '(' ')' | '%DEC' '(' ':' ':' ')' | '%DECH' '(' ':' ':' ')' | '%DECPOS' '(' ')' | '%DIFF' '(' ':' ':' ')' | '%DIV' '(' ':' ')' | '%EDITC' '(' ':' ')' | '%EDITFLT' '(' ')' | '%EDITW' '(' ':' ')' | '%ELEM' '(' ')' | '%EOF' '(' ')' | '%EOF' '(' ')' | '%EQUAL' '(' ')' | '%EQUAL' '(' ')' | '%ERROR' '(' ')' | '%FIELDS' '(' ')' | '%FLOAT' '(' ')' | '%FOUND' '(' ')' | '%FOUND' '(' ')' | '%GRAPH' '(' ')' | '%HOURS' '(' ')' | '%INT' '(' ')' | '%INTH' '(' ')' | '%KDS' '(' ':' ')' | '%KDS' '(' ')' | '%LEN' '(' ')' | '%MINUTES' '(' ')' | '%MONTHS' '(' ')' | '%MSECONDS' '(' ')' | '%NULLIND' '(' ')' | '%OCCUR' '(' ')' | '%OPEN' '(' ')' | '%PADDR' '(' '*DCLCASE' ':' ')' | '%PADDR' '(' ')' | '%REALLOC' '(' ':' ')' | '%REM' '(' ':' ')' | '%REPLACE' '(' ':' ':' ':' ')' | '%REPLACE' '(' ':' ':' ')' | '%REPLACE' '(' ':' ')' | '%SCAN' '(' ':' ':' ')' | '%SCAN' '(' ':' ')' | '%SCANR' '(' ':' ')' | '%SECONDS' '(' ')' | '%SHTDN' '(' ')' | '%SIZE' '(' ')' | '%SQRT' '(' ')' | '%STATUS' '(' ')' | '%STATUS' '(' ')' | '%STR' '(' ':' ')' | '%STR' '(' ')' | '%SUBARR' '(' ':' ':' ')' | '%SUBARR' '(' ':' ')' | '%SUBST' '(' ':' ':' ')' | '%SUBST' '(' ':' ')' | '%THIS' '(' ')' | '%TIME' '(' ')' | '%TIME' '(' ')' | '%TIMESTAMP' '(' ')' | '%TIMESTAMP' '(' ')' | '%TRIM' '(' ')' | '%TRIML' '(' ')' | '%TRIMR' '(' ')' | '%UCS2' '(' ')' | '%UNS' '(' ')' | '%UNSH' '(' ')' | '%XFOOT' '(' ')' | '%XLATE' '(' ':' ':' ')' | '%YEARS' '(' ')' ::= '*YEARS' | '*MONTHS' | '*DAYS' | '*HOURS' | '*MINUTES' | '*SECONDS' | '*MSECONDS' ::= ':' | ::= ':' | ::= | '*OMIT' ::= ':' | ::= '.' | ::= | | | | ::= "'" "'" ::= | '' ::= | | | "''" ::= 'X' "'" "'" ::= | ::= | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' ::= '.' | '.' ::= ::= | ::= '*ON' | '*OFF' ::= | ::= | ::= | | '_' ::= 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | '@' | '#' | '$' ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ::= ' ' | '!' | '"' | '#' | '$' | '%' | '&' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | '<' | '=' | '>' | '?' | '@' | '[' | '\\' | ']' | '^' | '_' | '`' | '{' | '|' | '}' | '~'