(command.CommandList
  children: [
    (command.Simple
      blame_tok: <exec>
      more_env: []
      words: [{<exec>}]
      redirects: [(Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'sys='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'sys='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sys='> name:sys)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (CommandSub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <uname>
                          more_env: []
                          words: [{<uname>} {<-s>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <tr>
                          more_env: []
                          words: [{<tr>} {(SQ <'/:[A-Z]'>)} {(SQ <'..[a-z]'>)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  right: <Id.Backtick_Right '`'>
                )
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <Id.Lit_LBracket '['>
                  more_env: []
                  words: [
                    {<Id.Lit_LBracket '['>}
                    {<x> (DQ ($ Id.VSub_DollarName sys))}
                    {<Id.KW_Bang '!'> <Id.Lit_Equals '='>}
                    {<x>}
                    {<Id.Lit_RBracket ']'>}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'unamer='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'unamer='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'unamer='> name:unamer)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <uname>
                                  more_env: []
                                  words: [{<uname>} {<-r>}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <tr>
                                  more_env: []
                                  words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Backtick_Right '`'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'unamem='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'unamem='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'unamem='> name:unamem)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <uname>
                                  more_env: []
                                  words: [{<uname>} {<-m>}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <tr>
                                  more_env: []
                                  words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Backtick_Right '`'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'unamev='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'unamev='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'unamev='> name:unamev)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <uname>
                                  more_env: []
                                  words: [{<uname>} {<-v>}]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <tr>
                                  more_env: []
                                  words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          right: <Id.Backtick_Right '`'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName sys))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <bsd.os>
                  pattern: (pat.Words words:[{<bsd.os>} {<freebsd>} {<netbsd>} {<openbsd>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamer))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'arch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'arch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Simple
                                      blame_tok: <sysctl>
                                      more_env: []
                                      words: [{<sysctl>} {<-n>} {<hw.model>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <linux>
                  pattern: (pat.Words words:[{<linux>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamer))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName chip))})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <i386>
                          pattern: (pat.Words words:[{<i386>} {<i486>} {<i586>} {<i686>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'arch='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'arch='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                                  op: assign_op.Equal
                                  rhs: {(DQ <i386>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <alpha>
                          pattern: (pat.Words words:[{<alpha>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'arch='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'arch='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                                  op: assign_op.Equal
                                  rhs: {(DQ <alpha>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <aix>
                  pattern: (pat.Words words:[{<aix>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamev) <-> 
                                ($ Id.VSub_DollarName unamer)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'arch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'arch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <arch>
                                          more_env: []
                                          words: [{<arch>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <sunos>
                  pattern: (pat.Words words:[{<sunos>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamer) <-> 
                                ($ Id.VSub_DollarName unamev)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'arch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'arch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Subshell
                                          left: <Id.Op_LParen _>
                                          child: 
                                            (command.AndOr
                                              children: [
                                                (command.Simple
                                                  blame_tok: <uname>
                                                  more_env: []
                                                  words: [{<uname>} {<-p>}]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                                (command.Simple
                                                  blame_tok: <mach>
                                                  more_env: []
                                                  words: [{<mach>}]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              ]
                                              ops: [<Id.Op_DPipe _>]
                                            )
                                          right: <Id.Right_Subshell _>
                                          redirects: []
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <arch>
                                          more_env: []
                                          words: [{<arch>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <arch>
                                          more_env: []
                                          words: [{<arch>} {<-k>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <unix_sv>
                  pattern: (pat.Words words:[{<unix_sv>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamer) <-> 
                                ($ Id.VSub_DollarName unamev)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'arch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'arch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Simple
                                      blame_tok: <uname>
                                      more_env: []
                                      words: [{<uname>} {<-m>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      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 'oper='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'oper='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName sys) <-> ($ Id.VSub_DollarName unamer) <-> 
                                ($ Id.VSub_DollarName unamev)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'arch='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'arch='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <arch>
                                          more_env: []
                                          words: [{<arch>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'syst='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'syst='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'chip='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'chip='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName unamem))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kern='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kern='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          spids: [75 91]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.Simple
          blame_tok: <gcc>
          more_env: []
          words: [{<gcc>} {<-c>} {<trycpp.c>}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <gcc>
          more_env: []
          words: [{<gcc>} {<-o>} {<trycpp>} {<trycpp.o>}]
          redirects: []
          do_fork: T
        )
        (command.Case
          case_kw: <Id.KW_Case case>
          to_match: 
            (case_arg.Word
              w: 
                {
                  (CommandSub
                    left_token: <Id.Left_Backtick '`'>
                    child: 
                      (command.Simple
                        blame_tok: <'./trycpp'>
                        more_env: []
                        words: [{<'./trycpp'>}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Backtick_Right '`'>
                  )
                }
            )
          arms_start: <Id.KW_In in>
          arms: [
            (CaseArm
              left: <nextstep>
              pattern: (pat.Words words:[{<nextstep>}])
              middle: <Id.Right_CasePat _>
              action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'oper='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'oper='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ <nextstep-> 
                            (CommandSub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      blame_tok: <hostinfo>
                                      more_env: []
                                      words: [{<hostinfo>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <sed>
                                      more_env: []
                                      words: [
                                        {<sed>}
                                        {<-n>}
                                        {(SQ <'s/^[ \t]*NeXT Mach \\([^:]*\\):.*$/\\1/p'>)}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_Pipe _>]
                                )
                              right: <Id.Backtick_Right '`'>
                            )
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'arch='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'arch='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      blame_tok: <hostinfo>
                                      more_env: []
                                      words: [{<hostinfo>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <sed>
                                      more_env: []
                                      words: [
                                        {<sed>}
                                        {<-n>}
                                        {(SQ <'s/^Processor type: \\(.*\\) (.*)$/\\1/p'>)}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <tr>
                                      more_env: []
                                      words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                                )
                              right: <Id.Backtick_Right '`'>
                            )
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'syst='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'syst='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'chip='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'chip='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ 
                            (CommandSub
                              left_token: <Id.Left_Backtick '`'>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      blame_tok: <hostinfo>
                                      more_env: []
                                      words: [{<hostinfo>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <sed>
                                      more_env: []
                                      words: [
                                        {<sed>}
                                        {<-n>}
                                        {(SQ <'s/^Processor type: .* (\\(.*\\))$/\\1/p'>)}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <tr>
                                      more_env: []
                                      words: [{<tr>} {(SQ <' /:'>)} {(SQ <...>)}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                                )
                              right: <Id.Backtick_Right '`'>
                            )
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'kern='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'kern='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  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 'oper='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'oper='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'oper='> name:oper)
                      op: assign_op.Equal
                      rhs: {(DQ <unknown>)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'arch='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'arch='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arch='> name:arch)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'syst='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'syst='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'syst='> name:syst)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'chip='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'chip='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'kern='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'kern='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'kern='> name:kern)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
              ]
              right: <Id.Op_DSemi _>
            )
          ]
          arms_end: <Id.KW_Esac esac>
          redirects: []
        )
        (command.Simple
          blame_tok: <rm>
          more_env: []
          words: [{<rm>} {<-f>} {<trycpp.o>} {<trycpp>}]
          redirects: []
          do_fork: T
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName chip))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <80486>
          pattern: (pat.Words words:[{<80486>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<i486>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <i486DX>
          pattern: (pat.Words words:[{<i486DX>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<i486-dx>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <i486.DX2>
          pattern: (pat.Words words:[{<i486.DX2>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<i486-dx2>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Intel.586>
          pattern: (pat.Words words:[{<Intel.586>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<pentium>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <i586>
          pattern: (pat.Words words:[{<i586>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<pentium>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <i686>
          pattern: (pat.Words words:[{<i686>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'chip='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'chip='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                  op: assign_op.Equal
                  rhs: {<ppro>}
                )
              ]
              redirects: []
            )
          ]
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <gcc>
                  more_env: []
                  words: [{<gcc>} {<-c>} {<x86cpuid.c>}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <gcc>
                          more_env: []
                          words: [{<gcc>} {<-o>} {<x86cpuid>} {<x86cpuid.o>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'x86cpuid='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'x86cpuid='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x86cpuid='> name:x86cpuid)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <'./x86cpuid'>
                                          more_env: []
                                          words: [{<'./x86cpuid'>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tr>
                                          more_env: []
                                          words: [{<tr>} {<'/'> <Id.Lit_Colon ':'>} {<..>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Backtick_Right '`'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName x86cpuid))})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <Id.Lit_QMark '?'>
                          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'chip='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'chip='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'chip='> name:chip)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName x86cpuid))}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                  ]
                  spids: [853 864]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          spids: [842 850]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <rm>
      more_env: []
      words: [{<rm>} {<-f>} {<x86cpuid>} {<x86cpuid.o>}]
      redirects: []
      do_fork: T
    )
    (command.Pipeline
      children: [
        (command.Simple
          blame_tok: <echo>
          more_env: []
          words: [
            {<echo>}
            {
              (DQ ($ Id.VSub_DollarName oper) <'-:'> ($ Id.VSub_DollarName arch) <'-:'> 
                ($ Id.VSub_DollarName syst) <'-:'> ($ Id.VSub_DollarName chip) <'-:'> ($ Id.VSub_DollarName kern) <->
              )
            }
          ]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <tr>
          more_env: []
          words: [{<tr>} {(SQ <' [A-Z]'>)} {(SQ <'.[a-z]'>)}]
          redirects: []
          do_fork: T
        )
      ]
      ops: [<Id.Op_Pipe _>]
    )
  ]
)