(command.CommandList
  children: [
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<download>} {<item>} {<hosttype>} {<Id.Lit_TDot ...>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'command='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'command='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command)
          op: assign_op.Equal
          rhs: {<download>}
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: 
        (case_arg.Word
          w: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (command.Simple
                            blame_tok: <getopts>
                            more_env: []
                            words: [{<getopts>} {(SQ <'[-][123:xyz]'>)} {<opt>} {<--xyz>}]
                            redirects: [
                              (Redir
                                op: <Id.Redir_Great '2>'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<'/dev/null'>}
                              )
                            ]
                            do_fork: T
                          )
                        terminator: <Id.Op_Semi _>
                      )
                      (command.Simple
                        blame_tok: <echo>
                        more_env: []
                        words: [{<echo>} {<0> ($ Id.VSub_DollarName opt)}]
                        redirects: []
                        do_fork: T
                      )
                    ]
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <0123>
          pattern: (pat.Words words:[{<0123>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'ARGV0='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'ARGV0='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0)
                  op: assign_op.Equal
                  rhs: {(DQ <'-a '> ($ Id.VSub_DollarName command))}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'USAGE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'USAGE='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SingleQuoted
                        left: <Id.Left_DollarSingleQuote '$\''>
                        tokens: [
                          <Id.Char_Literals '\n'>
                          <Id.Char_Literals '[-?\n'>
                          <Id.Char_Literals '@(#)$Id: download (AT&T Research) 2000-12-07 $\n'>
                          <Id.Char_Literals ']\n'>
                        ]
                        right: <Id.Right_SingleQuote '\''>
                      ) ($ Id.VSub_DollarName USAGE_LICENSE) 
                      (SingleQuoted
                        left: <Id.Left_DollarSingleQuote '$\''>
                        tokens: [
                          <Id.Char_Literals '\n'>
                          <Id.Char_Literals 
'[+NAME?download - generate web site download instructions for an mm document]\n'
                          >
                          <Id.Char_Literals '[+DESCRIPTION?'>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals download>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals ' is a '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals ksh>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1) script that generates web site\n'>
                          <Id.Char_Literals '\tdownload instructions for an '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals mm>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1) document. '>
                          <Id.Char_OneChar '\\a'>
                          <Id.Char_Literals item>
                          <Id.Char_OneChar '\\a'>
                          <Id.Char_Literals ' names the\n'>
                          <Id.Char_Literals '\titem to be downloaded and '>
                          <Id.Char_OneChar '\\a'>
                          <Id.Char_Literals type>
                          <Id.Char_OneChar '\\a'>
                          <Id.Char_Literals ' ... names the supported architecture\n'>
                          <Id.Char_Literals '\ttype(s) as reported by '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals package>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1).]\n'>
                          <Id.Char_Literals '[+?'>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals download>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals ' is most often used in the '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals .sh>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals ' directive of '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals mm2html>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1)\n'>
                          <Id.Char_Literals '\tor '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals troff2html>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1): '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '.sh download warp sgi.mips3 linux.i386'>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '.]\n'>
                          <Id.Char_Literals '\n'>
                          <Id.Char_Literals 'item [ type ... ]\n'>
                          <Id.Char_Literals '\n'>
                          <Id.Char_Literals '[+SEE ALSO?'>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals mm2html>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1), '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals package>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1), '>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals troff2html>
                          <Id.Char_OneChar '\\b'>
                          <Id.Char_Literals '(1)]\n'>
                        ]
                        right: <Id.Right_SingleQuote '\''>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'id='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'id='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'id='> name:id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name USAGE>
                        var_name: USAGE
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VOp1_DPound '##'>
                            arg_word: 
                              {<Id.Lit_Other '?'> <Id.Lit_Other '?'> <Id.Lit_Other '?'> 
                                <Id.Lit_Other '?'>
                              }
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'id='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'id='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'id='> name:id)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name id>
                        var_name: id
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VOp1_Percent '%'>
                            arg_word: {(SQ <']'>) <Id.Lit_Other '*'>}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'ARGV0='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'ARGV0='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'USAGE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'USAGE='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE)
                  op: assign_op.Equal
                  rhs: {(SQ <'i:[file] [ file ... ]'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'id='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'id='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'id='> name:id)
                  op: assign_op.Equal
                  rhs: {(SQ <'mm2html (AT&T Research) 1999-04-15'>)}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShFunction
      name_tok: <usage>
      name: usage
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'OPTIND='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'OPTIND='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTIND='> name:OPTIND)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <getopts>
              more_env: []
              words: [
                {<getopts>}
                {($ Id.VSub_DollarName ARGV0)}
                {(DQ ($ Id.VSub_DollarName USAGE))}
                {<OPT>}
                {(SQ <'-?'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <getopts>
              more_env: []
              words: [
                {<getopts>}
                {($ Id.VSub_DollarName ARGV0)}
                {(DQ ($ Id.VSub_DollarName USAGE))}
                {<OPT>}
              ]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName OPT)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <i>
                  pattern: (pat.Words words:[{<i>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <.>
                          more_env: []
                          words: [{<.>} {($ Id.VSub_DollarName OPT)}]
                          redirects: []
                          do_fork: T
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Exit exit>
                          arg_word: {<1>}
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <usage>
                      more_env: []
                      words: [{<usage>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <shift>
      more_env: []
      words: [{<shift>} {($ Id.VSub_DollarName OPTIND) <-1>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <0>
          pattern: (pat.Words words:[{<0>} {<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <usage>
              more_env: []
              words: [{<usage>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'item='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'item='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'item='> name:item)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
        )
      ]
      redirects: []
    )
    (command.Simple blame_tok:<shift> more_env:[] words:[{<shift>}] redirects:[] do_fork:T)
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'.H 1 Download'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'Check the'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-r>}
        {<-->}
        {
          (DQ <'.xx link='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
            <'../faq.html\tFAQ'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'for information on binary installations.'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'Source and binary packages for'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'.B '> (${ Id.VSub_Name item))}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'are available at the'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-r>}
        {<-->}
        {
          (DQ <'.xx link='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
            <'/sw/download/\tpackage'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'download site; evaluation binaries containing only'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'.B '> (${ Id.VSub_Name item))}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'are also available for these system architectures:'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <.BL>)}]
      redirects: []
      do_fork: T
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [type]
      iterable: (for_iter__Args)
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<-r>} {<-->} {(DQ <.LI>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [
                {<print>}
                {<-r>}
                {<-->}
                {
                  (DQ <'.xx link='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                    <'./'> (${ Id.VSub_Name item) <-> (${ Id.VSub_Name type) <'.tgz\t'> (${ Id.VSub_Name type) 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\"'>
                      ch: '"'
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <.LE>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <.PP>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-r>}
        {<-->}
        {(DQ <'NOTE: Click the right mouse button to make sure the file is'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-r>} {<-->} {(DQ <'dowloaded and not displayed (go figure).'>)}]
      redirects: []
      do_fork: T
    )
  ]
)