(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:1)
                command_list: (command.CommandList children:[(C {(pwd)})])
              ) (Id.Lit_Other ':') (/command) (Id.Lit_Other ':') (/usr/local/bin) (Id.Lit_Other ':') (/usr/local/sbin) 
              (Id.Lit_Other ':') (/bin) (Id.Lit_Other ':') (/sbin) (Id.Lit_Other ':') (/usr/bin) (Id.Lit_Other ':') (/usr/sbin) 
              (Id.Lit_Other ':') (/usr/X11R6/bin) (Id.Lit_Other ':') (/usr/ucb)
            }
          spids: [0]
        )
      ]
    )
    (C {(export)} {(PATH)})
    (C {(umask)} {(022)})
    (command.ShFunction
      name: die
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} {(DQ ($ Id.VSub_At '$@'))})
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:49)
              arg_word: {(1)}
            )
          ]
        )
    )
    (command.ShFunction
      name: catexe
      body: 
        (command.BraceGroup
          children: [
            (command.Simple
              words: [{(cat)}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_Great val:'>' span_id:65)
                  fd: -1
                  arg_word: {($ Id.VSub_Number '$1')}
                )
              ]
            )
            (C {(chmod)} {(Id.Lit_Other '+') (x)} {($ Id.VSub_Number '$1')})
          ]
        )
    )
    (command.ShFunction
      name: filter_svstat
      body: 
        (command.BraceGroup
          children: [
            (C {(sed)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/[0-9]* seconds/x seconds/' span_id:92))} 
              {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/pid [0-9]*/pid x/' span_id:98))}
            )
          ]
        )
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {(rm)} {(-rf)} {(rts-tmp)}) (C {(die)} {(DQ ('Could not clean up old rts-tmp'))})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {(mkdir)} {(rts-tmp)}) (C {(die)} {(DQ ('Could not create new rts-tmp'))})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {(cd)} {(rts-tmp)}) (C {(die)} {(DQ ('Could not change to rts-tmp'))})]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {(mkdir)} {(test.sv)}) (C {(die)} {(DQ ('Could not create test.sv'))})]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TOP)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:155)
                command_list: (command.CommandList children:[(C {(pwd)})])
              )
            }
          spids: [154]
        )
      ]
    )
  ]
)