code: def p_elif_clause(p):
      '''elif_clause : ELIF compound_list THEN compound_list
                     | ELIF compound_list THEN compound_list ELSE compound_list
                     | ELIF compound_list THEN compound_list elif_clause'''
      parts = []
      for i in range(1, len(p)):
          if isinstance(p[i], ast.node):
              parts.append(p[i])
          else:
              parts.append(ast.node(kind='reservedword', word=p[i], pos=p.lexspan(i)))
      p[0] = partf p_elif_clause(p):
      '''elif_clause : ELIF compound_list THEN compound_list
                     | ELIF compound_list THEN compound_list ELSE compound_list
                     | ELIF compound_list THEN compound_list elif_clause'''
      parts = []
      for i in range(1, len(p)):
          if isinstance(p[i], ast.node):
              parts.append(p[i])
          else:
              parts.append(ast.node(kind='reservedword', word=p[i], pos=p.lexspan(i)))
      p[0] = parts
docs: elif_clause : ELIF compound_list THEN compound_list
                     | ELIF compound_list THEN compound_list ELSE compound_list
                     | ELIF compound_list THEN compound_list elif_clause