anchor.diff:                                 "enum    e1 { a = 17; }"]),
       ["a/b/c.proto", "d/e/f.proto"] = fetch_imports(Elems).
   
  -%% helper
  +%% test helpers
   parse_lines(Lines) ->
       S = binary_to_list(iolist_to_binary([[L,"\n"] || L <- Lines])),
       case gpb_scan:string(S) of
  
positive.code:         identifiers
          extend_def extensions_def exts ext
          option_def
          service_def rpc_defs rpc_def
          name
          constant
          integer
  
negative.code:             io:format(user, "Scan error:~n  ~p~n", [Reason]),
              erlang:error({scan_error,Lines,Reason})
      end.
  
  do_process_sort_defs(Defs) ->
      lists:sort(
        normalize_msg_field_options(
          enumerate_msg_fields(
            extend_msgs(
              resolve_refs(
                reformat_names(
                  flatten_defs(
                    absolutify_names(Defs)))))))).
  