(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:common_objpfx)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [54]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_program_prefix_before_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [57]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:run_program_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$3')}
          spids: [60]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_program_prefix_after_env)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$4')}
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:objpfx)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$5')}
          spids: [66]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:malloc_trace)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$6')}
          spids: [69]
        )
      ]
    )
    (C {<mkdir>} {<-p>} {(${ Id.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>} 
              {(${ Id.VSub_Name common_objpfx) <'localedata/de_DE.UTF-8/LC_'> 
                ($ Id.VSub_DollarName '$f')
              } {(${ Id.VSub_Name objpfx) <'localedir/existing-locale'>}
            )
          ]
        )
    )
    (C {<cp>} {<-f>} 
      {(${ Id.VSub_Name common_objpfx) <'localedata/de_DE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES'>} {(${ Id.VSub_Name objpfx) <'localedir/existing-locale/LC_MESSAGES'>}
    )
    (C {<mkdir>} {<-p>} {(${ Id.VSub_Name objpfx) <'domaindir/existing-locale/LC_MESSAGES'>})
    (C {<mkdir>} {<-p>} {(${ Id.VSub_Name objpfx) <'domaindir/existing-locale/LC_TIME'>})
    (C {<msgfmt>} {<-o>} 
      {(${ Id.VSub_Name objpfx) <'domaindir/existing-locale/LC_MESSAGES/existing-domain.mo'>} {<-f>} {<'../po/de.po'>}
    )
    (C {<msgfmt>} {<-o>} 
      {(${ Id.VSub_Name objpfx) <'domaindir/existing-locale/LC_TIME/existing-time-domain.mo'>} {<-f>} {<'../po/de.po'>}
    )
    (command.Simple
      words: [
        {(${ Id.VSub_Name test_program_prefix_before_env)}
        {(${ Id.VSub_Name run_program_env)}
        {<Id.Lit_VarLike 'MALLOC_TRACE='> ($ Id.VSub_DollarName '$malloc_trace')}
        {<Id.Lit_VarLike 'LOCPATH='> (${ Id.VSub_Name objpfx) <localedir> <Id.Lit_Colon ':'> 
          (${ Id.VSub_Name common_objpfx) <localedata>
        }
        {(${ Id.VSub_Name test_program_prefix_after_env)}
        {(${ Id.VSub_Name objpfx) <tst-gettext>}
        {(${ Id.VSub_Name objpfx) <domaindir>}
      ]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {(${ Id.VSub_Name objpfx) <tst-gettext.out>}
        )
      ]
      do_fork: T
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{($ Id.VSub_QMark '$?')})
  ]
)