anchor.diff:  	;
   
   /*
  -	R556 target-stmt is TARGET [ :: ] target-decl -list
  +	R556 target-stmt is TARGET [ :: ] target-decl-list
   */
   	target-stmt :
   		TARGET ( ':' ':' ) ? target-decl-list
  
positive.code: 	|	IOMSG '=' iomsg-variable
  	|	ERR '=' label
  	|	STATUS '=' scalar-default-char-expr
  	;
  
  /*
  
negative.code: 	[ internal-subprogram-part ]
  	end-mp-subprogram-stmt
  */
  	separate-module-subprogram :
  		mp-subprogram-stmt
  		specification-part ?
  		execution-part ?
  		internal-subprogram-part ?
  		end-mp-subprogram-stmt
  	;
  
  /*
  	R1238 mp-subprogram-stmt is MODULE PROCEDURE procedure-name
  */
  	mp-subprogram-stmt :
  		MODULE_PROCEDURE NAME_LITERAL
  	;
  
  /*
  	R1239 end-mp-subprogram-stmt is END [PROCEDURE [procedure-name]]
  */
  	end-mp-subprogram-stmt :
  		END ( PROCEDURE NAME_LITERAL ? ) ?
  	;
  
  /*
  	R1240 entry-stmt is ENTRY entry-name [ ( [ dummy-arg-list ] ) [ sufix ] ]
  */
  	entry-stmt :
  		ENTRY entry-name ( '(' dummy-arg-list ? ')' sufix ? ) ?
  	;
  
  /*
  	R1241 return-stmt is RETURN [ scalar-int-expr ]
  */
  	return-stmt :
  		RETURN scalar-int-expr ?
  	;
  
  /*
  	R1242 contains-stmt is CONTAINS
  */
  	contains-stmt :
  		CONTAINS
  	;
  
  /*
  	R1243 stmt-function-stmt is function-name ( [ dummy-arg-name-list ] ) = scalar-expr
  */
  	stmt-function-stmt :
  		NAME_LITERAL '(' dummy-arg-name-list ')' '=' scalar-expr
  	;
  