Parses a binary row expression, or a parenthesized expression of any
kind.
The result is as a flat list of operators and operands. The top-level
call to get an expression should call
#Expression, but lower-level
calls should call this, to give the parser the opportunity to associate
operator calls.
For example 'a = b like c = d' should come out '((a = b) like c) = d'
because LIKE and '=' have the same precedence, but tends to come out as '(a
= b) like (c = d)' because (a = b) and (c = d) are parsed as separate
expressions.