(command.CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (command.FuncDef
      name: _count
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {(grep)} {(-v)} {(SQ <'_test.py$'>)})
                (C {(xargs)} {(wc)} {(-l)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
          ]
          spids: [36]
        )
      spids: [32 35]
    )
    (command.FuncDef
      name: all
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} {(COMMON)})
            (command.Pipeline
              children: [(C {(echo)} {(opy_main.py)}) (C {(_count)})]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(LEXER) (Lit_Comma ',')} {(PARSER)} {(GENERATOR) (Lit_Comma ',')} {(AND)} 
              {(GRAMMR)}
            )
            (command.Pipeline
              children: [
                (C {(echo)} {(pytree.py)} {(pgen2/) (Lit_Other '*') (.py)} {(py27.grammar)})
                (C {(_count)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(COMPILER2)})
            (command.Pipeline
              children: [
                (C {(ls)} {(compiler2/) (Lit_Other '*') (.py)})
                (C {(grep)} {(-v)} {(ast.py)})
                (C {(_count)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(STDLIB)})
            (command.Pipeline
              children: [(C {(echo)} {(lib/) (Lit_Other '*') (.py)}) (C {(_count)})]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(GENERATED)} {(CODE)})
            (C {(wc)} {(-l)} {(compiler2/ast.py)})
            (C {(echo)})
            (C {(echo)} {(BYTERUN)})
            (command.Pipeline
              children: [
                (C {(ls)} {(byterun/) (Lit_Other '*') (.py)})
                (C {(grep)} {(-v)} {(SQ <test>)})
                (C {(_count)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(MISC)})
            (command.Pipeline
              children: [
                (C {(echo)} 
                  (word.BracedWordTree
                    parts: [
                      (word_part.BracedAltPart words:[{(misc)} {(tools)}])
                      (/)
                      (Lit_Other '*')
                      (.py)
                    ]
                  )
                )
                (C {(_count)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(UNIT)} {(TESTS)})
            (command.Pipeline
              children: [
                (C {(echo)} {(Lit_Other '*') (/) (Lit_Other '*') (_test.py)})
                (C {(xargs)} {(wc)} {(-l)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(echo)} {(SCRIPTS)})
            (command.Pipeline
              children: [
                (C {(echo)} {(Lit_Other '*') (.sh)} {(Lit_Other '*') (/) (Lit_Other '*') (.sh)})
                (C {(xargs)} {(ls)})
                (C {(grep)} {(-v)} {(SQ <'^old/'>)})
                (C {(_count)})
              ]
              negated: F
            )
            (C {(echo)})
          ]
          spids: [74]
        )
      spids: [70 73]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PARSER spids:[357])
          op: Equal
          rhs: 
            {
              (word_part.ArrayLiteralPart
                words: [
                  (word.BracedWordTree
                    parts: [
                      (osh/)
                      (word_part.BracedAltPart
                        words: [{(cmd)} {(bool)} {(word)} {(arith)}]
                      )
                      (_parse.pyc)
                    ]
                  )
                ]
              )
            }
          spids: [357]
        )
      ]
      spids: [355]
    )
    (command.FuncDef
      name: opcodes-comparison
      body: 
        (command.BraceGroup
          children: [
            (command.ForEach
              iter_name: pyc
              iter_words: [
                {
                  (DQ 
                    (word_part.BracedVarSub
                      token: <VSub_Name PARSER>
                      bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                      spids: [387 392]
                    )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(echo)})
                    (C {(echo)} {(DQ ('=== ') ($ VSub_DollarName '$pyc') (' ==='))})
                    (C {(echo)})
                    (command.SimpleCommand
                      words: [{(bin/opyc)} {(dis)} {($ VSub_DollarName '$pyc')} {(cpython.txt)}]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                    (command.SimpleCommand
                      words: [
                        {(bin/opyc)}
                        {(dis)}
                        {(_tmp/oil-with-opy/) ($ VSub_DollarName '$pyc')}
                        {(opy.txt)}
                      ]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                    (command.Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:diff spids:[442])
                          op: Equal
                          rhs: 
                            {
                              (word_part.BracedVarSub
                                token: <VSub_Name DIFF>
                                suffix_op: 
                                  (suffix_op.StringUnary
                                    op_id: VTest_ColonHyphen
                                    arg_word: {('diff -u')}
                                  )
                                spids: [443 447]
                              )
                            }
                          spids: [442]
                        )
                      ]
                      spids: [440]
                    )
                    (C {($ VSub_DollarName '$diff')} 
                      (word.BracedWordTree
                        parts: [(word_part.BracedAltPart words:[{(cpython)} {(opy)}]) (.txt)]
                      )
                    )
                  ]
                  spids: [396 460]
                )
              spids: [385 394]
            )
          ]
          spids: [377]
        )
      spids: [373 376]
    )
    (command.FuncDef
      name: opcodes
      body: 
        (command.BraceGroup
          children: [
            (command.ForEach
              iter_name: pyc
              iter_words: [
                {
                  (DQ 
                    (word_part.BracedVarSub
                      token: <VSub_Name PARSER>
                      bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                      spids: [479 484]
                    )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(echo)})
                    (C {(echo)} {(DQ ('=== ') ($ VSub_DollarName '$pyc') (' ==='))})
                    (C {(echo)})
                    (C {(bin/opyc)} {(dis)} {(_tmp/oil-with-opy/) ($ VSub_DollarName '$pyc')})
                  ]
                  spids: [488 515]
                )
              spids: [477 486]
            )
          ]
          spids: [469]
        )
      spids: [465 468]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)