code: def p_case_list(p):
      
      if len(p) == 1:
          p[0] = node.stmt_list()
      elif len(p) == 3:
          assert isinstance(p[2], node.stmt_list)
          p[0] = p[2]
      elif len(p) == 6:
          p[0] = node.if_stmt(
              cond_expr=node.expr(
                  op="==", args=node.expr_list([p[2]])),
              then_stmt=p[4],
              else_stmt=p[5])
          p[0].cond_expr.args.append(
              None)  # None will be replaced using backpatch()
      else:
          assert 0
docs: case_list :
                | CASE expr sep stmt_list_opt case_list
                | CASE expr error stmt_list_opt case_list
                | OTHERWISE stmt_list