anchor.diff:  	;
   
   file_pathname
  -	: filename
  +	: STRING
  +	| variable_identifier
  +	| expression
   	;
   
   // 18.3.2 Stopping and resuming the dump ($dumpportsoff/$dumpportson)
  
positive.code: 	| load_memory_tasks
  	| finish_task
  	| stop_task
  	;
  
  statement_or_null
  
negative.code: 	| DOLLAR_ATAN2
  	| DOLLAR_HYPOT
  	;
  
  // 18. Value change dump (VCD) files
  // 18.1 Creating four-state VCD file
  // 18.1.1 Specifying name of dump file ($dumpfile)
  
  dumpfile_task
  	: DOLLAR_DUMPFILE LEFT_PARENTHESIS filename RIGHT_PARENTHESIS SEMICOLON
  	;
  
  // 18.1.2 Specifying variables to be dumped ($dumpvars)
  
  dumpvars_task
  	: DOLLAR_DUMPVARS SEMICOLON
  	| DOLLAR_DUMPVARS LEFT_PARENTHESIS levels (COMMA list_of_modules_or_variables)? RIGHT_PARENTHESIS SEMICOLON
  	;
  
  list_of_modules_or_variables
  	: module_or_variable (COMMA module_or_variable)*
  	;
  
  module_or_variable
  	: module_identifier
  	| variable_identifier
  	;
  
  levels
  	: UNSIGNED_NUMBER
  	;
  
  // 18.1.3 Stopping and resuming the dump ($dumpoff/$dumpon)
  
  dumpoff_task
  	: DOLLAR_DUMPOFF SEMICOLON
  	;
  
  dumpon_task
  	: DOLLAR_DUMPON SEMICOLON
  	;
  
  // 18.1.4 Generating a checkpoint ($dumpall)
  
  dumpall_task
  	: DOLLAR_DUMPALL SEMICOLON
  	;
  
  // 18.1.5 Limiting size of dump file ($dumplimit)
  
  dumplimit_task
  	: DOLLAR_DUMPLIMIT LEFT_PARENTHESIS file_size RIGHT_PARENTHESIS SEMICOLON
  	;
  
  file_size
  	: UNSIGNED_NUMBER
  	;
  
  // 18.1.6 Reading dump file during simulation ($dumpflush)
  
  dumpflush_task
  	: DOLLAR_DUMPFLUSH SEMICOLON
  	;
  
  // 18.3 Creating extended VCD file
  // 18.3.1 Specifying dump file name and ports to be dumped ($dumpports)
  
  