(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PATH)
          op: Equal
          rhs: {(Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)}
        )
      ]
    )
    (C {(export)} {(PATH)})
    (C {(echo)} {(-n)} {(DQ ('Shell test  1 '))})
    (C {(rm)} {(-rf)} {(DIR_SH1)})
    (C {(mkdir)} {(DIR_SH1)})
    (C {(cd)} {(DIR_SH1)})
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:f) op:Equal rhs:{(../test1.c)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(test)} {(-r)} {($ VSub_DollarName '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(sh1)} {(cannot)} {(read)} {($ VSub_DollarName '$f')})
          terminator: <Op_Semi ';'>
        )
        (command.Sentence
          child: (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (abcdefghijklmnopqrstuvwxyz))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(alpha)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (ABCDEFGHIJKLMNOPQRSTUVWXYZ))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(ALPHA)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (0123456789))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(num)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ ('!@#') (Lit_Other '$') ('%^&*()_+=-{}[]:;<>?/.,'))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(special)})]
    )
    (C {(cp)} {(/etc/rc)} {(rc)})
    (C {(cp)} {(/etc/passwd)} {(passwd)})
    (command.SimpleCommand
      words: [{(cat)} {(alpha)} {(ALPHA)} {(num)} {(rc)} {(passwd)} {(special)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(tmp)})]
    )
    (command.SimpleCommand
      words: [{(cat)} {(tmp)} {(tmp)} {(tmp)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(f1)})]
    )
    (C {(mkdir)} {(foo)})
    (C {(cp)} {(/etc/rc)} {(/etc/passwd)} {(foo)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(foo/rc)} {(/etc/rc)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cp)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(foo/passwd)} {(/etc/passwd)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cp)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(-rf)} {(foo)})
    (command.SimpleCommand
      words: [{(cat)} {(num)} {(num)} {(num)} {(num)} {(num)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.SimpleCommand
      words: [{(wc)} {(-c)} {(y)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x1)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ ('     55 y'))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x2)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x1)} {(x2)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cat)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(y)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(cat)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)} {(passwd)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(p)})]
    )
    (C {(cp)} {(passwd)} {(q)})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(p)} {(q)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(ar)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(date)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(r)})]
    )
    (command.SimpleCommand
      words: [{(ar)} {(r)} {(x.a)} {(p)} {(q)} {(r)}]
      redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
    )
    (C {(ar)} {(r)} {(x.a)} {(/usr/bin/cp)})
    (C {(ar)} {(r)} {(x.a)} {(/usr/bin/cat)})
    (C {(rm)} {(p)} {(q)})
    (C {(mv)} {(r)} {(R)})
    (C {(ar)} {(x)} {(x.a)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(p)} {(/etc/passwd)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(Error)} {(on)} {(ar)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(q)} {(/etc/passwd)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(Error)} {(on)} {(ar)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(r)} {(R)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(Error)} {(on)} {(ar)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(cp)} {(/usr/bin/cp)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(Error)} {(on)} {(ar)} {(test)} {(5)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(cat)} {(/usr/bin/cat)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(Error)} {(on)} {(ar)} {(test)} {(6)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(cp)} {(cat)} {(p)} {(q)} {(r)})
    (command.SimpleCommand
      words: [{(ar)} {(d)} {(x.a)} {(r)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
    )
    (C {(ar)} {(x)} {(x.a)})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-r)} {(r)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(ar)} {(test)} {(7)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(rm)} {(-rf)} {(p)} {(q)} {(r)} {(R)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(test)} 
              {
                (word_part.CommandSubPart
                  command_list: 
                    (command.CommandList
                      children: [(C {(basename)} {(/usr/ast/foo.c)} {(.c)})]
                    )
                  left_token: <Left_Backtick '`'>
                )
              } {(KW_Bang '!') (Lit_Other '=')} {(SQ <foo>)}
            )
          ]
          action: [(C {(echo)} {(Error)} {(on)} {(basename)} {(test)} {(1)})]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: (command.CommandList children:[(C {(basename)} {(a/b/c/d)})])
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(SQ <d>)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(Error)} {(on)} {(basename)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(cp)} {($ VSub_DollarName '$f')} {(x.c)})
    (command.SimpleCommand
      words: [{(echo)} {(DQ ('/a/s//#####/g'))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(s)})]
    )
    (command.SimpleCommand
      words: [{(sed)} {(-f)} {(s)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x.c)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y.c)})
      ]
    )
    (command.SimpleCommand
      words: [{(cdiff)} {(x.c)} {(y.c)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.SimpleCommand
      words: [{(patch)} {(x.c)} {(y)}]
      redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x.c)} {(y.c)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(cdiff)} {(test)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(x.c) (Lit_Other '*')} {(y.c)} {(s)} {(y)})
    (command.SimpleCommand
      words: [{(ls)} {(/etc)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.SimpleCommand
      words: [{(grep)} {(-v)} {(DQ (passwd))} {(x)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.SimpleCommand
      words: [{(comm)} {(-3)} {(x)} {(y)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (passwd))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(w)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(w)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(comm)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(comm)} {(-13)} {(x)} {(y)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(comm)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(rm)} {(-rf)} {(w)} {(x)} {(y)} {(z)})
    (command.SimpleCommand
      words: [{(compress)} {(-fc)} {($ VSub_DollarName '$f')}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x.c.Z)})]
    )
    (command.SimpleCommand
      words: [{(compress)} {(-cd)} {(x.c.Z)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_DollarName '$f')} {(y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(KW_In in)} {(compress)} {(test)} 
                  {(1)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(rm)} {(-rf)} {(x.c.Z)} {(y)})
    (C {(cp)} {($ VSub_DollarName '$f')} {(x)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 1118
          stdin_parts: [('g/a/s//#####/g\n') ('g/b/s//@@@@@/g\n') ('g/c/s//!!!!!/g\n') ('w\n') ('q\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(ed)} {(x)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(y)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 1143
          stdin_parts: [('g/#####/s//a/g\n') ('g/@@@@@/s//b/g\n') ('g/!!!!!/s//c/g\n') ('w\n') ('q\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(ed)} {(x)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(y)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_DollarName '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(ed)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(x)} {(y)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(expr)} {(1)} {(Lit_Other '+')} {(1)})]
                        )
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(2)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(expr)} {(10000)} {(-)} {(1)})]
                        )
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(9999)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(expr)} {(100)} {(SQ <'*'>)} {(50)})]
                        )
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(5000)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(3)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: (command.CommandList children:[(C {(expr)} {(120)} {(/)} {(5)})])
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(24)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (word_part.CommandSubPart
                      command_list: 
                        (command.CommandList
                          children: [(C {(expr)} {(143)} {(Lit_Other '%')} {(7)})]
                        )
                      left_token: <Left_Backtick '`'>
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(3)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(5)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:a) op:Equal rhs:{(100)})]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:a)
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [(C {(expr)} {($ VSub_DollarName '$a')} {(Lit_Other '+')} {(1)})]
                  )
                left_token: <Left_Backtick '`'>
              )
            }
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} {($ VSub_DollarName '$a')} {(KW_Bang '!') (Lit_Other '=')} {(SQ <101>)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(expr)} {(test)} {(6)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(fgrep)} {(DQ (abc))} {(alpha)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(alpha)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(fgrep)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(fgrep)} {(DQ (abc))} {(num)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(fgrep)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)} {(alpha)} {(num)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.SimpleCommand
      words: [{(fgrep)} {(DQ (012))} {(z)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(w)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(w)} {(num)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(fgrep)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(date)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(Rabbit)})]
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (Rabbit))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.SimpleCommand
      words: [{(find)} {(.)} {(-name)} {(Rabbit)} {(-print)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(find)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(find)} {(.)} {(-name)} {(Bunny)} {(-print)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(find)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(rm)} {(Rabbit)} {(y)} {(z)})
    (command.SimpleCommand
      words: [{(grep)} {(DQ (a))} {(alpha)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(grep)} {(DQ (a))} {(ALPHA)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(grep)} {(-v)} {(DQ (0))} {(alpha)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(grep)} {(-s)} {(DQ (a))} {(alpha)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.SimpleCommand
                  words: [{(grep)} {(-s)} {(DQ (a))} {(alpha)}]
                  redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(5)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.SimpleCommand
                  words: [{(grep)} {(-s)} {(DQ (a))} {(ALPHA)}]
                  redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(grep)} {(test)} {(6)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(head)} {(-1)} {(f1)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(head)} {(test)} {(1)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(head)} {(-2)} {(f1)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.SimpleCommand
      words: [{(cat)} {(alpha)} {(ALPHA)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(y)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: 
                (C {(Lit_Other ':')} {(KW_Else else)} {(echo)} {(Error)} {(on)} {(head)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(mkdir)} {(FOO)})
    (C {(cp)} {(passwd)} {(FOO/z)})
    (C {(cp)} {(alpha)} {(FOO/x)})
    (C {(cp)} {(ALPHA)} {(FOO/y)})
    (C {(cd)} {(FOO)})
    (command.SimpleCommand
      words: [{(ls)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(w)})]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(w1)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 2075
          stdin_parts: [('w\n') ('x\n') ('y\n') ('z\n')]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(w)} {(w1)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(ls)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(Lit_Other '*')})
    (C {(cd)} {(..)})
    (C {(rmdir)} {(FOO)})
    (C {(mkdir)} {(Foo)} {(Bar)})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-d)} {(Bar)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rmdir)} {(Foo)} {(Bar)})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(mkdir)} {(test)} {(3)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-d)} {(Foo)}) terminator:<Op_Semi ';'>)]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(rmdir)} {(test)} {(4)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (C {(mkdir)} {(MVDIR)})
    (C {(cp)} {($ VSub_DollarName '$f')} {(x)})
    (C {(mv)} {(x)} {(y)})
    (C {(mv)} {(y)} {(z)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_DollarName '$f')} {(z)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mv)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(cp)} {($ VSub_DollarName '$f')} {(x)})
    (C {(mv)} {(x)} {(MVDIR/y)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_DollarName '$f')} {(MVDIR/y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(mv)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.Pipeline
      children: [
        (command.SimpleCommand
          words: [{(rev)}]
          redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(f1)})]
        )
        (command.SimpleCommand
          words: [{(head)} {(-1)}]
          redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(ahpla)})]
        )
      ]
      negated: F
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ (zyxwvutsrqponmlkjihgfedcba))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(ahpla)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(rev)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(rev)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{($ VSub_DollarName '$f')})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})
      ]
    )
    (command.SimpleCommand
      words: [{(rev)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_DollarName '$f')} {(x)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Sentence
              child: (C {(echo)} {(Error)} {(on)} {(rev)} {(test)} {(2)})
              terminator: <Op_Semi ';'>
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {($ VSub_DollarName '$f')} {(y)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(error)} {(on)} {(rev)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(cp)} {($ VSub_DollarName '$f')} {(w)})
    (C {(cp)} {(alpha)} {(x)})
    (C {(cp)} {(ALPHA)} {(y)})
    (C {(cp)} {(num)} {(z)})
    (command.SimpleCommand
      words: [{(shar)} {(w)} {(x)} {(y)} {(z)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x1)})]
    )
    (C {(rm)} {(w)} {(x)} {(y)} {(z)})
    (command.SimpleCommand
      words: [{(sh)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x1)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(w)} {($ VSub_DollarName '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x)} {(alpha)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(ALPHA)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(z)} {(num)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(shar)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(sort)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{($ VSub_DollarName '$f')})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})
      ]
    )
    (command.SimpleCommand
      words: [{(wc)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{($ VSub_DollarName '$f')})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x1)})
      ]
    )
    (command.SimpleCommand
      words: [{(wc)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x2)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x1)} {(x2)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 2770
          stdin_parts: [('demit 10\n') ('epitonic 40\n') ('apoop 20\n') ('bibelot 3\n') ('comate 4\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 2785
          stdin_parts: [('apoop 20\n') ('bibelot 3\n') ('comate 4\n') ('demit 10\n') ('epitonic 40\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 2800
          stdin_parts: [('epitonic 40\n') ('demit 10\n') ('comate 4\n') ('bibelot 3\n') ('apoop 20\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(sort)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x1)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(x1)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(sort)} {(-r)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x1)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x2)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(x2)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.Pipeline
      children: [
        (command.SimpleCommand
          words: [{(sort)} {(Lit_Other '+') (1)} {(-n)}]
          redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})]
        )
        (command.SimpleCommand
          words: [{(head)} {(-1)}]
          redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})]
        )
      ]
      negated: F
    )
    (command.SimpleCommand
      words: [{(echo)} {(DQ ('bibelot 3'))}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(z)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(z)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(sort)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(tail)} {(-1)} {(f1)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(x)} {(special)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(tail)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 3021
          stdin_parts: [
            ('a d\n')
            ('b e\n')
            ('c f\n')
            ('a c\n')
            ('p z\n')
            ('k p\n')
            ('a k\n')
            ('a b\n')
            ('b c\n')
            ('c d\n')
            ('d e\n')
            ('e f\n')
            ('f k\n')
          ]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(answer)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(END)}
          here_end_span_id: 3040
          stdin_parts: [('a\n') ('b\n') ('c\n') ('d\n') ('e\n') ('f\n') ('k\n') ('p\n') ('z\n')]
        )
      ]
    )
    (command.SimpleCommand
      words: [{(tsort)}]
      redirects: [
        (redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(x)})
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(y)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(cmp)} {(-s)} {(y)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(tsort)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(cp)} {($ VSub_DollarName '$f')} {(x)})
    (C {(uue)} {(x)})
    (command.If
      arms: [
        (if_arm
          cond: [(command.Sentence child:(C {(test)} {(-s)} {(x.uue)}) terminator:<Op_Semi ';'>)]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(rm)} {(x)})
    (C {(uud)} {(x.uue)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_DollarName '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (command.SimpleCommand
      words: [{(compress)} {(-fc)} {(x)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x.Z)})
        (redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})
      ]
    )
    (C {(uue)} {(x.Z)})
    (C {(rm)} {(x)} {(x.Z)})
    (C {(uud)} {(x.uue)})
    (command.SimpleCommand
      words: [{(compress)} {(-cd)} {(x.Z)}]
      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(x)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_DollarName '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(command.Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
        )
      ]
      else_action: [
        (command.Sentence
          child: (C {(echo)} {(Error)} {(on)} {(uue/uud)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
    )
    (C {(cd)} {(..)})
    (C {(rm)} {(-rf)} {(DIR_SH1)})
    (C {(echo)} {(ok)})
  ]
)