anchor.diff:  
       procedure Clear;
       function Peek: TSyntaxNode;
  -    procedure Pop;
  +    function Pop: TSyntaxNode;
   
       function Push(Typ: TSyntaxNodeType; SetPositionAttributes: Boolean = True): TSyntaxNode; overload;
       function Push(Node: TSyntaxNode; SetPositionAttributes: Boolean = True): TSyntaxNode; overload;
  
positive.code:   i: integer;
    extracted: boolean;
  begin
    FStack.Peek.SetAttribute(sTYPE, 'class');
    inherited;
    classDef := FStack.Peek;
    vis := nil;
    i := 0;
    while i < classDef.ChildNodes.Count do
    begin
      child := classDef.ChildNodes[i];
      extracted := false;
      if child.HasAttribute('visibility') then
        vis := child
      else if assigned(vis) then
      begin
        classDef.ChildNodes.Extract(child);
        vis.ChildNodes.Add(child);
        extracted := true;
      end;
      if not extracted then
        inc(i);
    end;
  end;
  
  
negative.code: 
  procedure TPasSyntaxTreeBuilder.InterfaceType;
  begin
    FStack.Push(ntType).SetAttribute(sTYPE, 'interface');
    try
      inherited;
    finally
      FStack.Pop;
    end;
  end;
  
  procedure TPasSyntaxTreeBuilder.LabelId;
  