docs: def experiment(parser, token):
      """
      Split Testing experiment tag has the following syntax :
      
      {% experiment <experiment_name> <alternative>  %}
      experiment content goes here
      {% endexperiment %}
      
      If the alternative name is neither 'test' nor 'control' an exception is raised
      during rendering.
      """
      try:
          token_contents = token.split_contents()
          experiment_name, alternative, weight, user_variable = _parse_token_contents(token_contents)
  
          node_list = parser.parse(('endexperiment', ))
          parser.delete_first_token()
      except ValueError:
          raise template.TemplateSyntaxError("Syntax should be like :"
                  "{% experiment experiment_name alternative [weight=val] [user=val] %}")
  
      return ExperimentNode(node_list, experiment_name, alternative, weight, user_variable)