Follow

JCS Language Reference Manual

This is part of the Heirloom Computing Elastic Batch Platform forum on paas.heirloomcomputing.com

The implementation of the IBM VSE Job Control Subsystem syntax accepted EBP is described below in extended Bachus-Naur form and syntax "railroad" diagrams.

Not shown in the diagrams are CA Dynam/D extensions often seen in VSE JCS environments.  Dataset names or standard input datasets containing ==@ are replaced by EBP configured PARAM symbolics dynampartition (the ==) and dyamcpu (the @).  An === is replaced with the dynampartition and increasing sequential characters (AA, AB, ..., ZY, ZZ).

Index

  1. job
  2. headers
  3. footer
  4. step
  5. stepcard
  6. commentcard
  7. endofdatacard
  8. endofjobcard
  9. comment
  10. jobcard
  11. jobname
  12. jobacct
  13. joboptions
  14. acctitem
  15. jobprogrammer
  16. eojcard
  17. execcard
  18. execwhat
  19. execkeywords
  20. execpgm
  21. execproc
  22. execparm
  23. execparmitem
  24. execsize
  25. sizespec
  26. execdspace
  27. execgo
  28. execnpa
  29. exectrace
  30. execos390
  31. execreal
  32. listcard
  33. lstkeyword
  34. listoption
  35. dlblcard
  36. dlblpositional
  37. dddate
  38. ddname
  39. dddsn
  40. dsnpart
  41. dsnfixed
  42. dsnvariable
  43. pdsgdgpart
  44. ddkeywords
  45. ddcodes
  46. dddsf
  47. dddisp
  48. dddispstatus
  49. dddispnormal
  50. dddispabnormal
  51. ddsysoutchr
  52. ddprotocols
  53. dcbprotocol
  54. ddbufno
  55. ddbufni
  56. ddbufnd
  57. ddbufsp
  58. ddcisize
  59. ddrecords
  60. ddcat
  61. ddblksz
  62. ddlrecl
  63. ddrecfm
  64. assgncard
  65. cuuspec
  66. cuu
  67. extentcard
  68. extlu
  69. extsn
  70. exttype
  71. extseqno
  72. extblkno
  73. exttracks
  74. logcard
  75. nologcard
  76. logtype
  77. pausecard
  78. setcard
  79. setname
  80. setnameval
  81. libdefcard
  82. libdef
  83. ldkeyword
  84. concatdd
  85. ldcat
  86. libname
  87. jcllib
  88. nameval
  89. name
  90. execnameval
  91. nonexecname
  92. parenlist
  93. value
  94. optname
  95. ifcontin
  96. ifthencard
  97. elsecard
  98. endifcard
  99. ifexpr
  100. andorexpr
  101. reloper
  102. relexpr
  103. booloper
  104. anyexpr
  105. quotedstring
  106. anything
  107. idres
  108. idnonexprres
  109. idresint
  110. idresvar
  111. idresintvar
  112. intvar
  113. intidres
  114. idintvar
  115. ID
  116. variable
  117. comma
  118. reserved
  119. nonexprreserved
  120. execreserved
  121. exprreserved
  122. nonexecreserved
  123. INT
  124. HEX
  125. NEWLINE
  126. WS
  127. SLASHAMP
  128. SLASHSTAR
  129. SPECIAL
  130. INTL

