The Compiler supplies the required additional attributes, as follows: 
	 
 
	  
	 
 
		   
		   
		   
		   
			  
				| Specified | Missing | Supplied | 
 
		  
 
		   
			  
				| binary | fixed | float | fixed | 
 
			  
				| decimal | fixed | float | fixed | 
 
			  
				| fixed | binary | decimal | decimal | 
 
			  
				| float | binary | decimal | decimal | 
 
			  
				| static | internal | external | internal | 
 
			  
				| bit | length | length of one | 
 
			  
				| character | length | length of one | 
 
			  
				| area | size | size of 1000 | 
 
		  
 
		
 
 
	 Defaults are also supplied for the following conditions. 
	 
 
	  
		- STATIC is supplied if EXTERNAL is specified without a storage class and the declared name is not an entry or file constant. 
		
- AUTOMATIC is supplied if the name is the name of a nonparameter variable that is not a member of a structure and no storage class was specified. 
		
- The default precision is supplied if precision is not specified for arithmetic data. For information on the Open PL/I default precisions, see your Open PL/I User's Guide. 
		
- VARIABLE is supplied if a storage class, array bounds, or member's level number is specified with FILE or ENTRY. 
		
- EXTERNAL is supplied if FILE or ENTRY is specified and VARIABLE is neither specified nor supplied under the previous rule. In this case, the named object is a constant rather than a variable. 
		
- UNALIGNED is supplied for bit-string data; ALIGNED for all other types of data.