anchor.diff:    ;
   
   bind_instantiation
  -  : program_instantiation
  -  | module_instantiation
  -  | interface_instantiation
  +  : element_instantiation
     | checker_instantiation
     ;
   
  -program_instantiation
  -  : program_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
  -  ;
  -
  -interface_instantiation
  -  : interface_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
  -  ;
  -
  -module_instantiation
  -  : module_identifier (parameter_value_assignment)? hierarchical_instance (COMMA hierarchical_instance)* SEMI
  +// module, interface, program instantiation
  +element_instantiation
  +  : identifier (parameter_value_assignment)? hierarchical_instance
  +      (COMMA hierarchical_instance)* SEMI
     ;
   
   // Note: the LRM has an optional block for list_of_port_connections, but that's
  
positive.code:   ;
  
  udp_instantiation
    : udp_identifier drive_strength? delay2? udp_instance (COMMA udp_instance)* SEMI
    ;
  
  udp_instance
  
negative.code:   : attribute_instances parameter_override
    | attribute_instances gate_instantiation
    | attribute_instances udp_instantiation
    | attribute_instances module_common_item
    ;
  
  