The r
type descriptor defines a type as a subrange of another
type. It is followed by type information for the type of which it is a
subrange, a semicolon, an integral lower bound, a semicolon, an
integral upper bound, and a semicolon. The AIX documentation does not
specify the trailing semicolon, in an effort to specify array indexes
more cleanly, but a subrange which is not an array index has always
included a trailing semicolon (see Arrays).
Instead of an integer, either bound can be one of the following:
A
offset
T
offset
a
register-number
t
register-number
J
Subranges are also used for builtin types; see Traditional Builtin Types.