(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(lua-lpeg)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(lpeg)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.0.1)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(3)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Pattern-matching library for Lua'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://www.inf.puc-rio.br/~roberto/lpeg'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') (-dev))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://www.inf.puc-rio.br/~roberto/lpeg/') ($ VSub_Name '$_pkgname') (-) 
                ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\ttest-fix-setlocale.patch\n') ('\tbuild-static-lib.patch')
              )
            }
          spids: [52]
        )
      ]
      spids: [52]
    )
    (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: [63]
        )
      ]
      spids: [63]
    )
    (Case
      to_match: {(DQ ($ VSub_Name '$CARCH'))}
      arms: [
        (case_arm
          pat_list: [{(s390x)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_luajit) op:Equal rhs:{(DQ )} spids:[88])]
              spids: [88]
            )
          ]
          spids: [85 86 91 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:checkdepends)
                  op: Equal
                  rhs: {(DQ (luajit))}
                  spids: [97]
                )
                (assign_pair
                  lhs: (LhsName name:_luajit)
                  op: Equal
                  rhs: {(DQ (jit))}
                  spids: [102]
                )
              ]
              spids: [97]
            )
          ]
          spids: [94 95 106 -1]
        )
      ]
      spids: [76 82 108]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_luaversions)
          op: Equal
          rhs: {(DQ ('5.1 5.2 5.3'))}
          spids: [111]
        )
      ]
      spids: [111]
    )
    (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') (-dev))}
                  spids: [128]
                )
              ]
              spids: [128]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subpackages)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpackages') (' lua') ($ VSub_Name '$_v') (-) 
                        ($ VSub_Name '$_pkgname') (':_package')
                      )
                    }
                  spids: [137]
                )
              ]
              spids: [137]
            )
          ]
          spids: [125 147]
        )
      spids: [121 123]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(-e)} {(SQ <'s/^CFLAGS =/CFLAGS +=/'>)} {(-e)} 
                  {(SQ <'s/^COPT =/# COPT =/'>)} {(makefile)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[207])]
                  spids: [205]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(cp)} {(-r)} {(DQ ($ VSub_Name '$builddir'))} 
                          {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [219 243]
                )
              spids: [215 217]
            )
          ]
          spids: [154]
        )
      spids: [150 153]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[257])]
                  spids: [255]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ('Building for Lua ') ($ VSub_Name '$lver') (...))})
                    (AndOr
                      children: [
                        (C {(make)} {(-C)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))} 
                          {(Lit_VarLike 'LUADIR=') (/usr/include/lua) ($ VSub_Name '$lver')}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [269 302]
                )
              spids: [265 267]
            )
          ]
          spids: [252]
        )
      spids: [248 251]
    )
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[316])]
                  spids: [314]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')} {($ VSub_Name '$_luajit')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ('Testing on lua') ($ VSub_Name '$lver'))})
                    (C {(cd)} 
                      {
                        (DQ ($ VSub_Name '$builddir') (-) 
                          (BracedVarSub
                            token: <VSub_Name lver>
                            suffix_op: 
                              (PatSub
                                pat: {(jit)}
                                replace: {(5.1)}
                                do_all: False
                                do_prefix: False
                                do_suffix: False
                              )
                            spids: [347 353]
                          )
                        )
                      }
                    )
                    (C {(lua) ($ VSub_Name '$lver')} {(test.lua)})
                  ]
                  spids: [330 363]
                )
              spids: [324 328]
            )
          ]
          spids: [311]
        )
      spids: [307 310]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir'))})] spids:[372])
      spids: [368 371]
    )
    (FuncDef
      name: dev
      body: 
        (BraceGroup
          children: [
            (C {(default_dev)})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir'))})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:lver) op:Equal spids:[408])]
                  spids: [406]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: lver
              iter_words: [{($ VSub_Name '$_luaversions')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(install)} {(-Dm644)} 
                          {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver')) (/lpeg.a)} {(DQ ($ VSub_Name '$subpkgdir')) (/usr/lib/lua/) ($ VSub_Name '$lver') (/lpeg.a)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [420 450]
                )
              spids: [416 418]
            )
          ]
          spids: [390]
        )
      spids: [386 389]
    )
    (FuncDef
      name: _package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lver)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: 
                            (Slice
                              begin: (ArithWord w:{(Lit_Digits 3)})
                              length: (ArithWord w:{(Lit_Digits 3)})
                            )
                          spids: [466 472]
                        )
                      )
                    }
                  spids: [464]
                )
              ]
              spids: [462]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('Pattern-matching library for Lua ') ($ VSub_Name '$lver'))}
                  spids: [476]
                )
              ]
              spids: [476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (lua) ($ VSub_Name '$lver'))}
                  spids: [483]
                )
              ]
              spids: [483]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ (lua) ($ VSub_Name '$lver') (' ') ($ VSub_Name '$pkgname') ('=') 
                        ($ VSub_Name '$pkgver') (-r) ($ VSub_Name '$pkgrel')
                      )
                    }
                  spids: [490]
                )
              ]
              spids: [490]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rockdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$subpkgdir') (/usr/lib/luarocks/rocks-) ($ VSub_Name '$lver') 
                        (/) ($ VSub_Name '$_pkgname') (/) ($ VSub_Name '$pkgver') (-1)
                      )
                    }
                  spids: [505]
                )
              ]
              spids: [503]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir') (-) ($ VSub_Name '$lver'))})
            (AndOr
              children: [
                (C {(install)} {(-Dm755)} {(lpeg.so)} 
                  {(DQ ($ VSub_Name '$subpkgdir')) (/usr/lib/lua/) ($ VSub_Name '$lver') (/lpeg.so)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-Dm644)} {(re.lua)} 
                  {(DQ ($ VSub_Name '$subpkgdir')) (/usr/share/lua/) ($ VSub_Name '$lver') (/re.lua)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$rockdir'))})
            (SimpleCommand
              words: [{(echo)} {(SQ <'rock_manifest = {}'>)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$rockdir')) (/rock_manifest)}
                  spids: [589]
                )
              ]
            )
          ]
          spids: [459]
        )
      spids: [455 458]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'7b43fbee7eff443000986684bc56bba6d2796a31cf860740746c70e155bdea1b62a46b93f97e2747e3ef0f63e965148778ac2985d0f2d83e1e37ec4ebbabf4aa  lpeg-1.0.1.tar.gz\n'
                ) 
                (
'49ce012e6c2f6e07b3aae4f52630f3b4aa43f936f76dbfb2b8e33208fb05aec54e2e6c815215d606ee0dfc860b07917a042c77cdc0ea5b6b14a8028fa0e724f8  test-fix-setlocale.patch\n'
                ) 
                (
'3022a101639822f6d5ea38578a9efd29e22dba7433c770d0ebf6e7a35053ead26dae10a737a804061ea32daed8770812d9f9ca444acc1b0ea7329280223ae1fb  build-static-lib.patch'
                )
              )
            }
          spids: [599]
        )
      ]
      spids: [599]
    )
  ]
)