title: Prolog operator priority
body: <p>The user input is given in the format a:b>c>d>e... and so on. I would like to parse the input into :(a,>(b,>(c,>(d,e))) would that be possible and is there any suggestion to do that? I tested with this</p>
  
  <pre><code>prepare:-
      op(750,xfx,user:(:)), % change the default priority of : and &gt;
      op(700,xfx,user:(&gt;)),
      display(a: b &gt; c),%this one worked fine and 
                        %the display value is :(a,&gt;(b,c))
      display(a: b &gt; c &gt; d ). % I cannot have this works, 
                              %the error ERROR: 
                              %Syntax error: 
                              %Operator priority clash is thrown.
  </code></pre>
  
  <p>The input cannot be modified. Any suggestion is appreciate. Thanks!</p>