anchor.diff:  
   %% Add  start and end location to each AST node.
   add_range(FName, AST) ->
  -    {ok, Toks} = refac_epp:scan_file(FName, [], []),
  +    Toks = tokenize(FName),
       full_buTP(fun do_add_range/2, AST, Toks).
   
   do_add_range(Node, Toks) ->
  
positive.code: 	 is_exported/2, inscope_funs/1,
           once_tdTU/3, stop_tdTP/3, full_buTP/3,
           pos_to_fun_name/2, pos_to_fun_def/2,pos_to_var_name/2,
           pos_to_expr/3, expr_to_fun/2,
           get_range/1, get_var_exports/1, get_bound_vars/1, get_free_vars/1,
           get_client_files/2, expand_files/2, get_modules_by_file/1,
           reset_attrs/1, update_ann/2,
           parse_annotate_file/3,tokenize/1, write_refactored_files/1,
  
negative.code: get_bound_vars_1([{bound, B} | _Bs]) -> B;
  get_bound_vars_1([_ | Bs]) -> get_bound_vars_1(Bs);
  get_bound_vars_1([]) -> [].
  
  
  %% =====================================================================
  %% @spec get_env_vars(Node::syntaxTree())-> [atom()]
  %% @doc Return the environment variables of an AST node.
  
  get_env_vars(Node) ->
      get_env_vars_1(refac_syntax:get_ann(Node)).
  
  get_env_vars_1([{env, B} | _Bs]) -> B;
  get_env_vars_1([_ | Bs]) -> get_env_vars_1(Bs);
  get_env_vars_1([]) -> [].
  
  
  %%===============================================================================
  