anchor.diff:                                          {{extend,{eref1,'$2'}},'$4'}.
   
   
  -service_def -> service identifier '{' rpc_defs '}':
  +service_def -> service fidentifier '{' rpc_defs '}':
                                           {{service,identifier_name('$2')},'$4'}.
   
   rpc_defs -> rpc_def rpc_defs:           ['$1' | '$2'].
   rpc_defs -> ';' rpc_defs:               '$2'.
   rpc_defs -> '$empty':                   [].
   
  -rpc_def -> rpc identifier rpc_arg returns rpc_ret ';':
  +rpc_def -> rpc fidentifier rpc_arg returns rpc_ret ';':
                                           {identifier_name('$2'), '$3','$5',[]}.
  -rpc_def -> rpc identifier rpc_arg returns rpc_ret '{' m_opts '}':
  +rpc_def -> rpc fidentifier rpc_arg returns rpc_ret '{' m_opts '}':
                                           {identifier_name('$2'), '$3','$5','$7'}.
   
   rpc_arg -> '(' name ')':                {'$2', false}.
  
positive.code: res_names -> string_expr ',' res_names: ['$1' | '$3'].
  res_names -> string_expr:               ['$1'].
  
  oneof_def -> 'oneof' identifier '{' oneof_elems '}':
                                          #gpb_oneof{name=identifier_name('$2'),
                                                     fields='$4'}.
  
  
negative.code: 
  option_def -> option name '=' constant: {option, '$2', '$4'}.
  
  enum_def -> enum fidentifier '{' enum_fields '}':
                                          {{enum,identifier_name('$2')},'$4'}.
  
  enum_fields -> enum_field enum_fields:  ['$1' | '$2'].
  