(CommandList
  children: [
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ($ VSub_Number '$0') (': Generating default compression gzip'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:copts)
                          op: Equal
                          rhs: {(DQ (cvzf))}
                          spids: [62]
                        )
                      ]
                      spids: [62]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ext)
                          op: Equal
                          rhs: {(DQ (.tar.gz))}
                          spids: [68]
                        )
                      ]
                      spids: [68]
                    )
                  ]
                  spids: [16777215 51]
                )
              ]
              else_action: [
                (Case
                  to_match: {(DQ ($ VSub_Number '$1'))}
                  arms: [
                    (case_arm
                      pat_list: [{(tar)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:copts)
                              op: Equal
                              rhs: {(DQ (cvf))}
                              spids: [90]
                            )
                          ]
                          spids: [90]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ext)
                              op: Equal
                              rhs: {(DQ (.tar))}
                              spids: [96]
                            )
                          ]
                          spids: [96]
                        )
                      ]
                      spids: [86 87 102 16777215]
                    )
                    (case_arm
                      pat_list: [{(targz)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:copts)
                              op: Equal
                              rhs: {(DQ (cvzf))}
                              spids: [109]
                            )
                          ]
                          spids: [109]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ext)
                              op: Equal
                              rhs: {(DQ (.tar.gz))}
                              spids: [115]
                            )
                          ]
                          spids: [115]
                        )
                      ]
                      spids: [105 106 121 16777215]
                    )
                    (case_arm
                      pat_list: [{(tarbz2)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:copts)
                              op: Equal
                              rhs: {(DQ (cvjf))}
                              spids: [128]
                            )
                          ]
                          spids: [128]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ext)
                              op: Equal
                              rhs: {(DQ (.tar.bz2))}
                              spids: [134]
                            )
                          ]
                          spids: [134]
                        )
                      ]
                      spids: [124 125 140 16777215]
                    )
                    (case_arm
                      pat_list: [{(tarxz)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:copts)
                              op: Equal
                              rhs: {(DQ (cvJf))}
                              spids: [147]
                            )
                          ]
                          spids: [147]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:ext)
                              op: Equal
                              rhs: {(DQ (.tar.xz))}
                              spids: [153]
                            )
                          ]
                          spids: [153]
                        )
                      ]
                      spids: [143 144 159 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (C {(echo)} {(DQ ('Unknown tarball format ') ($ VSub_Number '$1'))})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [162 163 179 16777215]
                    )
                  ]
                  spids: [77 83 182]
                )
              ]
              spids: [74 185]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_dir)
                  op: Equal
                  rhs: {(./kselftest)}
                  spids: [189]
                )
              ]
              spids: [189]
            )
            (C {(./kselftest_install.sh)})
            (C {(tar)} {($ VSub_Name '$copts')} {(kselftest) (${ VSub_Name ext)} 
              {($ VSub_Name '$install_dir')}
            )
            (C {(echo)} {(DQ ('Kselftest archive kselftest') (${ VSub_Name ext) (' created!'))})
            (C {(rm)} {(-rf)} {(kselftest)})
          ]
          spids: [33]
        )
      spids: [29 32]
    )
    (C {(main)} {(DQ ($ VSub_At '$@'))})
  ]
)