Article View: pl.comp.lang.pascal
Article #89746Re: Property -- podwujna =?iso-8859-2?Q?sk³adnia?
From: =?iso-8859-2?Q?
Date: Thu, 14 Oct 2010 14:30
Date: Thu, 14 Oct 2010 14:30
39 lines
1092 bytes
1092 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; // poprawnie > MyClass[1,1]^.x:; // tez kompilator akceptuje ; > > ale jak zrobie > > with MyClass[1,1]^ do begin // tylko taka forme akceptuje kompilator > x:; > 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/
Message-ID:
<56w8uz6hdv9w$.11cnobf7mz1nq.dlg@40tude.net>
Path:
polish.pugleaf.net!archive.newsdeef.eu!mbox2nntp-pl.comp.lang.pascal.mbox.zip!g2news2.google.com!news2.google.com!goblin1!goblin.stu.neva.ru!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References:
<6a48.0000010e.4cb6d53c@newsgate.onet.pl>