(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:UNIT_BINARY)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$1'))}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:UNIT_ARGS)
          op: Equal
          rhs: {(DQ ($ VSub_At '$@'))}
          spids: [11]
        )
      ]
      spids: [11]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ (x) ($ VSub_Name '$OBJ'))} {(Lit_Other '=')} {(DQ (x))})
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:OBJ) op:Equal rhs:{($ VSub_Name '$PWD')} spids:[32])]
          spids: [32]
        )
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VG_TEST)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(basename)} {($ VSub_Name '$UNIT_BINARY')})]
                  )
                left_token: <Left_Backtick '`'>
                spids: [43 47]
              )
            }
          spids: [42]
        )
      ]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VG_LOG)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$OBJ') (/valgrind-out/) (${ VSub_Name VG_TEST) ('.%p'))}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VG_OPTS)
          op: Equal
          rhs: {(DQ ('--track-origins=yes --leak-check=full --log-file=') (${ VSub_Name VG_LOG))}
          spids: [59]
        )
      ]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VG_OPTS)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$VG_OPTS') (' --trace-children=yes'))}
          spids: [67]
        )
      ]
      spids: [67]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VG_PATH) op:Equal rhs:{(DQ (valgrind))} spids:[73])]
      spids: [73]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (x) ($ VSub_Name '$VALGRIND_PATH'))} 
                  {(KW_Bang '!') (Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VG_PATH)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$VALGRIND_PATH'))}
                  spids: [100]
                )
              ]
              spids: [100]
            )
          ]
          spids: [-1 97]
        )
      ]
      spids: [-1 105]
    )
    (C {(exec)} {($ VSub_Name '$VG_PATH')} {($ VSub_Name '$VG_OPTS')} {($ VSub_Name '$UNIT_BINARY')} 
      {($ VSub_Name '$UNIT_ARGS')}
    )
  ]
)