code: def expression(self):
          
          return operatorPrecedence(self.relation, [
              (self.unary_op, 1, opAssoc.RIGHT),
              (self.binary_op_p1, 2, opAssoc.LEFT),
              (self.binary_op_p2, 2, opAssoc.LEFT)])
docs: 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.