is_condition
int is_condition(struct expression *expr);
if (!is_condition(expr->right))
(is_condition(expr) || is_boolean(expr))) {
if (expr->op == '=' && is_condition(expr->right))