Rules

  • job Top

    A JCL Job Deck consists of a JOB card (appears to be optional in some systems) various "before a step" cards, inline procedures and then steps

    Text notation:

    job : headers* jobcard? step* footer EOF ;

    Visual notation:

  • headers Top

     

    Text notation:

    Visual notation:

  • step Top

     

    Text notation:

    step : stepcard* execcard ;

    Visual notation:

  • stepcard Top

     

    Visual notation:

  • commentcard Top

    Comment cards contain arbitrary comments (Note: starting in column 5).

    Text notation:

    commentcard : '*' ~( NEWLINE )* NEWLINE ;

    Visual notation:

  • endofdatacard Top

    End of Control card indicates that comments with control codes are to be processed

    Text notation:

    endofdatacard : SLASHSTAR comment NEWLINE ;

    Visual notation:

  • endofjobcard Top

    End of Job card indicates that JCL for this job is complete

    Text notation:

    endofjobcard : SLASHAMP comment NEWLINE | '*' WS '$$' WS EOJ comment NEWLINE ;

    Visual notation:

  • comment Top

    Most cards may contain comments after white-space (WS) and contain anything other than a new-line (NEWLINE) character up until column 72. A non-blank character in column 72 continues the comment onto the next card

    Text notation:

    comment : WS ~( NEWLINE )* | ;

    Visual notation:

  • jobcard Top

    A job card starts a JCS Deck, its optional. if missing jobname becomes job number

    Text notation:

    Visual notation:

  • jobname Top

     

    Text notation:

    jobname : idres | ;

    Visual notation:

  • jobacct Top

    Heirloom Computing EBP ignores the Job accounting information by you may use it to managed your submissions.

    Text notation:

    jobacct : acctitem | '(' acctitem ( comma acctitem )* ')' ;

    Visual notation:

  • joboptions Top

     

    Text notation:

    joboptions : JNM '=' idres | DISP '=' idres | CLASS '=' idres | SEC '=(' user=idres comma password=idres ')' ;

    Visual notation:

  • acctitem Top

     

    Text notation:

    acctitem : idres | intidres | quotedstring ;

    Visual notation:

  • jobprogrammer Top

    Place your name between apostrophes on the comment card

    Text notation:

    jobprogrammer : '\'' ~( '\'' | NEWLINE )* '\'' | idres | intidres ;

    Visual notation:

  • eojcard Top

    End of Job Card

    Text notation:

    Visual notation:

  • execcard Top

    Defines a job step within the job that runs a program or invokes an inline or cataloged procedure

    Text notation:

    Visual notation:

  • execwhat Top

     

    Text notation:

    execwhat : execproc | execpgm ;

    Visual notation:

  • execkeywords Top

     

    Text notation:

    Visual notation:

  • execpgm Top

    Specify a program that is contained on the System Lib directories specified as start-up properties or with the CONFIG Heirloom Computing EBP Web Service

    Text notation:

    execpgm : PGM '=' idresvar | PROG '=' idresvar | idresvar ;

    Visual notation:

  • execproc Top

    Indicate an inline or cataloged system-defined or user-defined procedure. Inline PROCs precede the step that references them between PROC and PEND statements. System cataloged procedures are on the System Lib directories specified with the EBP properties or with the CONFIG Heirloom Computing EBP Web Service. User-defined cataloged procedures are in partitioned datasets (DSORG=PO) that are under the System Lib directories

    Text notation:

    execproc : PROC '=' idresvar ;

    Visual notation:

  • execparm Top

    Pass a parameter to a program on an EXEC statement with PARM. Heirloom Computing EBP property ebp.parmcount or CONFIG Heirloom Computing EBP Web Service item indicates whether the parameter string is broken on space-boundaries into individual arguments (Heirloom Computing EBP default) or they are passed as a single character string (IBM EBP default). alternatively, use a list of PARM=(...) items to always indicate multiple parameters to a program. Alternatively, Specify the PARMDD parameter indicating the DD name that will be processed by the program as a PARM. The COBOL program must be prepared to handle this as the string "PARMDD=ddname" is passed as the argument to the program which must then ATTACH it

    Text notation:

    execparm : PARM '=' execparmitem | PARM '=(' execparmitem ( comma execparmitem)* ')' | PARM '=' ;

    Visual notation:

  • execparmitem Top

     

    Text notation:

    execparmitem : quotedstring | idresintvar ;

    Visual notation:

  • execsize Top

    Checked for syntax and ignored

    Text notation:

    execsize : SIZE '=' sizespec ;

    Visual notation:

  • sizespec Top

     

    Text notation:

    sizespec : INT ('K' | 'M') | AUTO | '(' AUTO comma INT ('K' | 'M') ')' | idres | '(' idres comma INT ('K' | 'M') ')' | '*' | '(*' comma INT ('K' | 'M') ')' ;

    Visual notation:

  • execdspace Top

     

    Text notation:

    execdspace : DSPACE '=' INT ('K' | 'M') ;

    Visual notation:

  • execgo Top

     

    Text notation:

    execgo : GO ;

    Visual notation:

  • execnpa Top

     

    Text notation:

    execnpa : NPA ;

    Visual notation:

  • exectrace Top

     

    Text notation:

    exectrace : TRACE ;

    Visual notation:

  • execos390 Top

     

    Text notation:

    execos390 : OS390 ;

    Visual notation:

  • execreal Top

     

    Text notation:

    execreal : REAL ;

    Visual notation:

  • listcard Top

    $$ LST JECL card assigns listing output devices which act like permanent DDs

    Text notation:

    Visual notation:

  • lstkeyword Top

    do not distinguish between $$ LST and $$ PUN

    Text notation:

    lstkeyword : ( LST | PUN ) ;

    Visual notation:

  • listoption Top

     

    Text notation:

    listoption : LST '=' idres | CLASS '=' idres | DISP '=' idres | DEST '=' ( idres | '(' comma idres ')' ) | FORMDEF '=' idres | PAGEDEF '=' idres | PRI '=' INT ;

    Visual notation:

  • dlblcard Top

    DLBL Cards map DDNAMEs referred to within programs with datasets (DSNAME, DSN) on disk. Also specify DUMMY for /dev/null operation or SYSOUT=* to have Heirloom Computing EBP hold the output dataset for viewing with the LIST Web Service.

    Text notation:

    Visual notation:

  • dlblpositional Top

     

    Text notation:

    dlblpositional : ddname ( comma dddsn ( comma dddate )? )? ;

    Visual notation:

  • dddate Top

    mm/dd/yyyy, dd/mm/yyyy or yyyy/day

    Text notation:

    dddate : INT '/' INT ( '/' INT )? | ;

    Visual notation:

  • ddname Top

     

    Text notation:

    ddname : ddn=ID | reserved ;

    Visual notation:

  • dddsn Top

    Handle both "filename" and "'file-id'" which can have GDG components

    Text notation:

    dddsn : dsnpart pdsgdgpart | '\'' dsnpart pdsgdgpart '\'' ;

    Visual notation:

  • dsnpart Top

     

    Text notation:

    dsnpart : ( dsnfixed | dsnvariable ) ( '.' ( dsnfixed | dsnvariable ) )* | '&&' dsnfixed ( '.' '.' dsnfixed )? | '&&&' dsnfixed ( '.' '.' dsnfixed )? ;

    Visual notation:

  • dsnfixed Top

    Fixed portions of a DSN, "A", "ABC", "AAA"

    Text notation:

    dsnfixed : idres ;

    Visual notation:

  • dsnvariable Top

    variable portions of a DSN, "&C", "&C.DE", "AB&C", "AB&C.DE"

    Text notation:

    dsnvariable : variable | dsnfixed variable ;

    Visual notation:

  • pdsgdgpart Top

     

    Text notation:

    pdsgdgpart : '(' ID ')' | '(' ('+' | '-')? INT ')' | '(' reserved ')' | '(' variable ')' | '(' dsnfixed variable ')' | ;

    Visual notation:

  • ddkeywords Top

     

    Text notation:

    Visual notation:

  • ddcodes Top

     

    Text notation:

    ddcodes : SD | DA | DU | ISC | ISE | VSAM ;

    Visual notation:

  • dddsf Top

     

    Text notation:

    dddsf : DSF ;

    Visual notation:

  • dddisp Top

     

    Text notation:

    Visual notation:

  • dddispstatus Top

    Initial DD status of NEW indicates that the dataset will be created in the Data Lib directories specified in the EBP start-up properties or modified with the CONFIG Heirloom Computing EBP Web Service. Specify ebp.datalib.1..ebp.datalib.9 different directories to be searched for DSNs. Further, DSNs of the form A.B.C.D will be checked against existing files Datalib1/A/B/C/D, Datalib1/a/b/c/d, Datalib1/A/B/C.D, ... etc. Also, property ebp.newdsndirectory=yes indicates that DISP=NEW datasets with embedded . are created as directories. A.B.C.D is created as file D under directory Datalib1/A/B/C, with intervening directories created as necessary

    Text notation:

    dddispstatus : NEW | OLD | MOD | variable | ;

    Visual notation:

  • dddispnormal Top

     

    Text notation:

    dddispnormal : KEEP | DATE | DELETE | variable | ;

    Visual notation:

  • dddispabnormal Top

     

    Text notation:

    dddispabnormal : KEEP | DELETE | variable | ;

    Visual notation:

  • ddsysoutchr Top

     

    Text notation:

    ddsysoutchr : idresintvar | ;

    Visual notation:

  • ddprotocols Top

    EBP extension to indicate file system protocols, or file formats, to a COBOL program that are specified to the COBOL runtime as prefixes. Multiple may be specified

    Text notation:

    ddprotocols : ( PROTOCOL | PROTO ) '=' dcbprotocol | ( PROTOCOL | PROTO ) '=(' dcbprotocol ( comma dcbprotocol)* ')' ;

    Visual notation:

  • dcbprotocol Top

    EBP extension to indicate file formats. Global protocols: REMOTE - remote connection to file server; ENV - cluster name is a ddname, same as OFILE(name) VSAM - High level indication this is an indexed-sequential format of some kind. Variable-length, Line Sequential, Physical Sequential protocols: ECOBOL - Carriage-return/line-feed (Windows), new-line (Linux/UNIX); Variable-length, Non Indexed, Physical Sequential protocols: ECOBOL - 4-byte little-endian length followed by data; MF - 4-byte big-endian length followed by data of that length; IBMV - 2-byte big-endian length plus 2-bytes of zeros followed by data of that length minus 4; IBMVB - 4-byte big-endian block size followed by records in IBMV format; SYNC - 2-byte big-endial length followed by data of that length. VSAM-to-SQL Bridge protocol: VSQL - indicating the dataset name is mapped using information in the executing jar as to the table name and database connection information VSAM protocols: EC, E-ISAM, E_ISAM, EISAM - Elastic COBOL ISAM file format; MF, MFU, MFW - Micro Focus IDX 3 file format; AS400 - AS/400 file format; ISAM, CISAM, C-ISAM, C_ISAM - C ISAM file format; DISAM, D-ISAM, D_ISAM - D ISAM file format; ACON, ACU, ACUCOBOL - Acu COBOL file format; VIS4, VISION4, VIS, VISION - Vision File Format; none-of-the-above - Elastic COBOL

    Text notation:

    dcbprotocol : idresvar ;

    Visual notation:

  • ddbufno Top

    BUFNO=number-of-buffers

    Text notation:

    ddbufno : BUFNO '=' intvar ;

    Visual notation:

  • ddbufni Top

    BUFNI=number-of-buffers

    Text notation:

    ddbufni : BUFNI '=' intvar ;

    Visual notation:

  • ddbufnd Top

    BUFND=number-of-buffers

    Text notation:

    ddbufnd : BUFND '=' intvar ;

    Visual notation:

  • ddbufsp Top

    BUFSP=number-of-buffers

    Text notation:

    ddbufsp : BUFSP '=' intvar ;

    Visual notation:

  • ddcisize Top

    CISIZE=control-interval-size

    Text notation:

    ddcisize : CISIZE '=' intvar ;

    Visual notation:

  • ddrecords Top

    RECORDS=number-of-records

    Text notation:

    ddrecords : RECORDS '=' intvar ;

    Visual notation:

  • ddcat Top

    CAT=catalog (high level qualifier of DSN in EBP)

    Text notation:

    ddcat : CAT '=' idintvar ;

    Visual notation:

  • ddblksz Top

     

    Text notation:

    ddblksz : ( BLKSZ | BLKSIZE ) '=' intvar | BLKSZ '=' INT ID ;

    Visual notation:

  • ddlrecl Top

     

    Text notation:

    ddlrecl : ( LRECL | RECSIZE ) '=' intvar | LRECL '=' INT ID ;

    Visual notation:

  • ddrecfm Top

     

    Text notation:

    ddrecfm : RECFM '=' ID | RECFM '=' variable ;

    Visual notation:

  • assgncard Top

    ASSGN and DLBL are both considered like DD DUMMY cards

    Text notation:

    assgncard : ( '//' WS | WS )? ASSGN WS ddname comma cuuspec comment NEWLINE ;

    Visual notation:

  • cuuspec Top

     

    Text notation:

    cuuspec : cuu | '(' (cuu comma)+ ')' ;

    Visual notation:

  • cuu Top

     

    Text notation:

    cuu : INT | 'X\'' HEX '\'' ;

    Visual notation:

  • extentcard Top

    Extent card is checked for syntax and ignored

    Visual notation:

  • extlu Top

     

    Text notation:

    extlu : idintvar | ;

    Visual notation:

  • extsn Top

     

    Text notation:

    extsn : idintvar | ;

    Visual notation:

  • exttype Top

     

    Text notation:

    exttype : idintvar | ;

    Visual notation:

  • extseqno Top

     

    Text notation:

    extseqno : idintvar | ;

    Visual notation:

  • extblkno Top

     

    Text notation:

    extblkno : idintvar | ;

    Visual notation:

  • exttracks Top

     

    Text notation:

    exttracks : idintvar | ;

    Visual notation:

  • logcard Top

    equate LOG with MSGCLASS and MSGLEVEL of entire job

    Text notation:

    logcard : ( '//' WS | WS )? LOG WS logtype comment NEWLINE ;

    Visual notation:

  • nologcard Top

     

    Text notation:

    nologcard : ( '//' WS | WS )? NOLOG logtype comment NEWLINE ;

    Visual notation:

  • logtype Top

    equate various log types with message classes (single letter or number)

    Text notation:

    logtype : 'ALL' | 'BG' | 'F' INT | ID | ;

    Visual notation:

  • pausecard Top

    Treat PAUSE statement like TYPRUN=HOLD, holds at the job level not between steps

    Text notation:

    pausecard : ( '//' WS | WS )? PAUSE comment NEWLINE ;

    Visual notation:

  • setcard Top

     

    Text notation:

    setcard : ( '//' WS | WS )? SETPARM WS ( setnameval comma )* setnameval comment NEWLINE ;

    Visual notation:

  • setname Top

     

    Text notation:

    setname : idres | ;

    Visual notation:

  • setnameval Top

     

    Text notation:

    setnameval : nameval ;

    Visual notation:

  • libdefcard Top

    Indicate the list of partitioned datasets that are searched for programs

    Text notation:

    libdefcard : ( '//' WS | WS )? libdef WS ldkeyword ( comma ldkeyword )* comment NEWLINE ;

    Visual notation:

  • libdef Top

    LIBDEF is similar to EXTENT and ASSGN and DLBL, like a STEPLIB or JOBLIB

    Text notation:

    libdef : LIBDEF ;

    Visual notation:

  • ldkeyword Top

     

    Text notation:

    ldkeyword : ( PHASE | '*' ) | SEARCH '=(' dddsn ( comma concatdd dddsn )* ')' | SEARCH '=' dddsn | CATALOG '=(' ldcat ( comma ldcat )* ')' | CATALOG '=' ldcat | OBJ | SOURCE | PROC | TEMP | PERM ;

    Visual notation:

  • concatdd Top

     

    Text notation:

    concatdd : ;

    Visual notation:

  • ldcat Top

     

    Text notation:

    ldcat : idres ;

    Visual notation:

  • libname Top

     

    Text notation:

    libname : idres | ;

    Visual notation:

  • jcllib Top

     

    Text notation:

    jcllib : dsnpart | '\'' dsnpart '\'' ;

    Visual notation:

  • nameval Top

     

    Text notation:

    nameval : name '=' intidres | name '=*' | name '=' dsnpart pdsgdgpart | name '=' reserved | name '=' quotedstring | name parenlist | name '=' | 'COND=' ;

    Visual notation:

  • name Top

     

    Text notation:

    name : idres ;

    Visual notation:

  • execnameval Top

     

    Text notation:

    Visual notation:

  • nonexecname Top

     

    Text notation:

    nonexecname : ID | nonexecreserved ;

    Visual notation:

  • parenlist Top

     

    Text notation:

    parenlist : '=(' ( a=value comma )* b=value ')' ;

    Visual notation:

  • value Top

     

    Text notation:

    Visual notation:

  • optname Top

     

    Text notation:

    optname : ID | ;

    Visual notation:

  • ifcontin Top

     

    Text notation:

    ifcontin : ( WS* NEWLINE '//' )* WS ;

    Visual notation:

  • ifthencard Top

     

    Text notation:

    Visual notation:

  • elsecard Top

     

    Text notation:

    elsecard : '//' optname WS ELSE comment NEWLINE ;

    Visual notation:

  • endifcard Top

     

    Text notation:

    endifcard : '//' optname WS ENDIF comment NEWLINE ;

    Visual notation:

  • ifexpr Top

     

    Text notation:

    ifexpr : ( NOT | '!' ) ifcontin andorexpr | andorexpr ;

    Visual notation:

  • andorexpr Top

     

    Text notation:

    andorexpr : re1=relexpr ( booloper re2=relexpr )* ;

    Visual notation:

  • reloper Top

     

    Text notation:

    reloper : ( EQ | '=' | '==' ) | ( NE | '!=' | '<>' | '~=' ) | ( GT | '>' ) | ( GE | '>=' ) | ( LT | '<' ) | ( LE | '<=' ) ;

    Visual notation:

  • relexpr Top

     

    Text notation:

    Visual notation:

  • booloper Top

     

    Text notation:

    booloper : WS ( AND | '&' | '&&' ) ifcontin | WS ( OR | '|' | '||' ) ifcontin ;

    Visual notation:

  • anyexpr Top

     

    Text notation:

    Visual notation:

  • quotedstring Top

    Use a quoted string for parameters, datasets, symbolic parameters. Double enclosed apostrophes.

    Text notation:

    quotedstring : ( '\'' anything '\'' )* '\'' anything '\'' ;

    Visual notation:

  • anything Top

     

    Text notation:

    anything : ~( NEWLINE | '\'' )* ;

    Visual notation:

  • idres Top

    identifier or reserved word

    Text notation:

    idres : ID | reserved ;

    Visual notation:

  • idnonexprres Top

    identifier or non expression reserved word

    Text notation:

    idnonexprres : ID | execreserved | nonexecreserved ;

    Visual notation:

  • idresint Top

    identifier, reserved word or int

    Text notation:

    idresint : idres | INT ;

    Visual notation:

  • idresvar Top

    identifier, reserved word or variable

    Text notation:

    idresvar : idres | variable ;

    Visual notation:

  • idresintvar Top

    identifier, reserved word, integer or variable

    Text notation:

    idresintvar : idresint | variable ;

    Visual notation:

  • intvar Top

    integer or variable

    Text notation:

    intvar : INT | variable ;

    Visual notation:

  • intidres Top

    integer possibly followed by an ID or reserved word

    Text notation:

    intidres : INT ( idres ) ? ;

    Visual notation:

  • idintvar Top

    identifier, integer or variable

    Text notation:

    idintvar : intvar | ID ;

    Visual notation:

  • ID Top

    Heirloom Computing EBP Identifiers consist of $, #, @ and A through Z followed by up to 7 of the same. Symbolic Parameters start with &, IDs with embedded & indicate a concatenation of two symbolic parameters.

    Text notation:

    ID : ('a'..'z'|'A'..'Z'|'$'|'#'|'@') ('a'..'z'|'A'..'Z'|'0'..'9'|'$'|'#'|'@'|'-'|'_')* ;

    Visual notation:

  • variable Top

     

    Text notation:

    variable : ( '&' idres ( ( '.' )? | ( '.' idresint )? ) )+ ;

    Visual notation:

  • comma Top

    keyword parameter values that contain comma-separated lists may span lines

    Text notation:

    comma : ',' | ',' comment NEWLINE '//'? WS ;

    Visual notation:

  • reserved Top

     

    Text notation:

    Visual notation:

  • nonexprreserved Top

     

    Text notation:

    nonexprreserved : execreserved | nonexecreserved ;

    Visual notation:

  • execreserved Top

     

    Text notation:

    execreserved : PARM | GO | NPA | PGM | PROC | TRACE ;

    Visual notation:

  • exprreserved Top

     

    Text notation:

    exprreserved : ABEND | AND | ELSE | ENDIF | FALSE | IF | NOT | OR | RC | THEN | TRUE ;

    Visual notation:

  • nonexecreserved Top

     

    Text notation:

    nonexecreserved : ASSGN | AUTO | BLKSZ | BUFND | BUFNI | BUFNO | BUFSP | CAT | CATALOG | CISIZE | CLASS | DA | DATE | DELETE | DEST | DLBL | DISP | DSF | DSPACE | DU | DUMP | EQ | EOJ | EXEC | EXTENT | FORMDEF | GE | GO | GT | JNM | JOB | KEEP | LE | LIBDEF | LOG | LRECL | LST | LT | MOD | NE | NEW | NOLOG | NPA | OBJ | OLD | OS390 | PAGEDEF | PAUSE | PGM | PERM | PRI | PROTO | PROTOCOL | PUN | REAL | RECFM | RECORDS | SD | SEARCH | SEC | SETPARM | SHR | SIZE | SOURCE | TEMP | VSAM ;

    Visual notation:

  • INT Top

     

    Text notation:

    INT : ('0'..'9')+ ;

    Visual notation:

  • HEX Top

     

    Text notation:

    HEX : ('0'..'9' | 'a'..'f' | 'A'..'F')+ ;

    Visual notation:

  • NEWLINE Top

     

    Text notation:

    NEWLINE : '\r'? '\n' ;

    Visual notation:

  • WS Top

     

    Text notation:

    WS : (' '|'\t')+ ;

    Visual notation:

  • SLASHAMP Top

    End of Job card

    Text notation:

    SLASHAMP : '/&' ;

    Visual notation:

  • SLASHSTAR Top

     

    Text notation:

    SLASHSTAR : '/*' ;

    Visual notation:

  • SPECIAL Top

    SPECIAL token not used but required to define all other chars

    Text notation:

    SPECIAL : ( '~' | '`' | '!' | '@' | '#' | '$' | '%' | '^' | '&' | '*' | '(' | ')' | '-' | '_' | '+' | '\'' | '"' | '=' | '{' | '}' | '[' | ']' | '|' | ':' | ';' | ',' | '.' | '<' | '>' | '?' | '/' | '\\' | INTL ) ;

    Visual notation:

  • INTL Top

     

    Text notation:

    INTL : . ;

    Visual notation:

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk