anchor.diff:      end.
   
   report_warnings(St) ->
  -    Werr = member(warnings_as_errors, St#yecc.options),
  -    Prefix = case Werr of
  +    Werror = member(warnings_as_errors, St#yecc.options),
  +    Prefix = case Werror of
   		 true -> "";
   		 false -> "Warning: "
   	     end,
  -    ReportWerr = Werr andalso member(report_errors, St#yecc.options),
  -    case member(report_warnings, St#yecc.options) orelse ReportWerr of
  +    ReportWerror = Werror andalso member(report_errors, St#yecc.options),
  +    case member(report_warnings, St#yecc.options) orelse ReportWerror of
           true ->
               foreach(fun({File,{none,Mod,W}}) -> 
                               io:fwrite(<<"~s: ~s~s\n">>,
  
positive.code:     report_warnings(St),
      Es = pack_errors(St#yecc.errors),
      Ws = pack_warnings(St#yecc.warnings),
      Werr = werr(St),
      if 
          Werr ->
              do_error_return(St, Es, Ws);
          Es =:= [] -> 
              case member(return_warnings, St#yecc.options) of
  
negative.code:              {error, Reason} ->
                   add_error(St0#yecc.infile, none, {file_error, Reason}, St0)
           end,
      case {St#yecc.errors, werror(St)} of
          {[], false} -> ok;
          _ -> _ = file:delete(St#yecc.outfile)
      end,
      Parent ! {self(), yecc_ret(St)}.
  
  werror(St) ->
      member(warnings_as_errors, St#yecc.options)
          andalso length(St#yecc.warnings) > 0.
  
  