code: def p_list0(p):
      '''list0 : list1 NEWLINE newline_list
               | list1 AMPERSAND newline_list
               | list1 SEMICOLON newline_list'''
      parts = p[1]
      if len(parts) > 1 or p.slice[2].ttype != tokenizer.tokentype.NEWLINE:
          parts.append(ast.node(kind='operator', op=p[2], pos=p.lexspan(2)))
          p[0] = ast.node(kind='list', parts=parts, pos=_partsspan(parts))
      else:
          p[0] = parts[0f p_list0(p):
      '''list0 : list1 NEWLINE newline_list
               | list1 AMPERSAND newline_list
               | list1 SEMICOLON newline_list'''
      parts = p[1]
      if len(parts) > 1 or p.slice[2].ttype != tokenizer.tokentype.NEWLINE:
          parts.append(ast.node(kind='operator', op=p[2], pos=p.lexspan(2)))
          p[0] = ast.node(kind='list', parts=parts, pos=_partsspan(parts))
      else:
          p[0] = parts[0]
docs: list0 : list1 NEWLINE newline_list
               | list1 AMPERSAND newline_list
               | list1 SEMICOLON newline_list