<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>