anchor.diff:  parse_opt({"I", [Dir]})          -> {true, {i,Dir}};
   parse_opt({"I"++Dir, []})        -> {true, {i,Dir}};
   parse_opt({"o", [Dir]})          -> {true, {o,Dir}};
  +parse_opt({"o-erl", [Dir]})      -> {true, {o_erl,Dir}};
  +parse_opt({"o-hrl", [Dir]})      -> {true, {o_hrl,Dir}};
  +parse_opt({"o-nif-cc", [Dir]})   -> {true, {o_nif_cc,Dir}};
   parse_opt({"nif",[]})            -> {true, nif};
   parse_opt({"load_nif",[S]})      -> {true, {load_nif,S}};
   parse_opt({"v", ["optionally"]}) -> {true, {verify,optionally}};
  
positive.code: %%                   {load_nif, LoadNif} |
  %%                   {i, directory()} |
  %%                   {o, directory()} |
  %%                   binary | to_msg_defs |
  %%                   return | return_warnings | return_errors |
  %%                   report | report_warnings | report_errors
  
negative.code: get_output_format([{to_msg_defs, true} | _]) -> msg_defs;
  get_output_format([_ | Rest])                -> get_output_format(Rest);
  get_output_format([])                        -> file.
  
  get_erl_outdir(Opts) ->
      proplists:get_value(o_erl, Opts, get_outdir(Opts)).
  
  get_hrl_outdir(Opts) ->
      proplists:get_value(o_hrl, Opts, get_outdir(Opts)).
  
  get_nif_cc_outdir(Opts) ->
      proplists:get_value(o_nif_cc, Opts, get_outdir(Opts)).
  
  get_outdir(Opts) ->
      proplists:get_value(o, Opts, ".").
  
  
  %% @spec format_error({error, Reason} | Reason) -> io_list()
  %%           Reason = term()
  