anchor.diff:  generics_specifier: '<' (type_specifier)? (',' type_specifier)*'>' ;
   
   type_specifier:
  -'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' 
  +'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | 'instancetype'
   	|	('id' ( protocol_reference_list )? )
   	|	(class_name ( protocol_reference_list | generics_specifier )?)
   	|	struct_or_union_specifier
  
positive.code: box_expression:
          '@''('conditional_expression')' |
          '@'constant;
  block_parameters: '(' (type_variable_declarator | 'void')? (',' type_variable_declarator)* ')';
  
  block_expression:'^' type_specifier? block_parameters? compound_statement;
  
  
negative.code: HUNDEF : '#undef' ~[\r\n]* -> channel(HIDDEN);
  HIFNDEF : '#ifndef' ~[\r\n]* -> channel(HIDDEN);
  HENDIF : '#endif' ~[\r\n]* -> channel(HIDDEN);
  