(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_Number '$1')} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<eval>} 
              {
                (command_sub
                  left_token: <Id.Left_Backtick '`'>
                  child: 
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [{<egrep>} {(SQ <'^[A-Z]+='>)} {($ Id.VSub_Number '$1')}]
                          more_env: [(env_pair name:LC_ALL val:{<C>} spids:[35])]
                          do_fork: T
                        )
                        (C {<grep>} {<-v>} {<COPYRIGHT>})
                      ]
                      negated: F
                    )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<echo>} {(${ Id.VSub_Name TYPE)})
                              (command.Simple
                                words: [{<tr>} {(SQ <A-Z>)} {(SQ <a-z>)}]
                                more_env: [(env_pair name:LC_ALL val:{<C>} spids:[68])]
                                do_fork: T
                              )
                            ]
                            negated: F
                          )
                      )
                    }
                  spids: [56]
                )
              ]
            )
            (C {<echo>} {(SQ <'/* Define name and version of host machine (eg. solaris2.5.1) */'>)})
            (C {<echo>} 
              {
                (DQ <'#define HOST_OS '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                  (${ Id.VSub_Name OS) (${ Id.VSub_Name REVISION) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                )
              }
            )
            (C {<echo>} {(SQ <'/* Define only name of host machine OS (eg. solaris2) */'>)})
            (command.Pipeline
              children: [
                (C {<echo>} 
                  {
                    (DQ <'#define HOST_OS_NAME '> 
                      (word_part.EscapedLiteral
                        token: <Id.Lit_EscapedChar '\\"'>
                      ) (${ Id.VSub_Name OS) (${ Id.VSub_Name REVISION) 
                      (word_part.EscapedLiteral
                        token: <Id.Lit_EscapedChar '\\"'>
                      )
                    )
                  }
                )
                (C {<sed>} {<-e>} {(SQ <'s/\\.[-._0-9]*//'>)})
              ]
              negated: F
            )
            (C {<echo>} {(SQ <'/* Define only version of host machine (eg. 2.5.1) */'>)})
            (C {<echo>} 
              {
                (DQ <'#define HOST_OS_VERSION '> 
                  (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (${ Id.VSub_Name REVISION) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                )
              }
            )
          ]
          spids: [16 27]
        )
      ]
      else_action: [
        (command.Simple
          words: [{<cat>}]
          redirects: [
            (redir
              op: <Id.Redir_DLess '<<'>
              loc: (redir_loc.Fd fd:0)
              arg: 
                (redir_param.HereDoc
                  here_begin: {<__NO_newvers_sh>}
                  here_end_span_id: 272
                  stdin_parts: [
                    <'\n'>
                    <'/* Define name and version of host machine (eg. solaris2.5.1) */\n'>
                    <'#define HOST_OS '>
                    <Id.Right_DoubleQuote '"'>
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: 
                        (command.Pipeline
                          children: [
                            (C {<uname>} {<-s>})
                            (command.Simple
                              words: [{<tr>} {(SQ <A-Z>)} {(SQ <a-z>)}]
                              more_env: [(env_pair name:LC_ALL val:{<C>} spids:[178])]
                              do_fork: T
                            )
                          ]
                          negated: F
                        )
                    )
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: (C {<uname>} {<-r>})
                    )
                    <Id.Right_DoubleQuote '"'>
                    <'\n'>
                    <'\n'>
                    <'/* Define only name of host machine OS (eg. solaris2) */\n'>
                    <'#define HOST_OS_NAME '>
                    <Id.Right_DoubleQuote '"'>
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: 
                        (command.Pipeline
                          children: [
                            (C {<uname>} {<-s>})
                            (command.Simple
                              words: [{<tr>} {(SQ <A-Z>)} {(SQ <a-z>)}]
                              more_env: [(env_pair name:LC_ALL val:{<C>} spids:[213])]
                              do_fork: T
                            )
                          ]
                          negated: F
                        )
                    )
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: 
                        (command.Pipeline
                          children: [(C {<uname>} {<-r>}) (C {<sed>} {<-e>} {(SQ <'s/\\..*$//'>)})]
                          negated: F
                        )
                    )
                    <Id.Right_DoubleQuote '"'>
                    <'\n'>
                    <'\n'>
                    <'/* Define only version of host machine (eg. 2.5.1) */\n'>
                    <'#define HOST_OS_VERSION '>
                    <Id.Right_DoubleQuote '"'>
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: 
                        (command.Pipeline
                          children: [
                            (C {<uname>} {<-r>})
                            (C {<sed>} {<-e>} {(SQ <'s/[-([:alpha:]].*//'>)})
                          ]
                          negated: F
                        )
                    )
                    <Id.Right_DoubleQuote '"'>
                    <'\n'>
                    <'\n'>
                  ]
                )
            )
          ]
          do_fork: T
        )
      ]
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: (redir_param.HereDoc here_begin:{<__EOF>} here_end_span_id:284 stdin_parts:[<'\n'>])
        )
      ]
      do_fork: T
    )
  ]
)