https://dev.mysql.com/doc/refman/8.0/en/arithmetic-functions.html

**Use case**
`a DIV b` - the same as `intDiv(a, b)`
`a MOD b` - the same as `modulo(a, b)`
};
const char * ParserArrayElementExpression::operators[] =
{
    "[", "arrayElement",
    nullptr
};
const char * ParserTupleElementExpression::operators[] =
{
    ".", "tupleElement",
    nullptr
};
bool ParserList::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
{
    ASTs elements;
    auto parse_element = [&]
    {
        ASTPtr element;
        if (!elem_parser->parse(pos, element, expected))
            return false;
        elements.push_back(element);
        return true;
    };
    if (!parseUtil(pos, expected, parse_element, *separator_parser, allow_empty))
        return false;
    auto list = std::make_shared<ASTExpressionList>(result_separator);
    list->children = std::move(elements);
    node = list;
    return true;
}
bool ParserUnionList::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)