anchor.diff:  	[ [ , ] / [ common-block-name ] /
   	common-block-object-list ] ...
   */
  +	common-stmt :
  +		COMMON
  +		( '/' common-block-name ? '/' ) ? common-block-object-list
  +		(  ',' ? '/' common-block-name ? '/' common-block-object-list ) *
  +	;
   
   /*
   	R569 common-block-object is variable-name [ ( array-spec ) ]
   */
  +	common-block-object :
  +		variable-name ( '(' array-spec ')' ) ?
  +	;
   
   /***************
   	Clause 6:	
  
positive.code: 	or access-spec
  */
  	proc-component-attr-spec :
  		'POINTER'
  	|	'PASS' ( '(' arg-name ')' ) ?
  	|	'NOPASS'
  	|	access-spec
  	;
  
  
negative.code: 	scalar-int-constant-expr
  	[ , scalar-int-constant-expr ] )
  */
  	data-implied-do :
  		'(' data-i-do-object-list ',' data-i-do-variable '='
  		scalar-int-constant-expr ','
  		scalar-int-constant-expr
  		( ',' scalar-int-constant-expr ) ? ')'
  	;
  /*
  	R538 data-i-do-object is array-element
  	or scalar-structure-component
  	or data-implied-do
  */
  	data-i-do-object :
  		array-element
  	|	scalar-structure-component
  	|	data-implied-do
  	;
  
  /*
  	R539 data-i-do-variable is do-variable
  */
  	data-i-do-variable :
  		do-variable
  	;
  
  /*
  	R540 data-stmt-value is [ data-stmt-repeat * ] data-stmt-constant
  */
  	data-stmt-value :
  		( data-stmt-repeat '*' ) ? data-stmt-constant
  	;
  
  /*
  	R541 data-stmt-repeat is scalar-int-constant
  	or scalar-int-constant-subobject
  */
  	data-stmt-repeat :
  		scalar-int-constant
  	|	scalar-int-constant-subobject
  	;
  
  /*
  	R542 data-stmt-constant is scalar-constant
  