32  Pascal User  Manual  Figure 4.h  Syntax diagram for  Expression  Examples:  We recommend that you refer to the table below whenever in doubt  of the exact rules of operator precedence.  See Appendix B for a full description of operators.  Boolean expressions have the property that their value may be  known before the entire expression has been evaluated. Assume for  example, that x  =  o. Then the value of the expression  (X  >  0)  and  (X  <  10)  is already known to be false after computation of the first factor, and the  second need not be evaluated. Whether or not the second factor is  evaluated is  implementation-dependent. This means that you must  assure that the second factor is well defined, independent of the value of  the first factor. Hence, if we assume that the array  A  has an index  ranging from I to 10, then the following example is in error! (Arrays are  discussed in Chapter 6.)  I  ;  =  0;  repeat  I  ;=  I + 1  until  (I  >  10)  or  (A[I]  =  0)  (Note that if no A [I]  =  0, a reference to A [11]  will occur.)  2  *  3-4  *  5  15 div 4 * 4  SO/5/3  4/2  *3  sqrt(sqr(3)+11*5)  12*3)  - (4*5)  115  div  4)*4  ISO/5)/3  14/2)*3  -14  12  5.333  6.000  S.OOO  not  $_{* }$,  +,  Operator  / ,  diY,  mod,  and  - or  <>,  <,  <=, >=,  >,  in  Classification (precedence)  Boolean negation (highest)  Multiplying operators (next highest)  Adding operators (third highest)  Relational operators (lowest).  SimpleExpression  t----.;;--"""""-~~-"""""'-~----.;,.--------",....  '-----"'~-"'--"'----"'------"--~  Simple Expression 