anchor.diff:  closeStatement :
   	CLOSE
   	(
  -		fileName (closeReelUnitStatement | closeWithStatement)?
  +		fileName (closeReelUnitStatement | closeRelativeStatement | closePortFileIOStatement)?
   	)+
   ;
   
   closeReelUnitStatement :
  -	(REEL | UNIT) (FOR? REMOVAL | WITH? NO REWIND)?
  -;
  -
  -closeWithStatement :
  -	WITH? (NO REWIND | LOCK)
  +	(REEL | UNIT)
  +	(FOR? REMOVAL)?
  +	(WITH? (NO REWIND | LOCK))?
  +;
  +
  +closeRelativeStatement :
  +	(WITH? (NO REWIND | LOCK))?
  +;
  +
  +closePortFileIOStatement :
  +	(WITH? NO WAIT | WITH WAIT)
  +	(
  +		USING
  +		(
  +			CLOSE_DISPOSITION OF? (ABORT | ORDERLY)
  +			| ASSOCIATED_DATA_LENGTH OF? (identifier | integerLiteral)
  +			| ASSOCIATED_DATA (identifier | integerLiteral)
  +		)*
  +	)?
   ;
   
   // compute statement
  
positive.code: OPTIONAL : O P T I O N A L;
  OR : O R;
  ORDER : O R D E R;
  ORGANIZATION : O R G A N I Z A T I O N;
  OTHER : O T H E R;
  OUTPUT : O U T P U T;
  
negative.code: ;
  
  otherKeyword :
  	ABORT | ACCEPT | ACCESS | ADD | ADDRESS | ADVANCING | AFTER | ALIGNED | ALL | ALPHABET | ALPHABETIC | ALPHABETIC_LOWER | ALPHABETIC_UPPER | ALPHANUMERIC | ALPHANUMERIC_EDITED | ALSO | ALTER | ALTERNATE | ANY | APOST | APPROXIMATE | ARE | AREA | AREAS | ARITH | AS | ASCENDING | ASCII | ASSIGN | ASSOCIATED_DATA | ASSOCIATED_DATA_LENGTH | AT | ATTRIBUTE
  	| BEFORE | BEGINNING | BINARY | BIT | BLANK | BLOCK | BOTTOM | BOUNDS | BY | BYFUNCTION | BYTITLE
  	| CALL | CANCEL | CAPABLE | CCSVERSION | CD | CF | CH | CHANNEL | CHARACTER | CHARACTERS | CLASS | CLOCK_UNITS | CLOSE | CLOSE_DISPOSITION | COBOL | CODE | CODEPAGE | CODE_SET | COLLATING | COLUMN | COMMA | COMMITMENT | COMMON | COMP | COMP_1 | COMP_2 | COMP_3 | COMP_4 | COMP_5 | COMPUTATIONAL | COMPUTATIONAL_1 | COMPUTATIONAL_2 | COMPUTATIONAL_3 | COMPUTATIONAL_4 | COMPUTATIONAL_5 | COMPUTE | CONTAINS | CONTENT | CONTINUE | CONTROL | CONTROL_POINT | CONTROLS | CONVENTION | CONVERTING | COPY | CORR | CORRESPONDING | COUNT | CURRENCY | CURSOR
  	| DBCS | DE | DEBUG_CONTENTS | DEBUG_LINE | DEBUG_NAME | DEBUG_SUB_1 | DEBUG_SUB_2 | DEBUG_SUB_3 | DEBUGGING | DECIMAL_POINT | DECLARATIVES | DEFAULT | DEFAULT_DISPLAY | DEFINITION | DELETE | DELIMITED | DELIMITER | DEPENDING | DESCENDING | DESTINATION | DETAIL | DFHRESP | DFHVALUE | DISABLE | DISK | DISPLAY | DISPLAY_1 | DIVIDE | DIVISION | DONTCARE | DOUBLE | DOWN | DUPLICATES | DYNAMIC
  	| EBCDIC | EGCS | EGI | ELSE | EMI | ENABLE | END | END_ADD | END_CALL | END_COMPUTE | END_DELETE | END_DIVIDE | END_EVALUATE | END_IF | END_MULTIPLY | END_OF_PAGE | END_PERFORM | END_READ | END_RECEIVE | END_RETURN | END_REWRITE | END_SEARCH | END_START | END_STRING | END_SUBTRACT | END_UNSTRING | END_WRITE | ENDING | ENTER | ENTRY | ENTRY_PROCEDURE | EOP | EQUAL | ERROR | ESI | EVALUATE | EVENT | EVERY | EXCEPTION | EXCLUSIVE | EXIT | EXPORT | EXTEND | EXTENDED | EXTERNAL
  	| FALSE | FD | FILLER | FINAL | FIRST | FOOTING | FOR | FROM | FULL | FUNCTION | FUNCTIONNAME | FUNCTION_POINTER
  