lexer: accept '^' as an operator.