(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CURDIR spids:[84])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(pwd)})])
                left_token: <Left_CommandSub '$('>
                spids: [85 87]
              )
            }
          spids: [84]
        )
      ]
      spids: [84]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ECHO spids:[89])
          op: Equal
          rhs: 
            {
              (word_part.BracedVarSub
                token: <VSub_Name ECHO>
                suffix_op: (suffix_op.StringUnary op_id:VTest_ColonEquals arg_word:{(echo)})
                spids: [90 94]
              )
            }
          spids: [89]
        )
      ]
      spids: [89]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:tmpfile spids:[97])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(mktemp)} {(osreldate.XXXXXXXX)})])
                left_token: <Left_CommandSub '$('>
                spids: [98 102]
              )
            }
          spids: [97]
        )
      ]
      spids: [97]
    )
    (C {(trap)} {(DQ ('rm -f ') ($ VSub_DollarName '$tmpfile'))} {(EXIT)})
    (C {(${ VSub_Name ECHO)} {(creating)} {(osreldate.h)} {(from)} {(newvers.sh)})
    (C {(set)} {(Lit_Other '+') (e)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:VARS_ONLY spids:[132])
          op: Equal
          rhs: {(1)}
          spids: [132]
        )
      ]
      spids: [132]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(.)} 
          {
            (DQ 
              (word_part.BracedVarSub
                token: <VSub_Name NEWVERS_SH>
                suffix_op: 
                  (suffix_op.StringUnary
                    op_id: VTest_ColonEquals
                    arg_word: 
                      {($ VSub_DollarName '$CURDIR') (Lit_Slash /) (..) (Lit_Slash /) (sys) 
                        (Lit_Slash /) (conf) (Lit_Slash /) (newvers.sh)
                      }
                  )
                spids: [138 150]
              )
            )
          }
        )
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (C {(set)} {(-e)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir
          op: <Redir_Great '>'>
          fd: 16777215
          arg_word: {($ VSub_DollarName '$tmpfile')}
        )
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 187
          stdin_parts: [
            ($ VSub_DollarName '$COPYRIGHT')
            ('\n')
            ('#ifdef _KERNEL\n')
            ('#error ')
            (Right_DoubleQuote '"')
            ('<osreldate.h> cannot be used in the kernel, use <sys/param.h>')
            (Right_DoubleQuote '"')
            ('\n')
            ('#else\n')
            ('#undef __FreeBSD_version\n')
            ('#define __FreeBSD_version ')
            ($ VSub_DollarName '$RELDATE')
            ('\n')
            ('#endif\n')
          ]
        )
      ]
    )
    (C {(chmod)} {(644)} {($ VSub_DollarName '$tmpfile')})
    (C {(mv)} {(-f)} {($ VSub_DollarName '$tmpfile')} {(osreldate.h)})
  ]
)