code: def expression(self, rbp=0):
          
          prev_token = self.consume()
  
          # Retrieve the value from the previous token situated at the
          # leftmost point in the expression
          left = prev_token.nud(context=self)
  
          while rbp < self.current_token.lbp:
              # Read incoming tokens with a higher 'left binding power'.
              # Those are tokens that prefer binding to the left of an expression
              # than to the right of an expression.
              prev_token = self.consume()
              left = prev_token.led(left, context=self)
  
          return left
docs: Extract an expression from the flow of tokens.
  
          Args:
              rbp (int): the "right binding power" of the previous token.
                  This represents the (right) precedence of the previous token,
                  and will be compared to the (left) precedence of next tokens.
  
          Returns:
              Whatever the led/nud functions of tokens returned.