<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Martok <<a href="mailto:listbox@martoks-place.de">listbox@martoks-place.de</a>> schrieb am Di., 13. Aug. 2019, 14:44:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 12.08.2019 um 11:31 schrieb Sven Barth via fpc-pascal:<br>
> The code you linked converts "a += b" to "tmp := @a; tmp^ := tmp^ + b", so<br>
> except for using a temp to avoid duplicate calculation of "a" in how far is this<br>
> not the long form? <br>
<br>
No, I meant it doesn't re-parse as its long form, which is why it has some<br>
limitations. In this case for example handle_propertysym does not know it is<br>
actually seeing an assignment.<br>
<br>
I don't think the compiler can do this? Macros are expanded on the scanner<br>
level, token stream injection is not a thing in FPC, AFAICS?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It could be done, but property support for the C operators is not *desired*. See the entry of the function you posted: properties are explicitly rejected. </div><div dir="auto"><br></div><div dir="auto">In general the C operators are not desired. They where added way in the past in a weak moment and I don't think they'd be added today if FPC wouldn't have them already. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>