implemented Parser::CompareOpTypePrec
reimplemented Expr::NeedParenthesis
removed ElementType property from OpFunctions