(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_START_ADDR='> name:TEXT_START_ADDR)
          op: assign_op.Equal
          rhs: {<0x8000>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SHLIB_TEXT_START_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SHLIB_TEXT_START_ADDR='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'SHLIB_TEXT_START_ADDR='>
              name: SHLIB_TEXT_START_ADDR
            )
          op: assign_op.Equal
          rhs: {<0x8000>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SHLIB_DATA_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SHLIB_DATA_ADDR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SHLIB_DATA_ADDR='> name:SHLIB_DATA_ADDR)
          op: assign_op.Equal
          rhs: {<0x400000>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/shelf.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CTOR_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CTOR_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CTOR_START='> name:CTOR_START)
          op: assign_op.Equal
          rhs: {(SQ <'__ctors = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CTOR_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CTOR_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CTOR_END='> name:CTOR_END)
          op: assign_op.Equal
          rhs: {(SQ <'__ctors_end = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DTOR_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DTOR_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DTOR_START='> name:DTOR_START)
          op: assign_op.Equal
          rhs: {(SQ <'__dtors = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DTOR_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DTOR_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DTOR_END='> name:DTOR_END)
          op: assign_op.Equal
          rhs: {(SQ <'__dtors_end = .;'>)}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <test>
          more_env: []
          words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName CREATE_SHLIB))}]
          redirects: []
          do_fork: T
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike 'OTHER_SECTIONS='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'OTHER_SECTIONS='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OTHER_SECTIONS='> name:OTHER_SECTIONS)
              op: assign_op.Equal
              rhs: 
                {
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name RELOCATING>
                      var_name: RELOCATING
                      suffix_op: 
                        (suffix_op.Unary
                          op: <Id.VTest_Plus _>
                          arg_word: {<'PROVIDE (_stack = 0x30000);'>}
                        )
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
            )
          ]
          redirects: []
        )
      ]
      ops: [<Id.Op_DAmp _>]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTPUT_FORMAT='> name:OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf32-shl-symbian>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SCRIPT_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SCRIPT_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPT_NAME='> name:SCRIPT_NAME)
          op: assign_op.Equal
          rhs: {<elf32sh-symbian>}
        )
      ]
      redirects: []
    )
  ]
)