anchor.diff:  // Normal field
   
   field
  -    :   'repeated'? type fieldName '=' fieldNumber ('[' fieldOptions ']')? ';'
  +    :   'repeated'? typeRule fieldName '=' fieldNumber ('[' fieldOptions ']')? ';'
       ;
   
   fieldOptions
  
positive.code:     ;
  
  ranges
      :   range (',' range)*
      ;
  
      range
      :   IntLit
      |   IntLit 'to' IntLit
      ;
  
negative.code:     ;
  
  oneofField
      :   typeRule fieldName '=' fieldNumber ('[' fieldOptions ']')? ';'
      ;
  
  // Map field
  
  mapField
      :   'map' '<' keyType ',' typeRule '>' mapName '=' fieldNumber ('[' fieldOptions ']')? ';'
      ;
  
  keyType
  