To: J3 07-326r1
From: Van Snyder (original from Bill Long)
Subject: BOZ literal constants
Date: 2007 November 12
References: J3/07-007r3, N1695
1. Discussion
By lumping the description of BOZ literal constants into the subclause
on the Integer type, old versions of the standard had been
misinterpreted to imply that BOZ literal constants actual had a type
and were type Integer. This is clearly not the case, and this
confusion was fixed by the BITS feature. When the bits type was
removed, this fix was also removed. Edits are provided below to avoid
the confusion. An edit is also provided to allow BOZ literal constants
in more places, as described in N1695.
2. Edits to 07-007r3:
After the following edits, move [56:15-57:9] to [88:1-], making it
a new subclause 4.6a that begins:
"4.6a BOZ literal constants
A binary, octal, or hexadecimal (BOZ) constant is a sequence of digits
that represents an ordered sequence of bits. BOZ literal constants have
no type."
[57:3] Delete the sentence "Binary, octal, ... number systems".
[57:5] At the end of the paragraph, add a new sentence:
"Each digit of a binary constant represents one bit, each digit of an
octal constant represents three bits, and each digit of a hexadecimal
constant represents four bits, according to their numerical
representations as binary integers, with leading zero bits where needed."
[57:6-9] Replace the constraint with:
"C414 (R412) A shall appear only as a
in a DATA statement, or where explicitly
allowed in subclause 13.7 as an actual argument of an intrinsic
procedure."