anchor.diff:               			{value,Text} -> Text
                            end. 
   
  +evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,Steps) ->
  +     evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,Steps,"").
  +
  +evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,Steps,IText) when is_list(Steps) andalso length(Steps) == 1 ->
  +    evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,[],IText,Steps);
  +evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,Steps,IText) -> 
  +    evaluate(Pid,CurrentNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDone,Steps,IText,[]).
  +
  +
   %%--------------------------------------------------------------------
   %% @private
   %% @doc
  
positive.code:     Changed = ?PP(CurrentNode) /= ?PP(NewNode),
      if
         Changed ->  NRefacsDoneI = NRefacsDone + 1,
                     NewSteps = Steps ++ [NewNode];
         true -> NRefacsDoneI = NRefacsDone,
                 NewSteps = Steps
      end,
      if TypedF ->
                  if
                      Transform andalso length(Steps) - 1 > NRefacsDone -> 
                           OldText = get_temp_info_text(Pid),
                           evaluation_ended(Transform,length(Steps)-1, Pid,lists:last(Steps), [],OldText ++ get_text(Steps,NRefacsDone,Input_Steps));
     	            Transform andalso Changed -> 
                       evaluate(Pid,NewNode,{DefFiles,Scope},Info,RulesFun,Transform,Input_Steps,TypedF,NRefacsDoneI,NewSteps);
                      true ->
                            NRefacsDoneBef = get_temp_info_nSteps(Pid),
                            OldText = get_temp_info_text(Pid),
                            evaluation_ended(Transform,NRefacsDoneBef + NRefacsDoneI,Pid,NewNode,NewSteps,OldText ++ get_text(NewSteps))
                  end;
         true ->
                  Input_Steps_Int = list_to_integer(Input_Steps),
                  if
                      Transform andalso (length(Steps) - 1 >= (NRefacsDone + Input_Steps_Int)) andalso Input_Steps_Int > 0 -> 
                                NRefacsDoneBef = get_temp_info_nSteps(Pid),
                                OldText = get_temp_info_text(Pid),
                                evaluation_ended(Transform,NRefacsDoneBef + NRefacsDone + Input_Steps_Int, Pid,lists:last(Steps), [],OldText ++ get_text(Steps,NRefacsDone,Input_Steps));
     	            Transform andalso Changed andalso Input_Steps_Int > 1 ->
                       evaluate(Pid,NewNode,{DefFiles,Scope},Info,RulesFun,Transform,integer_to_list(Input_Steps_Int - 1),TypedF,NRefacsDoneI,NewSteps);
                      Input_Steps_Int < 0 -> 
                                     go_back_steps(Pid,Input_Steps_Int,Transform);
                      true -> NRefacsDoneBef = get_temp_info_nSteps(Pid),
                              OldText = get_temp_info_text(Pid),
                              evaluation_ended(Transform,NRefacsDoneBef+NRefacsDoneI,Pid,NewNode,NewSteps,OldText++get_text(NewSteps))
      		end
      end.
  
  
negative.code: %%--------------------------------------------------------------------
  evaluation_ended(Transform,NRefacsDone,Pid,NewBody,Steps,Text) -> 
                                  if Transform ->
  		                                if Pid /= "" ->  
  							OldText = get_temp_info_text(Pid),	  
  				                        Pid ! {refactoring_finished,NRefacsDone,Steps,OldText ++ Text},
                                                          write_result(Pid, NewBody),
  		                                        NewBody;
  		                                   true -> 
  		                                           write_result(Pid, NewBody)
  		                                end;
  