(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(bsnes)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.91)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_x)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name pkgver>
                suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")})
                spids: [13 17]
              )
            }
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_y)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name pkgver>
                suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*.")})
                spids: [20 24]
              )
            }
          spids: [19]
        )
      ]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_pkgver)
          op: Equal
          rhs: {(DQ (v) (${ VSub_Name _x) (${ VSub_Name _y))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[37])]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("high accuracy SNES emulator"))}
          spids: [40]
        )
      ]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://byuu.org/bsnes/"))}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ ("x86 x86_64"))} spids:[50])]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[55])]
      spids: [55]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[60])]
      spids: [60]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: 
            {
              (DQ ("qt-dev openal-soft-dev sdl-dev alsa-lib-dev mesa-dev libao-dev\n") 
                ("\tlibxv-dev gtk+-dev")
              )
            }
          spids: [62]
        )
      ]
      spids: [62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev"))}
          spids: [68]
        )
      ]
      spids: [68]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[73])]
      spids: [73]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(SQ )} spids:[77])]
      spids: [77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://bsnes.googlecode.com/files/") (${ VSub_Name pkgname) (_) 
                (${ VSub_Name _pkgver) ("-source.tar.xz\n") ("\tno-pulseaudio.patch\n") ("\tdefine-disassembler_read-relb.patch\n") ("\t")
              )
            }
          spids: [79]
        )
      ]
      spids: [79]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name srcdir) (/) (${ VSub_Name pkgname) (_) (${ VSub_Name _pkgver) 
                (-source/bsnes)
              )
            }
          spids: [96]
        )
      ]
      spids: [96]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[121])]
              spids: [119]
            )
            (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)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [151 153 177 -1]
                        )
                      ]
                      spids: [144 148 180]
                    )
                  ]
                  spids: [141 183]
                )
              spids: [137 139]
            )
            (Pipeline
              children: [
                (C {(find)} {(-name)} {(SQ <Makefile>)})
                (C {(xargs)} {(sed)} {(-i)} {(-e)} {(SQ <"s/sudo //">)} {(-e)} {(SQ <"/~\\/\\.config/d">)})
              ]
              negated: False
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "compiler=") (gcc)} {(Lit_VarLike "prefix=") (/usr)} 
                  {(Lit_VarLike "profile=") (performance)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [229]
        )
      spids: [225 228]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} 
                  {(Lit_VarLike "prefix=") (/usr)} {(Lit_VarLike "profile=") (performance)} {(install)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [263]
        )
      spids: [259 262]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("ba53212c56990e83d7770393c4e2d173  bsnes_v091-source.tar.xz\n") 
                ("037fb1b2949957daf1942ff3abc4deed  no-pulseaudio.patch\n") ("957204062ed4634bd83345aa597666c4  define-disassembler_read-relb.patch")
              )
            }
          spids: [297]
        )
      ]
      spids: [297]
    )
  ]
)