anchor.diff:  
   procedure TPasSyntaxTreeBuilder.StructuredType;
   begin
  -  FStack.Peek.SetAttribute(sTYPE, Lexer.Token);
  -  inherited;
  +  FStack.Push(ntType).SetAttribute(sTYPE, Lexer.Token);
  +  try
  +    inherited;
  +  finally
  +    FStack.Pop;
  +  end;
   end;
   
   procedure TPasSyntaxTreeBuilder.SubrangeType;
  
positive.code:   Result := FStack.Peek;
  end;
  
  procedure TNodeStack.Pop;
  begin
    FStack.Pop;
  end;
  
  function TNodeStack.Push(Node: TSyntaxNode; SetPositionAttributes: Boolean): TSyntaxNode;
  
negative.code: 
      procedure Clear;
      function Peek: TSyntaxNode;
      function Pop: TSyntaxNode;
  
      function Push(Typ: TSyntaxNodeType; SetPositionAttributes: Boolean = True): TSyntaxNode; overload;
      function Push(Node: TSyntaxNode; SetPositionAttributes: Boolean = True): TSyntaxNode; overload;
  