[fpc-devel] Incomplete docs on operator precedence / Question about actual precedence

Michael Van Canneyt michael at freepascal.org
Mon Feb 3 14:36:54 CET 2014



On Mon, 3 Feb 2014, Martin Frb wrote:

> On 03/02/2014 07:58, Michael Van Canneyt wrote:
>> 
>> 
>> On Mon, 3 Feb 2014, Martin Frb wrote:
>> 
>>> This does not include:
>>> ^ deref
>>> - unary minus
>>> . accessing a member of a class/record (not unary)
>> 
>> To my knowledge, the . and ^ are not considered operators, they are "part 
>> of the identifier".
>
> Ok, so they are evaluated before everything else.
>
> Curious though (I can see that the "." is not an operator (it was not what 
> got me started anyway), but the ^ ?
> It is the same kind (just reverse) of the @, so why is one an operator, and 
> the other not?

There is a substantial difference in semantics:
You can take the address of anything. 
But you cannot dereference anything except a pointer.

If it was up to me, @ would not have been in the operator list either, 
but Borland considered it so...

Michael.



More information about the fpc-devel mailing list