🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Property -- podwujna =?iso-8859-2?Q?sk³adnia?

#89746
From: =?iso-8859-2?Q?
Date: Thu, 14 Oct 2010 14:30
39 lines
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>