(CommandList
  children: [
    (C {(set)} {(-e)})
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:common_objpfx)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [54]
                )
              ]
              spids: [54]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test_program_prefix)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [60]
                )
              ]
              spids: [60]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:testout)
          op: Equal
          rhs: {(${ VSub_Name common_objpfx) (/grp/tst_fgetgrent.out)}
          spids: [67]
        )
      ]
      spids: [67]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(0)} spids:[74])]
      spids: [74]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name test_program_prefix)}
            {(${ VSub_Name common_objpfx) (grp/tst_fgetgrent)}
            {(0)}
          ]
          redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(${ VSub_Name testout)})]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[98])]
          spids: [98]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name test_program_prefix)}
            {(${ VSub_Name common_objpfx) (grp/tst_fgetgrent)}
            {(1)}
          ]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name testout)})]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[122])]
          spids: [122]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name test_program_prefix)}
            {(${ VSub_Name common_objpfx) (grp/tst_fgetgrent)}
            {(2)}
          ]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name testout)})]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[146])]
          spids: [146]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (SimpleCommand
          words: [
            {(${ VSub_Name test_program_prefix)}
            {(${ VSub_Name common_objpfx) (grp/tst_fgetgrent)}
            {(3)}
          ]
          redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name testout)})]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[170])]
          spids: [170]
        )
      ]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$result')})
  ]
)