🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #93131

Re: Property -- podwujna składnia

#93131
From: Łukasz 'Maly' Ostrowski
Date: Thu, 14 Oct 2010 12:30
38 lines
1924 bytes
On Thu, 14 Oct 2010 12:02:36 +0200, webmajsterek@poczta.onet.pl wrote:
> Type PCell=^TCell;
>      TCell=Record 
>           x,y,value:Integer;
>      end;
>
> <snip>
> 
> var MyClass:TMyClass;
> 
> MyClass[1,1].x=10;   // poprawnie 
> MyClass[1,1]^.x:=10;  // tez kompilator akceptuje ;
> 
> ale jak zrobie 
>
> with MyClass[1,1]^  do begin  // tylko taka forme akceptuje kompilator  
>    x:=10;
> end;   
> 
> ktoś potrafi to  wytłumaczyć  dlaczego tak się dzieje ??

Albo jakiś syntactic sugar w fpc, albo błąd w analizatorze
który traktuje jakby ^TCell był równoważny class[w 
uproszczeniu ^object, więc w uproszczeniu jest ;-)]
i poprawia . na dereference i member access operator z
automatu w AST, bo takie ma "ukryte" znaczenie member
access operator dla class.

A przy with nie ma explicite member access
operatora i pewnie dlatego się kompilator gubi.

To drugie to domysł, nie kojarzę żeby był taki cukier
składniowy w fpc kiedykolwiek ;-), więc zakładam
że to bug jakiś.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Technical Details
Message-ID: <56w8uz6hdv9w$.11cnobf7mz1nq.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <6a48.0000010e.4cb6d53c@newsgate.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: Property -- podwujna składnia
Date: Thu, 14 Oct 2010 14:30:45 +0200
Organization: Acme
Lines: 38
Message-ID: <56w8uz6hdv9w$.11cnobf7mz1nq.dlg@40tude.net>
References: <6a48.0000010e.4cb6d53c@newsgate.onet.pl>
NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1287059453 7388 78.9.71.129 (14 Oct 2010 12:30:53 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 14 Oct 2010 12:30:53 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit