code: def parse_expression(expression, parent_data):
      
      variables = None
      data = None
      variables, data = _check_and_expand_subformula(expression,
                                                     parent_data,
                                                     variables,
                                                     data)
      variables, data = _check_and_expand_exponential(expression,
                                                      variables,
                                                      data)
      variables, data = _check_and_expand_derivative(expression,
                                                     variables,
                                                     data)
      if variables is None:
          expr = expression.strip()
          variables = [expr]
          data = parent_data[expr]
      return variables, data
docs: Parse an expression in a model formula.
  
      Parameters
      ----------
      expression: str
          Formula expression: either a single variable or a variable group
          paired with an operation (exponentiation or differentiation).
      parent_data: pandas DataFrame
          The source data for the model expansion.
  
      Returns
      -------
      variables: list
          A list of variables in the provided formula expression.
      data: pandas DataFrame
          A tabulation of all terms in the provided formula expression.