anchor.diff:  	    Error
       end.
   
  +-record(st,
  +	{file=[],
  +	 files=[],
  +	 inputmodules=[],
  +	 code,
  +	 opts=[],
  +	 outfile,
  +	 dbfile,
  +	 includes=[],
  +	 erule,
  +	 error=none,
  +	 run
  +	}).
  +
   compile_proc(File, Includes, Options) ->
  +    Erule = get_rule(Options),
  +    St = #st{opts=Options,includes=Includes,erule=Erule},
       case input_file_type(File, Includes) of
           {single_file, SuffixedFile} -> %% "e.g. "/tmp/File.asn"
  -            compile1(SuffixedFile, Options);
  +            compile1(SuffixedFile, St);
           {multiple_files_file, SetBase, FileName} ->
               case get_file_list(FileName, Includes) of
                   FileList when is_list(FileList) ->
  -                    compile_set(SetBase, FileList, Options);
  +                    compile_set(SetBase, FileList, St);
                   Err ->
                       Err
               end;
  
positive.code: 	      lists:map(fun(Dir) -> {i, Dir} end, Includes)]++Specific.
  
  pretty2(Module,AbsFile) ->
      start(),
      {ok,F} = file:open(AbsFile,[write]),
      M = asn1_db:dbget(Module,'MODULE'),
      io:format(F,"%%%%%%%%%%%%%%%%%%%   ~p  %%%%%%%%%%%%%%%%%%%~n",[Module]),
  
negative.code: 		    [lists:concat([Module,".asn1db"])],Options),
  	    {error,{asn1,input_file_error,Err}}
      end.
  
  parse_and_save1(#state{erule=Erule}, File, Options) ->
      Ext = filename:extension(File),
      Base = filename:basename(File, Ext),
      DbFile = outfile(Base, "asn1db", Options),
      St = #st{file=File,dbfile=DbFile,erule=Erule},
      Passes = parse_and_save_passes(),
      run_passes(Passes, St).
  
  get_input_file(Module,[]) ->
      Module;
  