anchor.diff:  blocking_assignment
     : variable_lvalue EQ delay_or_event_control expression
     | nonrange_variable_lvalue EQ dynamic_array_new
  -  | ( (implicit_class_handle DOT) | class_scope | package_scope )? hierarchical_variable_identifier
  +  | ( (implicit_class_handle DOT) | class_scope | package_scope )? hierarchical_identifier
       select EQ class_new
     | operator_assignment
     ;
  
positive.code: generate_block_identifier : identifier ;
  genvar_function_identifier : identifier ;
  genvar_identifier : identifier ;
  hierarchical_block_identifier : hierarchical_identifier ;
  hierarchical_event_identifier : hierarchical_identifier ;
  hierarchical_function_identifier : hierarchical_identifier ;
  hierarchical_net_identifier : hierarchical_identifier ;
  hierarchical_variable_identifier : hierarchical_identifier ;
  hierarchical_task_identifier : hierarchical_identifier ;
  hierarchical_sequence_identifier : hierarchical_identifier ;
  hierarchical_property_identifier : hierarchical_identifier ;
  inout_port_identifier : identifier ;
  input_port_identifier : identifier ;
  instance_identifier : identifier ;
  
negative.code:   ;
  
  nonrange_variable_lvalue
    : (implicit_class_handle DOT | package_scope)? hierarchical_identifier nonrange_select
    ;
  
  constant_function_call
  