The dataset structure may be specified in Backus-Naur Form as:
<Dataset> ::= <TEST> <Object> { <Object> }
<Object> ::= <OBJDESC> <AUDIT> [ <INFOSPEC> ]
{ <COMMENT> } <DIMSPEC0> <DIMSPEC1> <DIMSPEC2>
[ <DIMSPEC3> ] <DESCRIP0> <Dimgroup1>
{ <Dimgroup1> } <Dimgroup2> { <Dimgroup2> }
[ <Dimgroup3> { <Dimgroup3> } ]
{ <BADVAL> } { <Procgroup> } { <Auxgroup> }
<Regdata> | <Packdata> | <Compdata>
<Dimgroup1> ::= <DESCRIP1> <DESCVAL> [ <DESCSUP> ]
{ <Descgroup> }
<Dimgroup2> ::= <DESCRIP2> <DESCVAL> [ <DESCSUP> ]
{ <Descgroup> }
<Dimgroup3> ::= <DESCRIP3> <DESCVAL> [ <DESCSUP> ]
{ <Descgroup> }
<Descgroup> ::= <DESCRIP> <DESCVAL> [ <DESCSUP> ]
<Procgroup> ::= <PROCSPEC> [ <PROCFORM> <PROCVAL> ]
{ <PROCDUP> }
<Auxgroup> ::= <AUXSPEC> <AUXRANGE> <AUXVAL> [ <AUXSUP> ]
<Regdata> ::= <REGDAT> { <REGDAT> }
<Packdata> ::= <Packgroup> { <Packgroup> } <PAKDAT>
{ <PAKDAT> }
<Compdata> ::= <Compgroup> <COMPDAT> { <COMPDAT> }
<Packgroup> ::= <PAKSPEC> [ <PAKFORM> <PAKVAL> ]
<Compgroup> ::= <COMPSPEC> <COMPLEN>
[ <COMPFORM> <COMPVAL> ]
where <UPPERCASE> indicates a record type, <Mixedcase>
represents a group of records, braces (``{}'')
indicate zero or more
occurrences of what they enclose, brackets (``[]'')
indicate zero or one
occurrences of what they enclose, and a vertical bar (``|'')
indicates a mutually exclusive choice among options.