(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ('5.1 5.2 5.3'))}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-stringy)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.4.0)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(5)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Lua string utility library'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://github.com/brentp/lua-stringy/'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[49])]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[53])]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ (lua-stringy-) ($ VSub_Name '$pkgver') 
                ('.tar.gz::https://github.com/brentp/lua-stringy/archive/v') ($ VSub_Name '$pkgver') (.tar.gz)
              )
            }
          spids: [57]
        )
      ]
      spids: [57]
    )
    (ForEach
      iter_name: _v
      iter_words: [{($ VSub_Name '$_luaversions')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:makedepends)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$makedepends') (' lua') ($ VSub_Name '$_v') (' lua') 
                        ($ VSub_Name '$_v') (-dev)
                      )
                    }
                  spids: [79]
                )
              ]
              spids: [79]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_v') ('-stringy:split_') 
                        (BracedVarSub
                          token: <VSub_Name _v>
                          suffix_op: 
                            (PatSub
                              pat: {(.)}
                              replace: {(_)}
                              do_all: False
                              do_prefix: False
                              do_suffix: False
                            )
                          spids: [96 102]
                        )
                      )
                    }
                  spids: [90]
                )
              ]
              spids: [90]
            )
          ]
          spids: [76 105]
        )
      spids: [72 74]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/lua-stringy-) ($ VSub_Name '$pkgver') (/stringy)}
          spids: [109]
        )
      ]
      spids: [109]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[126])]
              spids: [124]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$source')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name '$i')})
                              terminator: <Op_Semi ';'>
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p2)} {(-i)} 
                                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$i')}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [155 157 181 -1]
                        )
                      ]
                      spids: [148 152 184]
                    )
                  ]
                  spids: [145 187]
                )
              spids: [141 143]
            )
          ]
          spids: [121]
        )
      spids: [117 120]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: _v
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike 'CC=') 
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name CC>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcc)})
                                spids: [222 226]
                              )
                            )
                          } {(Lit_VarLike 'CFLAGS=') (DQ ($ VSub_Name '$CFLAGS'))} 
                          {(Lit_VarLike 'LDFLAGS=') (DQ ($ VSub_Name '$LDFLAGS'))} {(Lit_VarLike 'LUA_PC=') (DQ (lua) ($ VSub_Name '$_v'))} 
                          {(Lit_VarLike 'LUA=') (DQ (lua) ($ VSub_Name '$_v'))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(mv)} {(stringy.so)} {(stringy.so.) ($ VSub_Name '$_v')})
                    (C {(make)} {(clean)})
                  ]
                  spids: [215 273]
                )
              spids: [211 213]
            )
          ]
          spids: [196]
        )
      spids: [192 195]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:d) op:Equal spids:[287])]
              spids: [285]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: _v
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:d)
                          op: Equal
                          rhs: {($ VSub_Name '$pkgdir') (/usr/lib/lua/) ($ VSub_Name '$_v')}
                          spids: [309]
                        )
                      ]
                      spids: [309]
                    )
                    (AndOr
                      children: [
                        (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$d'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(cp)} {(stringy.so.) ($ VSub_Name '$_v')} {(DQ ($ VSub_Name '$d') (/stringy.so))})
                  ]
                  spids: [306 341]
                )
              spids: [302 304]
            )
          ]
          spids: [282]
        )
      spids: [278 281]
    )
    (FuncDef
      name: _split
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:d)
                  op: Equal
                  rhs: {(usr/lib/lua)}
                  spids: [355]
                )
                (assign_pair
                  lhs: (LhsName name:_ver)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [358]
                )
              ]
              spids: [353]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' for Lua ') ($ VSub_Name '$_ver'))}
                  spids: [362]
                )
              ]
              spids: [362]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua) ($ VSub_Name '$_ver') (' ') ($ VSub_Name '$pkgname') ('=') 
                        ($ VSub_Name '$pkgver') (-r) ($ VSub_Name '$pkgrel')
                      )
                    }
                  spids: [370]
                )
              ]
              spids: [370]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[383])]
              spids: [383]
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir') (/) ($ VSub_Name '$d'))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(mv)} {(DQ ($ VSub_Name '$pkgdir') (/) ($ VSub_Name '$d') (/) ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$subpkgdir') (/) ($ VSub_Name '$d'))}
            )
          ]
          spids: [350]
        )
      spids: [346 349]
    )
    (ForEach
      iter_name: _v
      iter_words: [{($ VSub_Name '$_luaversions')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ (split_) 
                  (BracedVarSub
                    token: <VSub_Name _v>
                    suffix_op: 
                      (PatSub
                        pat: {(.)}
                        replace: {(_)}
                        do_all: False
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [438 444]
                  ) ('() { _split ') ($ VSub_Name '$_v') ('; }')
                )
              }
            )
          ]
          spids: [431 450]
        )
      spids: [427 429]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ('00a3bb395cc91b597df7d7931c226c47  lua-stringy-0.4.0.tar.gz'))}
          spids: [454]
        )
      ]
      spids: [454]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'ec4a97a9d0294b8b2df6b5d94576414c4f29e782c4ef7ac6fcff07cd73757e3c  lua-stringy-0.4.0.tar.gz'
                )
              )
            }
          spids: [459]
        )
      ]
      spids: [459]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'909a0d6da308ed97d394b953456446151476a27a122fca503187f13f61a71d94ee3561a179c7d5307db517a31eaaa5b58b53d5abaa6912da3d46fc0dbb3dcc6c  lua-stringy-0.4.0.tar.gz'
                )
              )
            }
          spids: [464]
        )
      ]
      spids: [464]
    )
  ]
)