(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:common_objpfx)
          op: Equal
          rhs: {($ VSub_Number '$1')}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_program_prefix_before_env)
          op: Equal
          rhs: {($ VSub_Number '$2')}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:run_program_env)
          op: Equal
          rhs: {($ VSub_Number '$3')}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_program_prefix_after_env)
          op: Equal
          rhs: {($ VSub_Number '$4')}
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:objpfx) op:Equal rhs:{($ VSub_Number '$5')})]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:malloc_trace)
          op: Equal
          rhs: {($ VSub_Number '$6')}
        )
      ]
    )
    (C {(mkdir)} {(-p)} {(${ VSub_Name objpfx) (localedir/existing-locale/LC_MESSAGES)})
    (command.ForEach
      iter_name: f
      iter_words: [
        {(ADDRESS)}
        {(COLLATE)}
        {(CTYPE)}
        {(IDENTIFICATION)}
        {(MEASUREMENT)}
        {(MONETARY)}
        {(NAME)}
        {(NUMERIC)}
        {(PAPER)}
        {(TELEPHONE)}
        {(TIME)}
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(cp)} {(-f)} 
              {(${ VSub_Name common_objpfx) (localedata/de_DE.UTF-8/LC_) ($ VSub_DollarName '$f')} {(${ VSub_Name objpfx) (localedir/existing-locale)}
            )
          ]
        )
    )
    (C {(cp)} {(-f)} {(${ VSub_Name common_objpfx) (localedata/de_DE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES)} 
      {(${ VSub_Name objpfx) (localedir/existing-locale/LC_MESSAGES)}
    )
    (C {(mkdir)} {(-p)} {(${ VSub_Name objpfx) (domaindir/existing-locale/LC_MESSAGES)})
    (C {(mkdir)} {(-p)} {(${ VSub_Name objpfx) (domaindir/existing-locale/LC_TIME)})
    (C {(msgfmt)} {(-o)} 
      {(${ VSub_Name objpfx) (domaindir/existing-locale/LC_MESSAGES/existing-domain.mo)} {(-f)} {(../po/de.po)}
    )
    (C {(msgfmt)} {(-o)} 
      {(${ VSub_Name objpfx) (domaindir/existing-locale/LC_TIME/existing-time-domain.mo)} {(-f)} {(../po/de.po)}
    )
    (command.SimpleCommand
      words: [
        {(${ VSub_Name test_program_prefix_before_env)}
        {(${ VSub_Name run_program_env)}
        {(Lit_VarLike 'MALLOC_TRACE=') ($ VSub_DollarName '$malloc_trace')}
        {(Lit_VarLike 'LOCPATH=') (${ VSub_Name objpfx) (localedir) (Lit_Other ':') 
          (${ VSub_Name common_objpfx) (localedata)
        }
        {(${ VSub_Name test_program_prefix_after_env)}
        {(${ VSub_Name objpfx) (tst-gettext)}
        {(${ VSub_Name objpfx) (domaindir)}
      ]
      redirects: [
        (redir.Redir
          op: <Redir_Great '>'>
          fd: 16777215
          arg_word: {(${ VSub_Name objpfx) (tst-gettext.out)}
        )
      ]
    )
    (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
  ]
)