(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CURDIR)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: (command.CommandList children:[(C {<pwd>})])
              )
            }
          spids: [84]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ECHO)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name ECHO>
                suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonEquals arg_word:{<echo>})
              )
            }
          spids: [89]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:tmpfile)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: (command.CommandList children:[(C {<mktemp>} {<osreldate.XXXXXXXX>})])
              )
            }
          spids: [97]
        )
      ]
    )
    (C {<trap>} {(DQ <'rm -f '> ($ Id.VSub_DollarName '$tmpfile'))} {<EXIT>})
    (C {(${ Id.VSub_Name ECHO)} {<creating>} {<osreldate.h>} {<from>} {<newvers.sh>})
    (C {<Id.KW_Set set>} {<Id.Lit_Other '+'> <e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:VARS_ONLY)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [132]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (C {<.>} 
          {
            (DQ 
              (braced_var_sub
                token: <Id.VSub_Name NEWVERS_SH>
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_ColonEquals
                    arg_word: 
                      {($ Id.VSub_DollarName '$CURDIR') <Id.Lit_Slash /> <..> <Id.Lit_Slash /> <sys> 
                        <Id.Lit_Slash /> <conf> <Id.Lit_Slash /> <newvers.sh>
                      }
                  )
              )
            )
          }
        )
        (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
      ]
    )
    (C {<Id.KW_Set set>} {<-e>})
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir.Redir
          op: <Id.Redir_Great '>'>
          fd: -1
          arg_word: {($ Id.VSub_DollarName '$tmpfile')}
        )
        (redir.HereDoc
          op: <Id.Redir_DLess '<<'>
          fd: -1
          here_begin: {<EOF>}
          here_end_span_id: 187
          stdin_parts: [
            ($ Id.VSub_DollarName '$COPYRIGHT')
            <'\n'>
            <'#ifdef _KERNEL\n'>
            <'#error '>
            <Id.Right_DoubleQuote '"'>
            <'<osreldate.h> cannot be used in the kernel, use <sys/param.h>'>
            <Id.Right_DoubleQuote '"'>
            <'\n'>
            <'#else\n'>
            <'#undef __FreeBSD_version\n'>
            <'#define __FreeBSD_version '>
            ($ Id.VSub_DollarName '$RELDATE')
            <'\n'>
            <'#endif\n'>
          ]
        )
      ]
    )
    (C {<chmod>} {<644>} {($ Id.VSub_DollarName '$tmpfile')})
    (C {<mv>} {<-f>} {($ Id.VSub_DollarName '$tmpfile')} {<osreldate.h>})
  ]
)