[fpc-pascal] Re: a proposal about "with" syntax

Lukasz Sokol el.es.cr at gmail.com
Tue Mar 19 16:38:48 CET 2013


On 18/03/2013 03:11, Paul Ishenin wrote:
> 18.03.13, 9:27, Xiangrong Fang пишет:
>> I am sorry I didn't follow this thread although I am the "OP" :-).   If
>> I understand correct, I would suggest NOT introduce the "absolute"
>> keyword, instead, make it ALWAYS absolute. i.e.:
>>
>> with a = SomeObject, b = SomeRecord do begin
>>    ... ...
>> end;
>>
>> Both a and b are "reference" to the object or record, IMO there seems no
>> need to do assignment in the with syntax. Thus, I suggest use = instead
>> of :=
> 
> '=' can't be used because it can be a part of expression. There is no big difference between
> with (a = SomeObject) do
> and
> with a = SomeObject do
> 
> After more thinking I see that ':=' as well as absolute keyword are also bad because they will complicate the parser (although it is possible to use them). Parser will need to read the first token and check if it is an identifier, read second token and compare with ':=' (or 'absolute') and if it is not ':=' (or 'absolute') return to expression parse.
> 
> At the same time we will not complicate the parser if we place alias identifier after the with expression like:
> 
> with expression1, expression2 => alias2, expression3, expression4 => alias4 do
> 
> begin
> 
> end;
> 
> Where '=>' is some token which can't be used in expressions.
> 
For example '@' ?

e.g. 
with alias1 at SomeLongObject, alias2 at SomeOtherLongObject, ... do 

rationale: 
it's sufficiently different, and as for its nominal usage, it does similar
thing. 

?

> Best regards,
> Paul Ishenin
> 

Lukasz





More information about the fpc-pascal mailing list