• Operator priorities:
    Operators with higher priority will be processed before operators with lower priority:
      x:=1+2*3   // 2 will be multiplied with 3, result will be added to 1 and result
                 // will be copied to x.
      x-=1<<2*3  // 1 will be shifted by 2 to the left, result will be multiplied by 3
                 // and result will be subtracted from x.
    

    This is true only if You use DPRE OPTion.

    OperatorNamePriorityComment
    DCAESee OPTions.
    ||, ORLogical OR1111
    &&, ANDLogical AND1111
    NORLogical NOR1111(a NOR b) equals to Not(a OR b)
    NANDLogical NAND1111(a NAND b) equals to Not(a AND b)
    =, <>, >, <, >=, <=Conditions2222
    +Plus3533
    -Minus3533
    *Multiply4653
    /Divide4653
    \Modulo4653Floats only with fpu. See NOFPU
    |Bit OR5443Possible only with integers
    !Bit EOR5443Possible only with integers
    &Bit AND5443Possible only with integers
    <<Shift Left6363Possible only with integers
    >>Shift Right6363Possible only with integers
    <| or |<Rotate Left6---Possible only with integers
    >| or |>Rotate Right6---Possible only with integers
    The priority is for each of DPRE, CPRE, APRE and EPRE different, this is to be more compatible with other languages (I know APRE is quite useless, but...)

  • Assigning operators:
    OperatorNameComment
    :=Copy
    +=Add
    -=Subtract
    *=Multiply
    /=Divide
    \=ModuloFloats only with fpu. See NOFPU
    |=Bit ORPossible only with integers
    !=Bit EORPossible only with integers
    &=Bit ANDPossible only with integers
    ~=Copy NOTedPossible only with integers
    <<=Shift LeftPossible only with integers
    >>=Shift RightPossible only with integers
    <|= or |<=Rotate LeftPossible only with integers
    >|= or |>=Rotate RightPossible only with integers
    :=:Swap


  • Equation examples:
      DEF a,b,c
      a:=10                         // a=10
      b:=a\4                        // b=2
      c:=a>>2                       // c=2
      a+=b+3*c                      // a=18
      a:=:c                         // c=18, a=2
      b:=a+3+c-=12                  // c=6, b=11