<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 03/02/2014 01:42, Martin Frb wrote:<br>
</div>
<blockquote cite="mid:52EEF3FD.1090204@mfriebe.de" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.freepascal.org/docs-html/ref/refch12.html#x120-13000012">http://www.freepascal.org/docs-html/ref/refch12.html#x120-13000012</a><br>
<br>
lists<br>
<blockquote type="cite">
<div class="caption"><span class="id">Table 12.1: </span><span
class="content">Precedence of operators</span></div>
<p class="noindent"> </p>
<table id="TBL-8" class="tabular" cellpadding="0"
cellspacing="0">
<colgroup id="TBL-8-1g"><col id="TBL-8-1"><col id="TBL-8-2"><col
id="TBL-8-3"></colgroup><tbody>
<tr style="vertical-align:baseline;" id="TBL-8-1-">
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-1-1" class="td11">Operator </td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-1-2" class="td11">Precedence </td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-1-3" class="td11">Category </td>
</tr>
<tr class="hline">
<td>
<hr></td>
<td>
<hr></td>
<td>
<hr></td>
</tr>
<tr style="vertical-align:baseline;" id="TBL-8-2-">
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-2-1" class="td11"><span class="cmtt-10">Not, @
</span></td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-2-2" class="td11">Highest (first)</td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-2-3" class="td11">Unary operators </td>
</tr>
<tr style="vertical-align:baseline;" id="TBL-8-3-">
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-3-1" class="td11"><span class="cmtt-10">* /
div mod and shl shr as << >></span></td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-3-2" class="td11">Second </td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-3-3" class="td11">Multiplying operators</td>
</tr>
<tr style="vertical-align:baseline;" id="TBL-8-4-">
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-4-1" class="td11"><span class="cmtt-10">+ - or
xor </span></td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-4-2" class="td11">Third </td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-4-3" class="td11">Adding operators </td>
</tr>
<tr style="vertical-align:baseline;" id="TBL-8-5-">
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-5-1" class="td11"><span class="cmtt-10">=
<> < > <= >= in is </span></td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-5-2" class="td11">Lowest (Last)</td>
<td style="white-space:nowrap; text-align:left;"
id="TBL-8-5-3" class="td11">relational operators </td>
</tr>
</tbody>
</table>
</blockquote>
<br>
<br>
This does not include:<br>
^ deref<br>
- unary minus<br>
. accessing a member of a class/record (not unary)<br>
</blockquote>
<br>
Further, it appears that ^ has a higher precedence than unary -<br>
<br>
<br>
program Project1;<br>
operator - (a: PInteger) b: PInteger;<br>
begin<br>
b := PInteger(-Integer(a));<br>
end;<br>
<br>
var<br>
p: PInteger;<br>
i: Integer;<br>
begin<br>
i:= 99;<br>
p:=@i;<br>
// p:= -@i; // if enabled, next line will crash<br>
writeln( -p^ ); // writes -99<br>
readln;<br>
end.<br>
<br>
</body>
</html>