(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:BZIPPROG) op:Equal rhs:{(bzip2)} spids:[67])]
      spids: [67]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:GZIPPROG) op:Equal rhs:{(gzip)} spids:[70])]
      spids: [70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:XZPROG) op:Equal rhs:{(xz)} spids:[73])]
      spids: [73]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MD5PROG) op:Equal rhs:{(md5sum)} spids:[76])]
      spids: [76]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAKE) op:Equal rhs:{(make)} spids:[79])]
      spids: [79]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CC) op:Equal rhs:{(gcc)} spids:[82])]
      spids: [82]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CXX)
          op: Equal
          rhs: {(g) (Lit_Other '+') (Lit_Other '+')}
          spids: [85]
        )
      ]
      spids: [85]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MAKEINFOFLAGS)
          op: Equal
          rhs: {(--split-size) (Lit_Other '=') (5000000)}
          spids: [94]
        )
      ]
      spids: [94]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEVO_SUPPORT)
          op: Equal
          rhs: 
            {
              (DQ ('README Makefile.in configure configure.ac ') 
                ('\tconfig.guess config.sub config move-if-change ') ('\tCOPYING COPYING.LIB install-sh config-ml.in symlink-tree ') 
                ('\tmkinstalldirs ltmain.sh missing ylwrap ') ('\tlibtool.m4 ltsugar.m4 ltversion.m4 ltoptions.m4 ') 
                ('\tMakefile.def Makefile.tpl src-release.sh config.rpath ') ('\tChangeLog MAINTAINERS README-maintainer-mode ') 
                ('\tlt~obsolete.m4 ltgcc.m4 depcomp mkdep compile ') ('\tCOPYING3 COPYING3.LIB')
              )
            }
          spids: [110]
        )
      ]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ETC_SUPPORT)
          op: Equal
          rhs: 
            {
              (DQ ('Makefile.in configure configure.in standards.texi ') 
                ('\tmake-stds.texi standards.info* configure.texi configure.info* ') ('\tChangeLog configbuild.* configdev.* fdl.texi texi2pod.pl gnu-oids.texi')
              )
            }
          spids: [135]
        )
      ]
      spids: [135]
    )
    (FuncDef
      name: getver
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [155]
                )
              ]
              spids: [155]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [
                            {(grep)}
                            {(SQ <'AC_INIT.*BFD_VERSION'>)}
                            {($ VSub_Name '$tool') (/configure.ac)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [170]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [173]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(bfd/configure)} {(--version)})
                        (C {(sed)} {(-n)} {(-e)} {(SQ <'1s,.* ,,p'>)})
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 177]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {($ VSub_Name '$tool') (/common/create-version.sh)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$tool') (/common/create-version.sh)} {($ VSub_Name '$tool')} 
                      {(SQ <dummy-host>)} {(SQ <dummy-target>)} {(VER.tmp)}
                    )
                    (Pipeline
                      children: [
                        (C {(cat)} {(VER.tmp)})
                        (C {(grep)} {(SQ <'version\\[\\]'>)})
                        (C {(sed)} {(SQ <'s/.*"\\([^"]*\\)".*/\\1/'>)})
                        (C {(sed)} {(SQ <'s/-cvs$//'>)})
                      ]
                      negated: False
                    )
                    (C {(rm)} {(-f)} {(VER.tmp)})
                  ]
                  spids: [197 207]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {($ VSub_Name '$tool') (/version.in)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(head)} {(-1)} {($ VSub_Name '$tool') (/version.in)})]
                  spids: [262 272]
                )
              ]
              else_action: [(C {(echo)} {(VERSION)})]
              spids: [283 291]
            )
          ]
          spids: [152]
        )
      spids: [148 151]
    )
    (FuncDef
      name: do_proto_toplev
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [306]
                )
              ]
              spids: [306]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [310]
                )
              ]
              spids: [310]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [314]
                )
              ]
              spids: [314]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:support_files)
                  op: Equal
                  rhs: {($ VSub_Number '$4')}
                  spids: [318]
                )
              ]
              spids: [318]
            )
            (C {(echo)} {(DQ ('==> Making ') ($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (/))})
            (SimpleCommand
              words: [
                {(sed)}
                {(-e)}
                {(SQ <'/^all\\.normal: /s/\\all-texinfo //'>)}
                {(-e)}
                {(SQ <'/^\tinstall-texinfo /d'>)}
              ]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(Makefile.in)} spids:[355])
                (Redir op_id:Redir_Great fd:-1 arg_word:{(tmp)} spids:[358])
              ]
            )
            (C {(mv)} {(-f)} {(tmp)} {(Makefile.in)})
            (C {(./configure)} {(--target) (Lit_Other '=') (i386-pc-linux-gnu)})
            (C {($ VSub_Name '$MAKE')} {(configure-host)} {(configure-target)} {(Lit_VarLike 'ALL_GCC=') (DQ )} 
              {(Lit_VarLike 'ALL_GCC_C=') (DQ )} {(Lit_VarLike 'ALL_GCC_CXX=') (DQ )} {(Lit_VarLike 'CC_FOR_TARGET=') (DQ ($ VSub_Name '$CC'))} 
              {(Lit_VarLike 'CXX_FOR_TARGET=') (DQ ($ VSub_Name '$CXX'))}
            )
            (C {(rm)} {(-rf)} {(proto-toplev)})
            (C {(mkdir)} {(proto-toplev)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dirs)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$DEVO_SUPPORT') (' ') ($ VSub_Name '$support_files') (' ') 
                        ($ VSub_Name '$tool')
                      )
                    }
                  spids: [431]
                )
              ]
              spids: [431]
            )
            (ForEach
              iter_name: d
              iter_words: [{($ VSub_Name '$dirs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-d)} {($ VSub_Name '$d')} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} 
                                          {($ VSub_Name '$d') (/Makefile)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(true)})]
                                  spids: [-1 483]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (SimpleCommand
                                          words: [
                                            {(grep)}
                                            {(SQ <'^diststuff:'>)}
                                            {($ VSub_Name '$d') (/Makefile)}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                              spids: [500]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (Subshell
                                          child: 
                                            (CommandList
                                              children: [
                                                (Sentence
                                                  child: (C {(cd)} {($ VSub_Name '$d')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                                (C {($ VSub_Name '$MAKE')} 
                                                  {(Lit_VarLike 'MAKEINFOFLAGS=') 
                                                    (DQ ($ VSub_Name '$MAKEINFOFLAGS'))
                                                  } {(diststuff)}
                                                )
                                              ]
                                            )
                                          spids: [508 523]
                                        )
                                        (C {(exit)} {(1)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [489 505]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (SimpleCommand
                                          words: [
                                            {(grep)}
                                            {(SQ <'^info:'>)}
                                            {($ VSub_Name '$d') (/Makefile)}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                              spids: [545]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (Subshell
                                          child: 
                                            (CommandList
                                              children: [
                                                (Sentence
                                                  child: (C {(cd)} {($ VSub_Name '$d')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                                (C {($ VSub_Name '$MAKE')} 
                                                  {(Lit_VarLike 'MAKEINFOFLAGS=') 
                                                    (DQ ($ VSub_Name '$MAKEINFOFLAGS'))
                                                  } {(info)}
                                                )
                                              ]
                                            )
                                          spids: [553 568]
                                        )
                                        (C {(exit)} {(1)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [534 550]
                                )
                              ]
                              spids: [-1 579]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(-d)} 
                                          {($ VSub_Name '$d') (/proto-) ($ VSub_Name '$d') (.dir)} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(ln)} {(-s)} 
                                      {(../) ($ VSub_Name '$d') (/proto-) ($ VSub_Name '$d') (.dir)} {(proto-toplev/) ($ VSub_Name '$d')}
                                    )
                                  ]
                                  spids: [-1 596]
                                )
                              ]
                              else_action: [
                                (C {(ln)} {(-s)} {(../) ($ VSub_Name '$d')} 
                                  {(proto-toplev/) ($ VSub_Name '$d')}
                                )
                              ]
                              spids: [613 627]
                            )
                          ]
                          spids: [-1 465]
                        )
                      ]
                      else_action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {(x) ($ VSub_Name '$d')})
                                            (SimpleCommand
                                              words: [{(grep)} {(/)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [647]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [635 649]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(mkdir)} {(-p)} 
                                  {(proto-toplev/) 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [(C {(dirname)} {($ VSub_Name '$d')})]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [660 664]
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:x)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [(C {(dirname)} {($ VSub_Name '$d')})]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [668 672]
                                          )
                                        }
                                      spids: [667]
                                    )
                                  ]
                                  spids: [667]
                                )
                                (C {(ln)} {(-s)} 
                                  {(../) 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} {($ VSub_Name '$x') (/)})
                                                (C {(sed)} {(-e)} {(SQ <'s,[^/]*/,../,g'>)})
                                              ]
                                              negated: False
                                            )
                                          ]
                                        )
                                      left_token: <Left_Backtick '`'>
                                      spids: [680 695]
                                    ) ($ VSub_Name '$d')
                                  } {(proto-toplev/) ($ VSub_Name '$d')}
                                )
                              ]
                              spids: [-1 652]
                            )
                          ]
                          else_action: [
                            (C {(ln)} {(-s)} {(../) ($ VSub_Name '$d')} 
                              {(proto-toplev/) ($ VSub_Name '$d')}
                            )
                          ]
                          spids: [702 716]
                        )
                      ]
                      spids: [630 719]
                    )
                  ]
                  spids: [451 722]
                )
              spids: [446 449]
            )
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence child:(C {(cd)} {(etc)}) terminator:<Op_Semi ';'>)
                    (C {($ VSub_Name '$MAKE')} 
                      {(Lit_VarLike 'MAKEINFOFLAGS=') (DQ ($ VSub_Name '$MAKEINFOFLAGS'))} {(info)}
                    )
                  ]
                )
              spids: [725 739]
            )
            (C {($ VSub_Name '$MAKE')} {(distclean)})
            (C {(mkdir)} {(proto-toplev/etc)})
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(cd)} {(proto-toplev/etc)})
                      terminator: <Op_Semi ';'>
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name '$ETC_SUPPORT')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [(C {(ln)} {(-s)} {(../../etc/) ($ VSub_Name '$i')} {(.)})]
                          spids: [768 781]
                        )
                      spids: [764 766]
                    )
                  ]
                )
              spids: [752 782]
            )
            (C {(rm)} {(proto-toplev/configure.ac)})
            (SimpleCommand
              words: [{(sed)} {(-e)} {(SQ <'/^host_tools=/s/texinfo //'>)}]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(configure.ac)} spids:[808])
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(proto-toplev/configure.ac)}
                  spids: [811]
                )
              ]
            )
            (C {(mkdir)} {(proto-toplev/texinfo)})
            (C {(ln)} {(-s)} {(../../texinfo/texinfo.tex)} {(proto-toplev/texinfo/)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-r)} {(texinfo/util/tex3patch)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(mkdir)} {(proto-toplev/texinfo/util)})
                        (C {(ln)} {(-s)} {(../../../texinfo/util/tex3patch)} 
                          {(proto-toplev/texinfo/util)}
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [-1 843]
                )
              ]
              else_action: [(C {(true)})]
              spids: [863 869]
            )
            (AndOr
              children: [
                (C {(chmod)} {(-R)} {(Lit_VarLike 'og=') (u)} {(.)})
                (C {(chmod)} {(Lit_VarLike 'og=') (u)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(find)} {(.)} {(-print)})])
                      left_token: <Left_Backtick '`'>
                      spids: [888 894]
                    )
                  }
                )
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(.)} {(-name)} {(SQ <'*.po'>)} {(-type)} {(f)} {(-print)})
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [911 927]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(msgfmt)} {(-o)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name '$f')})
                                    (C {(sed)} {(-e)} {(SQ <'s/\\.po$/.gmo/'>)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [937 951]
                        )
                      } {($ VSub_Name '$f')}
                    )
                  ]
                  spids: [930 956]
                )
              spids: [910 928]
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver')})
            (C {(ln)} {(-s)} {(proto-toplev)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver')})
          ]
          spids: [303]
        )
      spids: [299 302]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CVS_NAMES)
          op: Equal
          rhs: {(SQ <'-name CVS -o -name .cvsignore'>)}
          spids: [985]
        )
      ]
      spids: [985]
    )
    (FuncDef
      name: do_md5sum
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('==> Adding md5 checksum to top-level directory'))})
            (Subshell
              child: 
                (AndOr
                  children: [
                    (C {(cd)} {(proto-toplev)})
                    (Pipeline
                      children: [
                        (C {(find)} {(Lit_Other '*')} {(-follow)} 
                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {($ VSub_Name '$CVS_NAMES')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(-o)} 
                          {(-type)} {(f)} {(-print)}
                        )
                        (SimpleCommand
                          words: [{(xargs)} {($ VSub_Name '$MD5PROG')}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(../md5.new)}
                              spids: [1047]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                  ]
                  op_id: Op_DAmp
                )
              spids: [1008 1050]
            )
            (C {(rm)} {(-f)} {(proto-toplev/md5.sum)})
            (C {(mv)} {(md5.new)} {(proto-toplev/md5.sum)})
          ]
          spids: [998]
        )
      spids: [994 997]
    )
    (FuncDef
      name: do_tar
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1079]
                )
              ]
              spids: [1079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1083]
                )
              ]
              spids: [1083]
            )
            (C {(echo)} {(DQ ('==> Making ') ($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar))})
            (C {(rm)} {(-f)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar)})
            (Pipeline
              children: [
                (C {(find)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver')} {(-follow)} 
                  {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {($ VSub_Name '$CVS_NAMES')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(-o)} 
                  {(-type)} {(f)} {(-print)}
                )
                (C {(tar)} {(cTfh)} {(-)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar)})
              ]
              negated: False
            )
          ]
          spids: [1076]
        )
      spids: [1072 1075]
    )
    (FuncDef
      name: do_bz2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1162]
                )
              ]
              spids: [1162]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1166]
                )
              ]
              spids: [1166]
            )
            (C {(echo)} 
              {(DQ ('==> Bzipping ') ($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.bz2))}
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.bz2)})
            (C {($ VSub_Name '$BZIPPROG')} {(-k)} {(-v)} {(-9)} 
              {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar)}
            )
          ]
          spids: [1159]
        )
      spids: [1155 1158]
    )
    (FuncDef
      name: do_gz
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1217]
                )
              ]
              spids: [1217]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1221]
                )
              ]
              spids: [1221]
            )
            (C {(echo)} 
              {(DQ ('==> Gzipping ') ($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.gz))}
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.gz)})
            (C {($ VSub_Name '$GZIPPROG')} {(-k)} {(-v)} {(-9)} 
              {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar)}
            )
          ]
          spids: [1214]
        )
      spids: [1210 1213]
    )
    (FuncDef
      name: do_xz
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1272]
                )
              ]
              spids: [1272]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1276]
                )
              ]
              spids: [1276]
            )
            (C {(echo)} 
              {(DQ ('==> Xzipping ') ($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.xz))}
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar.xz)})
            (C {($ VSub_Name '$XZPROG')} {(-k)} {(-v)} {(-9)} 
              {($ VSub_Name '$package') (-) ($ VSub_Name '$ver') (.tar)}
            )
          ]
          spids: [1269]
        )
      spids: [1265 1268]
    )
    (FuncDef
      name: do_compress
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1327]
                )
              ]
              spids: [1327]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1331]
                )
              ]
              spids: [1331]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [1335]
                )
              ]
              spids: [1335]
            )
            (ForEach
              iter_name: comp
              iter_words: [{($ VSub_Name '$compressors')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$comp')}
                      arms: [
                        (case_arm
                          pat_list: [{(bz2)}]
                          action: [(C {(do_bz2)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})]
                          spids: [1358 1359 1367 -1]
                        )
                        (case_arm
                          pat_list: [{(gz)}]
                          action: [(C {(do_gz)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})]
                          spids: [1370 1371 1379 -1]
                        )
                        (case_arm
                          pat_list: [{(xz)}]
                          action: [(C {(do_xz)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})]
                          spids: [1382 1383 1391 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (AndOr
                              children: [
                                (C {(echo)} 
                                  {(DQ ('Unknown compression method: ') ($ VSub_Name '$comp'))}
                                )
                                (C {(exit)} {(1)})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [1394 1395 1410 -1]
                        )
                      ]
                      spids: [1351 1355 1413]
                    )
                  ]
                  spids: [1348 1416]
                )
              spids: [1344 1346]
            )
          ]
          spids: [1324]
        )
      spids: [1320 1323]
    )
    (FuncDef
      name: do_djunpack
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1431]
                )
              ]
              spids: [1431]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1435]
                )
              ]
              spids: [1435]
            )
            (C {(echo)} {(DQ ('==> Adding updated djunpack.bat to top-level directory'))})
            (C {(echo)} {(-)} {(SQ <'s /gdb-[0-9\\.]*/$package-'>) (DQ ($ VSub_Name '$ver')) (SQ </>)})
            (SimpleCommand
              words: [
                {(sed)}
                {(-e)}
                {(SQ <'s/gdb-[0-9][0-9\\.]*/$package-'>) (DQ ($ VSub_Name '$ver')) (SQ </>)}
              ]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(djunpack.bat)} spids:[1463])
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(djunpack.new)}
                  spids: [1467]
                )
              ]
            )
            (C {(rm)} {(-f)} {(proto-toplev/djunpack.bat)})
            (C {(mv)} {(djunpack.new)} {(proto-toplev/djunpack.bat)})
          ]
          spids: [1428]
        )
      spids: [1424 1427]
    )
    (FuncDef
      name: tar_compress
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1512]
                )
              ]
              spids: [1512]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1516]
                )
              ]
              spids: [1516]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:support_files)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [1520]
                )
              ]
              spids: [1520]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$4')}
                  spids: [1524]
                )
              ]
              spids: [1524]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:verdir)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 5>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name '$tool')}
                          )
                        spids: [1529 1533]
                      )
                    }
                  spids: [1528]
                )
              ]
              spids: [1528]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(getver)} {($ VSub_Name '$verdir')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1537 1541]
                      )
                    }
                  spids: [1536]
                )
              ]
              spids: [1536]
            )
            (C {(do_proto_toplev)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')} 
              {($ VSub_Name '$tool')} {(DQ ($ VSub_Name '$support_files'))}
            )
            (C {(do_md5sum)})
            (C {(do_tar)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})
            (C {(do_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')} 
              {(DQ ($ VSub_Name '$compressors'))}
            )
          ]
          spids: [1509]
        )
      spids: [1505 1508]
    )
    (FuncDef
      name: gdb_tar_compress
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1590]
                )
              ]
              spids: [1590]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1594]
                )
              ]
              spids: [1594]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:support_files)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [1598]
                )
              ]
              spids: [1598]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$4')}
                  spids: [1602]
                )
              ]
              spids: [1602]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ver)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(getver)} {($ VSub_Name '$tool')})])
                        left_token: <Left_CommandSub '$('>
                        spids: [1607 1611]
                      )
                    }
                  spids: [1606]
                )
              ]
              spids: [1606]
            )
            (C {(do_proto_toplev)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')} 
              {($ VSub_Name '$tool')} {(DQ ($ VSub_Name '$support_files'))}
            )
            (C {(do_md5sum)})
            (C {(do_djunpack)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})
            (C {(do_tar)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')})
            (C {(do_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$ver')} 
              {(DQ ($ VSub_Name '$compressors'))}
            )
          ]
          spids: [1587]
        )
      spids: [1583 1586]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BINUTILS_SUPPORT_DIRS)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'bfd gas include libiberty opcodes ld elfcpp gold gprof intl setup.com makefile.vms cpu zlib'
                )
              )
            }
          spids: [1660]
        )
      ]
      spids: [1660]
    )
    (FuncDef
      name: binutils_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1672]
                )
              ]
              spids: [1672]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:package) op:Equal rhs:{(binutils)} spids:[1676])]
              spids: [1676]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:tool) op:Equal rhs:{(binutils)} spids:[1680])]
              spids: [1680]
            )
            (C {(tar_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$tool')} 
              {(DQ ($ VSub_Name '$BINUTILS_SUPPORT_DIRS'))} {(DQ ($ VSub_Name '$compressors'))}
            )
          ]
          spids: [1669]
        )
      spids: [1665 1668]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GAS_SUPPORT_DIRS)
          op: Equal
          rhs: {(DQ ('bfd include libiberty opcodes intl setup.com makefile.vms zlib'))}
          spids: [1701]
        )
      ]
      spids: [1701]
    )
    (FuncDef
      name: gas_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1713]
                )
              ]
              spids: [1713]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:package) op:Equal rhs:{(gas)} spids:[1717])]
              spids: [1717]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:tool) op:Equal rhs:{(gas)} spids:[1721])]
              spids: [1721]
            )
            (C {(tar_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$tool')} 
              {(DQ ($ VSub_Name '$GAS_SUPPORT_DIRS'))} {(DQ ($ VSub_Name '$compressors'))}
            )
          ]
          spids: [1710]
        )
      spids: [1706 1709]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GDB_SUPPORT_DIRS)
          op: Equal
          rhs: {(DQ ('bfd include libiberty opcodes readline sim intl libdecnumber cpu zlib'))}
          spids: [1742]
        )
      ]
      spids: [1742]
    )
    (FuncDef
      name: gdb_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1754]
                )
              ]
              spids: [1754]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:package) op:Equal rhs:{(gdb)} spids:[1758])]
              spids: [1758]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:tool) op:Equal rhs:{(gdb)} spids:[1762])]
              spids: [1762]
            )
            (C {(gdb_tar_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$tool')} 
              {(DQ ($ VSub_Name '$GDB_SUPPORT_DIRS'))} {(DQ ($ VSub_Name '$compressors'))}
            )
          ]
          spids: [1751]
        )
      spids: [1747 1750]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SIM_SUPPORT_DIRS)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'bfd opcodes libiberty include intl gdb/version.in gdb/common/create-version.sh makefile.vms zlib'
                )
              )
            }
          spids: [1786]
        )
      ]
      spids: [1786]
    )
    (FuncDef
      name: sim_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1798]
                )
              ]
              spids: [1798]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:package) op:Equal rhs:{(sim)} spids:[1802])]
              spids: [1802]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:tool) op:Equal rhs:{(sim)} spids:[1806])]
              spids: [1806]
            )
            (C {(tar_compress)} {($ VSub_Name '$package')} {($ VSub_Name '$tool')} 
              {(DQ ($ VSub_Name '$SIM_SUPPORT_DIRS'))} {(DQ ($ VSub_Name '$compressors'))} {(gdb)}
            )
          ]
          spids: [1795]
        )
      spids: [1791 1794]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('src-release.sh <options> <release>'))})
            (C {(echo)} {(DQ ('options:'))})
            (C {(echo)} {(DQ ('  -b: Compress with bzip2'))})
            (C {(echo)} {(DQ ('  -g: Compress with gzip'))})
            (C {(echo)} {(DQ ('  -x: Compress with xz'))})
            (C {(exit)} {(1)})
          ]
          spids: [1833]
        )
      spids: [1829 1832]
    )
    (FuncDef
      name: build_release
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1885]
                )
              ]
              spids: [1885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compressors)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [1889]
                )
              ]
              spids: [1889]
            )
            (Case
              to_match: {($ VSub_Name '$release')}
              arms: [
                (case_arm
                  pat_list: [{(binutils)}]
                  action: [(C {(binutils_release)} {(DQ ($ VSub_Name '$compressors'))})]
                  spids: [1900 1901 1909 -1]
                )
                (case_arm
                  pat_list: [{(gas)}]
                  action: [(C {(gas_release)} {(DQ ($ VSub_Name '$compressors'))})]
                  spids: [1912 1913 1921 -1]
                )
                (case_arm
                  pat_list: [{(gdb)}]
                  action: [(C {(gdb_release)} {(DQ ($ VSub_Name '$compressors'))})]
                  spids: [1924 1925 1933 -1]
                )
                (case_arm
                  pat_list: [{(sim)}]
                  action: [(C {(sim_release)} {(DQ ($ VSub_Name '$compressors'))})]
                  spids: [1936 1937 1945 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      children: [
                        (C {(echo)} {(DQ ('Unknown release name: ') ($ VSub_Name '$release'))})
                        (C {(usage)})
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [1948 1949 1962 -1]
                )
              ]
              spids: [1893 1897 1965]
            )
          ]
          spids: [1882]
        )
      spids: [1878 1881]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:compressors) op:Equal rhs:{(DQ )} spids:[1970])]
      spids: [1970]
    )
    (While
      cond: [(Sentence child:(C {(getopts)} {(DQ (':gbx'))} {(opt)}) terminator:<Op_Semi ';'>)]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$opt')}
              arms: [
                (case_arm
                  pat_list: [{(b)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compressors)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$compressors') (' bz2'))}
                          spids: [2000]
                        )
                      ]
                      spids: [2000]
                    )
                  ]
                  spids: [1996 1997 2005 -1]
                )
                (case_arm
                  pat_list: [{(g)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compressors)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$compressors') (' gz'))}
                          spids: [2012]
                        )
                      ]
                      spids: [2012]
                    )
                  ]
                  spids: [2008 2009 2017 -1]
                )
                (case_arm
                  pat_list: [{(x)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compressors)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$compressors') (' xz'))}
                          spids: [2024]
                        )
                      ]
                      spids: [2024]
                    )
                  ]
                  spids: [2020 2021 2029 -1]
                )
                (case_arm
                  pat_list: [{(EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}]
                  action: [
                    (AndOr
                      children: [
                        (C {(echo)} {(DQ ('Invalid option: -') ($ VSub_Name '$OPTARG'))})
                        (C {(usage)})
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [2032 2033 2046 -1]
                )
              ]
              spids: [1989 1993 2049]
            )
          ]
          spids: [1986 2051]
        )
    )
    (C {(shift)} 
      {
        (ArithSubPart
          anode: 
            (ArithBinary
              op_id: Arith_Minus
              left: (ArithVarRef name:OPTIND)
              right: (ArithWord w:{(Lit_Digits 1)})
            )
          spids: [2055 2061]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:release)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [2063]
        )
      ]
      spids: [2063]
    )
    (C {(build_release)} {($ VSub_Name '$release')} {(DQ ($ VSub_Name '$compressors'))})
  ]
)