On Thu, 16 Nov 2017, Mattias Gaertner wrote:

On Thu, 16 Nov 2017 14:12:18 +0100
Sven Barth via fpc-pascal <fpc-pascal@lists.freepascal.org> wrote:

[...]
So, how will FPC distinguish the two []?


The only idea I have is to check whether the first identifier is a
attribute and if not handle it as a modifier (or if a comma is following
the first identifier).

pparser can't do that.

And I fear that this heuristic will lead to confusing error messages. I
hope there is a better way.

Delphi does not support it. It thinks it is an undefined attribute. So
IMO FPC's [] modifier should be disabled in mode delphi+delphiunicode.
So the problem will only happen in mode objfpc or when the user
enable the modeswitch prefixedattributes.

I think that prefixedattributes should simply disable the use of proc
modifier []. The probability of having code that needs both is almost zero,
the [] syntax is very old and almost not used.

Mode Delphi(Unicode) enables prefixedattributes, all other modes need an
explicit modeswitch to enable it.

Let's keep it clear, simple and unambiguous.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to