(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATH)
          op: Equal
          rhs: {(Lit_Other ':') (/bin) (Lit_Other ':') (/usr/bin)}
          spids: [8]
        )
      ]
      spids: [8]
    )
    (C {(export)} {(PATH)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CC) op:Equal rhs:{(cc)} spids:[22])]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ARCH)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(arch)})])
                left_token: <Left_Backtick '`'>
                spids: [27 29]
              )
            }
          spids: [26]
        )
      ]
      spids: [26]
    )
    (C {(echo)} {(-n)} {(DQ ('Shell test  2 '))})
    (C {(rm)} {(-rf)} {(DIR_SH2)})
    (C {(mkdir)} {(DIR_SH2)})
    (C {(cd)} {(DIR_SH2)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(file)} spids:[60])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('The time has come the walrus said to talk of many things\n') 
                ('Of shoes and ships and sealing wax of cabbages and kings\n') ('Of why the sea is boiling hot and whether pigs have wings\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [63]
        )
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(file)} spids:[70])]
      spids: [70]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(makefile)} spids:[79])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('all:\tx.c\n') ('\t@') ($ VSub_Name '$CC') (' x.c >/dev/null 2>&1\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [82]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x.c)} spids:[95])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('#include <stdio.h>\n') ('char s[] = {') (Right_DoubleQuote '"') 
                ('MS-DOS: Just say no') (Right_DoubleQuote '"') ('};\t/* used by strings later */\n') ('main() \n') ('{\n') ('  int i; \n') 
                ('  for (i = 15; i < 18; i++) printf(') (Right_DoubleQuote '"') ('%d') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                (Right_DoubleQuote '"') (',i*i);\n') ('}\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [98]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[125])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('225\n') ('256\n') ('289\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [128]
        )
      ]
    )
    (C {(make)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-f)} {(a.out)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 150]
        )
      ]
      else_action: [(Sentence child:(C {(echo)} {(Compilation)} {(failed)}) terminator:<Op_Semi ';'>)]
      spids: [156 165]
    )
    (SimpleCommand
      words: [{(a.out)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[169])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-f)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 181]
        )
      ]
      else_action: [
        (Sentence child:(C {(echo)} {(No)} {(compiler)} {(output)}) terminator:<Op_Semi ';'>)
      ]
      spids: [187 198]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 211]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(cc)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [217 232]
    )
    (SimpleCommand
      words: [{(echo)} {(Hi)} {(there)} {(folks)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[246])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 258]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(chmod)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [264 279]
    )
    (C {(chmod)} {(377)} {(x)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(-w)} {(/)})
                    (C {(echo)} {(Error)} {(on)} {(chmod)} {(test)} {(2)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [16777215 296]
        )
      ]
      spids: [16777215 319]
    )
    (C {(chmod)} {(700)} {(x)})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 336]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(on)} {(chmod)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [342 357]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[365])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {(DQ ('1 white bunny\n') ('2 gray  rabbits\n') ('3 brown hares\n') ('4 black conies\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [368]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[382])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('white\n') ('gray \n') ('brown\n') ('black\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [385]
        )
      ]
    )
    (SimpleCommand
      words: [{(cut)} {(-c)} {(3-7)} {(x)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(y)} spids:[405])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 422]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(cut)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [428 443]
    )
    (SimpleCommand
      words: [
        {(dd)}
        {(Lit_VarLike 'if=') ($ VSub_Name '$f')}
        {(Lit_VarLike 'of=') (x)}
        {(Lit_VarLike 'bs=') (12)}
        {(Lit_VarLike 'count=') (1)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[463])]
    )
    (SimpleCommand
      words: [
        {(dd)}
        {(Lit_VarLike 'if=') ($ VSub_Name '$f')}
        {(Lit_VarLike 'of=') (y)}
        {(Lit_VarLike 'bs=') (6)}
        {(Lit_VarLike 'count=') (4)}
        {(Lit_VarLike 'skip=') (2)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[486])]
    )
    (SimpleCommand
      words: [{(cat)} {(x)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(z)} spids:[498])]
    )
    (SimpleCommand
      words: [
        {(dd)}
        {(Lit_VarLike 'if=') ($ VSub_Name '$f')}
        {(Lit_VarLike 'of=') (answer)}
        {(Lit_VarLike 'bs=') (9)}
        {(Lit_VarLike 'count=') (4)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[518])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(z)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 535]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(dd)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [541 556]
    )
    (C {(rm)} {(Lit_Other '?')})
    (SimpleCommand
      words: [{(df)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[568])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 580]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(df)} {(Test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [586 601]
    )
    (C {(rm)} {(Lit_Other '?')})
    (SimpleCommand
      words: [{(du)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[613])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-r)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 625]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(du)} {(Test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [631 646]
    )
    (Pipeline
      children: [
        (C {(head)} {(-1)} {($ VSub_Name '$f')})
        (SimpleCommand
          words: [{(od)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[661])]
        )
      ]
      negated: False
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {($ VSub_Name '$ARCH')} {(Lit_Other '=')} {(i86)} {(-o)} 
              {($ VSub_Name '$ARCH')} {(Lit_Other '=')} {(i386)} {(Lit_Other ']')}
            )
          ]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[691])
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('0000000 064124 020145 064564 062555 064040 071541 061440 066557\n') 
                        ('0000020 020145 064164 020145 060567 071154 071565 071440 064541\n') ('0000040 020144 067564 072040 066141 020153 063157 066440 067141\n') 
                        ('0000060 020171 064164 067151 071547 000012\n') ('0000071\n')
                      )
                    }
                  do_expansion: True
                  here_end: END
                  was_filled: True
                  spids: [694]
                )
              ]
            )
          ]
          spids: [16777215 687]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[707])
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('0000000 052150 062440 072151 066545 020150 060563 020143 067555\n') 
                    ('0000020 062440 072150 062440 073541 066162 072563 020163 060551\n') ('0000040 062040 072157 020164 060554 065440 067546 020155 060556\n') 
                    ('0000060 074440 072150 064556 063563 005000\n') ('0000071\n')
                  )
                }
              do_expansion: True
              here_end: END
              was_filled: True
              spids: [710]
            )
          ]
        )
      ]
      spids: [703 719]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 733]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(od)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [739 754]
    )
    (Pipeline
      children: [
        (C {(head)} {(-1)} {($ VSub_Name '$f')})
        (SimpleCommand
          words: [{(od)} {(-d)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[768])]
        )
      ]
      negated: False
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {($ VSub_Name '$ARCH')} {(Lit_Other '=')} {(i86)} {(-o)} 
              {($ VSub_Name '$ARCH')} {(Lit_Other '=')} {(i386)} {(Lit_Other ']')}
            )
          ]
          action: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[798])
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('0000000 26708 08293 26996 25965 26656 29537 25376 28015\n') 
                        ('0000020 08293 26740 08293 24951 29292 29557 29472 26977\n') ('0000040 08292 28532 29728 27745 08299 26223 27936 28257\n') 
                        ('0000060 08313 26740 28265 29543 00010\n') ('0000071\n')
                      )
                    }
                  do_expansion: True
                  here_end: END
                  was_filled: True
                  spids: [801]
                )
              ]
            )
          ]
          spids: [16777215 794]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[814])
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('0000000 21608 25888 29801 28005 08296 24947 08291 28525\n') 
                    ('0000020 25888 29800 25888 30561 27762 30067 08307 24937\n') ('0000040 25632 29807 08308 24940 27424 28518 08301 24942\n') 
                    ('0000060 31008 29800 26990 26483 02560\n') ('0000071\n')
                  )
                }
              do_expansion: True
              here_end: END
              was_filled: True
              spids: [817]
            )
          ]
        )
      ]
      spids: [810 826]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 840]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(od)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [846 861]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[869])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('red\n') ('green\n') ('blue\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [872]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(y)} spids:[882])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('rood\n') ('groen\n') ('blauw\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [885]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[894])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('red\trood\n') ('green\tgroen\n') ('blue\tblauw\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [897]
        )
      ]
    )
    (SimpleCommand
      words: [{(paste)} {(x)} {(y)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(z)} spids:[911])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(z)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 925]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(paste)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [931 946]
    )
    (SimpleCommand
      words: [{(echo)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[954])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ (Right_DoubleQuote '"') ('Hi,') (Right_DoubleQuote '"') (' said Carol, laughing, ') 
                (Right_DoubleQuote '"') ("How's life?") (Right_DoubleQuote '"') ('\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [957]
        )
      ]
    )
    (SimpleCommand
      words: [{(echo)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[972])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('hi\n') ('said\n') ('carol\n') ('laughing\n') ("how's\n") ('life\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [975]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 997]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(prep)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1003 1018]
    )
    (SimpleCommand
      words: [{(printenv)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1026])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(HOME)} {(x)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1037]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1041]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(printenv)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1047 1062]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(PATH)} {(x)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1072]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1076]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(printenv)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1082 1097]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(SHELL)} {(x)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1107]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1111]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(printenv)} {(test)} {(3)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1117 1132]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(grep)} {(USER)} {(x)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [1142]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1146]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(printenv)} {(test)} {(4)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1152 1167]
    )
    (SimpleCommand
      words: [{(pwd)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(Pwd_file)} spids:[1175])]
    )
    (C {(cd)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(pwd)})])
          left_token: <Left_Backtick '`'>
          spids: [1180 1182]
        )
      }
    )
    (SimpleCommand
      words: [{(pwd)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1186])]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(test)} {(-s)} {(Pwd_file)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1198]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(pwd)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1204 1219]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(Pwd_file)} {(x)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1232]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(pwd)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1238 1253]
    )
    (Pipeline
      children: [
        (C {(strings)} {(a.out)})
        (SimpleCommand
          words: [{(grep)} {(DQ (MS-DOS))}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1271])]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[1276])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('MS-DOS: Just say no\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1279]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1296]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(strings)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1302 1317]
    )
    (SimpleCommand
      words: [{(sum)} {($ VSub_Name '$f')}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1327])]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[1332])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('29904     1\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1335]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1352]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(sum)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1358 1373]
    )
    (Pipeline
      children: [
        (C {(cat)} {($ VSub_Name '$f')})
        (SimpleCommand
          words: [{(tee)} {(x)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[1389])]
        )
      ]
      negated: False
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(cmp)} {(-s)} {(x)} {($ VSub_Name '$f')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1403]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(tee)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1409 1424]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1436]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(true)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1442 1457]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1465])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('100\n') ('200\n') ('200\n') ('300\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1468]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[1479])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: {(DQ ('100\n') ('200\n') ('300\n'))}
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1482]
        )
      ]
    )
    (SimpleCommand
      words: [{(uniq)}]
      redirects: [
        (Redir op_id:Redir_Less fd:16777215 arg_word:{(x)} spids:[1492])
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(y)} spids:[1495])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1509]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(uniq)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1515 1530]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1538])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('the big black dog\n') ('the little white cat\n') ('the big white sheep\n') 
                ('the little black cat\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1541]
        )
      ]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(answer)} spids:[1552])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('   1 dog\n') ('   1 sheep\n') ('   2 big\n') ('   2 black\n') ('   2 cat\n') 
                ('   2 little\n') ('   2 white\n') ('   4 the\n')
              )
            }
          do_expansion: True
          here_end: END
          was_filled: True
          spids: [1555]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(prep)} {(x)})
        (C {(sort)})
        (SimpleCommand
          words: [{(uniq)} {(-c)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(y1)} spids:[1582])]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [{(sort)} {(Lit_Other '+') (1)}]
      redirects: [
        (Redir op_id:Redir_Less fd:16777215 arg_word:{(y1)} spids:[1590])
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(y)} spids:[1593])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(y)} {(answer)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1607]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(pipeline)} {(test)} {(1)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1613 1628]
    )
    (Pipeline
      children: [
        (C {(cat)} {($ VSub_Name '$f')} {($ VSub_Name '$f')} {($ VSub_Name '$f')})
        (C {(sort)})
        (SimpleCommand
          words: [{(uniq)}]
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(x)} spids:[1647])]
        )
      ]
      negated: False
    )
    (SimpleCommand
      words: [{(sort)}]
      redirects: [
        (Redir op_id:Redir_Less fd:16777215 arg_word:{($ VSub_Name '$f')} spids:[1652])
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(y)} spids:[1655])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(cmp)} {(-s)} {(x)} {(y)}) terminator:<Op_Semi ';'>)]
          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
          spids: [16777215 1669]
        )
      ]
      else_action: [
        (Sentence
          child: (C {(echo)} {(Error)} {(KW_In in)} {(pipeline)} {(test)} {(2)})
          terminator: <Op_Semi ';'>
        )
      ]
      spids: [1675 1690]
    )
    (C {(cd)} {(..)})
    (C {(rm)} {(-rf)} {(DIR_SH2)})
    (C {(echo)} {(ok)})
  ]
)