def expression(self, rbp=<NUM_LIT:0>):
prev_token = self.consume()<EOL>left = prev_token.nud(context=self)<EOL>while rbp < self.current_token.lbp:<EOL><INDENT>prev_token = self.consume()<EOL>left = prev_token.led(left, context=self)<EOL><DEDENT>return left<EOL>
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.