Attributes common to several names can be factored to eliminate repeated specification of the same attributes. Factoring is achieved by enclosing the names in parentheses followed by the set of attributes which apply to all of the names. Factoring can be nested. The dimension attribute can be factored. Factoring can also be used on elementary names within structures and unions. A factored level-number must precede the parenthesized list.
Names within the parenthesized list are separated by commas. No factored attribute can be overridden for any of the names, but any name within the list can be given other attributes as long as there is no conflict with the factored attributes.
The following examples show factoring. The last declaration in the set of examples shows nested factoring.
declare (A,B,C,D) binary fixed (31); declare (E decimal(6,5), F character(10)) static; declare 1 A, 2(B,C,D) (3,2) binary fixed (15); declare ((A,B) fixed(10),C float(5)) external;