(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(bats)} spids:[3])]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.4.0)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("Bash Automated Testing System"))}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/sstephenson/bats"))}
          spids: [17]
        )
      ]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[22])]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[27])]
      spids: [27]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (bash))} spids:[32])]
      spids: [32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [37]
        )
      ]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/sstephenson/") ($ VSub_Name "$pkgname") (/archive/v) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))}
          spids: [55]
        )
      ]
      spids: [55]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/bats)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)}
            )
            (AndOr
              children: [
                (C {(cp)} {(-r)} {(libexec/) (Lit_Other "*")} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/bats)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(ln)} {(-s)} {(../lib/bats/bats)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/bats)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[134])]
                  spids: [132]
                )
              terminator: <Op_Semi ";">
            )
            (ForEach
              iter_name: i
              iter_words: [{(1)} {(7)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(install)} {(-m)} {(644)} {(-D)} {(man/bats.) ($ VSub_Name "$i")} 
                          {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man) ($ VSub_Name "$i") 
                            (/bats.) ($ VSub_Name "$i")
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [148 179]
                )
              spids: [142 146]
            )
          ]
          spids: [69]
        )
      spids: [65 68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"83c6c0e3ceec149708a8db5d33e95cc84852d8189498c22131c00f4288a6c870f9d522bae9230157f442338dc101e1468451d78dfa274afb83a6f0dd614c8bdb  bats-0.4.0.tar.gz"
                )
              )
            }
          spids: [184]
        )
      ]
      spids: [184]
    )
  ]
)