parameters: (self, first_token, last_token)
return_statement: return token_list
docstring: Gets a list of all tokens from first_token to last_token, inclusive.
  
      Args:
        first_token: The first token to get.
        last_token: The last token to get.
  
      Returns:
        A list of all tokens between first_token and last_token, including both
        first_token and last_token.
  
      Raises:
        Exception: If the token stream ends before last_token is reached.
docstring_summary: Gets a list of all tokens from first_token to last_token, inclusive.
docstring_tokens: Gets a list of all tokens from first_token to last_token inclusive .
function: def _GetTokenList(self, first_token, last_token):
      """Gets a list of all tokens from first_token to last_token, inclusive.
  
      Args:
        first_token: The first token to get.
        last_token: The last token to get.
  
      Returns:
        A list of all tokens between first_token and last_token, including both
        first_token and last_token.
  
      Raises:
        Exception: If the token stream ends before last_token is reached.
      """
      token_list = []
      token = first_token
      while token != last_token:
        if not token:
          raise Exception('ran out of tokens')
        token_list.append(token)
        token = token.next
      token_list.append(last_token)
  
      return token_list
function_tokens: def _GetTokenList ( self , first_token , last_token ) : token_list = [ ] token = first_token while token != last_token : if not token : raise Exception ( 'ran out of tokens' ) token_list . append ( token ) token = token . next token_list . append ( last_token ) return token_list