next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc > The Macaulay2 language > operators > precedence of operators

precedence of operators

One aspect of parsing precedence is associativity. A left-associative operator is one, such as *, with the property that x * y * z is parsed as (x * y) * z. A right-associative operator is one, such as =, with the property that x = y = z is parsed as x = (y = z). These operators are left associative: # #? % & * ** + ++ , - . .. ..< .? / // << @@ ^ ^** ^^ _ | ||, and these operators are right associative: != -> : := ; < <- <= <== <=== <==> = =!= == === ===> ==> => > >= >> ? @ \ \\ |- and or SPACE .

Here are the operators arranged in order of increasing parsing precedence. For example, * has higher parsing precedence than +, and hence 2+3*5 is parsed as though it had been written as 2+(3*5). The symbol SPACE represents the operator that is used when two things are adjacent in program code.

 8                  ;                

10                  ,                

14        ->  :=  <-  =  =>  >>      

18                  <<               

20                  |-               

22              <===  ===>           

24                 <==>              

26               <==  ==>            

28                  or               

30                 and               

32                 not               

34  !=  <  <=  =!=  ==  ===  >  >=  ?

36                  ||               

38                  :                

40                  |                

42                  ^^               

44                  &                

46               ..  ..<             

48               +  ++  -            

50                  **               

54          %  *  /  //  \  \\       

56                  @                

58                SPACE              

60                 (*)               

62                  @@               

64              ^*  _*  ~            

66       #  #?  .  .?  ^  ^**  _     

68                  !                

See also