anchor.diff:           ((((assigned(NodeA) and assigned(NodeB))) and
              (((NodeA^.NodeType=NodeB^.NodeType) and not (NodeB^.NodeType in [ntPAREN])) and
               ((NodeA^.Value=NodeB^.Value) and
  -             ((AreNodesEqualSafe(NodeA^.Left,NodeB^.Left) and
  -               AreNodesEqualSafe(NodeA^.Right,NodeB^.Right)) and
  -               AreNodesEqualSafe(NodeA^.Extra,NodeB^.Extra))))) or
  +             (AreNodesEqualSafe(NodeA^.Left,NodeB^.Left) and
  +              AreNodesEqualSafe(NodeA^.Right,NodeB^.Right))))) or
             not (assigned(NodeA) or assigned(NodeB)));
   end;
   
  
positive.code:       Group:longint;
        Left:PFLRENode;
        Right:PFLRENode;
        Extra:PFLRENode;
        Index:longint;
        Name:ansistring;
       end;
  
negative.code:          ((((assigned(NodeA) and assigned(NodeB))) and
            ((NodeA^.NodeType=NodeB^.NodeType) and
             ((NodeA^.Value=NodeB^.Value) and
              (AreNodesEqual(NodeA^.Left,NodeB^.Left) and AreNodesEqual(NodeA^.Right,NodeB^.Right))))) or
            not (assigned(NodeA) or assigned(NodeB)));
  end;
  
  