A relation algebra expression. An expression is either a relation or a
        combination of relations that uses the previously defined operators
        and follows precedence rules.

def expression(self):
        """
        A relation algebra expression. An expression is either a relation or a
        combination of relations that uses the previously defined operators
        and follows precedence rules.
        """
        return operatorPrecedence(self.relation, [
            (self.unary_op, 1, opAssoc.RIGHT),
            (self.binary_op_p1, 2, opAssoc.LEFT),
            (self.binary_op_p2, 2, opAssoc.LEFT)])