code: def p_simple_list1(p):
      '''simple_list1 : simple_list1 AND_AND newline_list simple_list1
                      | simple_list1 OR_OR newline_list simple_list1
                      | simple_list1 AMPERSAND simple_list1
                      | simple_list1 SEMICOLON simple_list1
                      | pipeline_command'''
      if len(p) == 2:
          p[0] = [p[1]]
      else:
          p[0] = p[1]
          p[0].append(ast.node(kind='operator', op=p[2], pos=p.lexspan(2)))
          p[0].extend(p[len(p) - 1]f p_simple_list1(p):
      '''simple_list1 : simple_list1 AND_AND newline_list simple_list1
                      | simple_list1 OR_OR newline_list simple_list1
                      | simple_list1 AMPERSAND simple_list1
                      | simple_list1 SEMICOLON simple_list1
                      | pipeline_command'''
      if len(p) == 2:
          p[0] = [p[1]]
      else:
          p[0] = p[1]
          p[0].append(ast.node(kind='operator', op=p[2], pos=p.lexspan(2)))
          p[0].extend(p[len(p) - 1])
docs: simple_list1 : simple_list1 AND_AND newline_list simple_list1
                      | simple_list1 OR_OR newline_list simple_list1
                      | simple_list1 AMPERSAND simple_list1
                      | simple_list1 SEMICOLON simple_list1
                      | pipeline_command