Company policy is to avoid slow operators (eg + - / = * < >) and use only fast operators (>>= <<= ^=). As such, valid operators are: ( ) >>= <<= ^= , [ ] -> . And invalid operators: all others, including: + - = / * & | && || -- ++ == != < > <= >= % Not only is the main calculator logic done totally with just the valid operators, so is everything else.