anchor.diff:                      Render1FunctionAst, SourceFunctionAst, DependenciesFunctionAst, RenderInternalFunctionAst, 
                       ProplistsFunctionAst | BodyInfo#ast_info.pre_render_asts]],
   
  -            case OldProcessDictVal of
  -                undefined -> erase(erlydtl_counter);
  -                _ -> put(erlydtl_counter, OldProcessDictVal)
  -            end,
               case compile:forms(Forms, []) of
                   {ok, Module1, Bin} ->       
                       BeamFile = filename:join([OutDir, atom_to_list(Module1) ++ ".beam"]),
  
positive.code: 
  compile(File, Module, DocRoot, Vars, Reader, OutDir) ->   
      case parse(File, Reader) of
          {ok, DjangoParseTree} ->
              OldProcessDictVal = put(erlydtl_counter, 0),
              
              {{BodyAst, BodyInfo}, _} = body_ast(DjangoParseTree, #dtl_context{
                      doc_root = DocRoot, parse_trail = [File], preset_vars = Vars, reader = Reader},
                      #treewalker{}),
  
negative.code: -export([compile/2, compile/3, compile/4, compile/5, compile/6, parse/2, scan/2, body_ast/3]).
  
  -record(dtl_context, {
      local_scopes = [], 
      block_dict = dict:new(), 
      auto_escape = off, 
      doc_root = "", 
      parse_trail = [],
      preset_vars = [],
      custom_tags_dir = [],
      reader = {file, read_file}}).
  
  -record(ast_info, {
      dependencies = [],
      var_names = [],
      pre_render_asts = []}).
      
  -record(treewalker, {
      counter = 0,
      custom_tags = []}).    
  
  
  compile(File, Module) ->
  