On Tue, 6 Sep 2022 21:32:37 +0000, Pommier, Rex wrote:
>
><quote> 
>So each control statement must either be labelled or a comment, since it's 
>impossible not to use column 1 with RECFM=F.
></quote>
>
>No, because a bit earlier in the same manual, under the "general coding rules" 
>we find this:
>
>The control statements are free-form; that is, the operation definer, 
>operands, and comment field can appear anywhere in a statement, provided they 
>appear in the proper order and are separated by one or more blank characters. 
>Column 1 of each control statement must be blank, unless the first field is a 
>label or a comment statement (see Inserting comment statements).
>
I see that on page 80 of the current PDF under General coding rules.  But 
slightly later, on page 83,
under Coding restrictions:
    
• Column 1 of each control statement can be used only for a label or for a 
comment statement
  that begins with an asterisk in column 1.

That contradicts "Column 1 ... blank" on page 80.  A blank in column 1 is 
*used* to indicate
a control statement.

I disapprove of documentation by restriction; it's a misuse of the Totalitarian 
Principle:
<https://en.wikipedia.org/wiki/Totalitarian_principle>.  It's better to specify 
valid syntax
and presume all else is restricted.

• Operation definers and operands must be in uppercase EBCDIC.
Which EBCDIC?  1047? 500? 037?  Other (specify)?  It matters.

Under INCLUDE Control Statement
    Hexadecimal string format
    The format for coding a hexadecimal string constant is: X'yy...yy'
    The value yy represents any pair of hexadecimal digits. You can specify up 
to
    256 pairs of hexadecimal digits.

"up to 256".  I guess that's OK.  But it requires 4(?) continuation lines  This 
might
be a good place for an example of coding continuation.

Table 23. Valid and Invalid Hexadecimal Constants provides some valuable
illustrations, but it could be better.

And further:
    Relational condition format
        ...
    REH
    Regular expressions with hexadecimal string

Is this he same Hexadecimal string format described above?  No mention
except in an example of the leading "\".  And that example shows:
    OUTFIL OMIT=(25,032,SS,REH,C'(.*Z+)|(.*\XC2\XF1.*)')

Under INREC Control Statement, the definition d hexadecimal string
above is restated.  Is this the same as under the INCLUDE Control
Statement?  If so, it should appear just once, under General coding rules.
If different, the difference should be clearly emphasized.

Then, Table 37. Examples of Valid and Invalid Hexadecimal String Separation
Like table 23, but more extensive.  Is the earlier one necessary?  The word
"Separation" doesn't seem to fit.

This publication appears to have grown by accretion, without good editorial
control.

-- 
Thanks,
gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to