(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MACHINE)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [0]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SCRIPT_NAME)
          op: assign_op.Equal
          rhs: {<elfarcv2>}
          spids: [2]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {(DQ <x> (${ Id.VSub_Name ARC_ENDIAN))} 
                      {<Id.Lit_Equals '='>} {(DQ <xbig>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:OUTPUT_FORMAT)
                  op: assign_op.Equal
                  rhs: {(DQ <elf32-bigarc>)}
                  spids: [28]
                )
              ]
            )
          ]
          spids: [5 25]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:OUTPUT_FORMAT)
              op: assign_op.Equal
              rhs: {(DQ <elf32-littlearc>)}
              spids: [36]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ICCM_SIZE)
          op: assign_op.Equal
          rhs: {<2M>}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RAM_START_ADDR)
          op: assign_op.Equal
          rhs: {<0x80000000>}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RAM_SIZE)
          op: assign_op.Equal
          rhs: {<2M>}
          spids: [49]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:STARTUP_MEMORY)
          op: assign_op.Equal
          rhs: {<ICCM>}
          spids: [52]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXT_MEMORY)
          op: assign_op.Equal
          rhs: {<ICCM>}
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DATA_MEMORY)
          op: assign_op.Equal
          rhs: {<DCCM>}
          spids: [58]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SDATA_MEMORY)
          op: assign_op.Equal
          rhs: {<DCCM>}
          spids: [61]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ARCH)
          op: assign_op.Equal
          rhs: {<arc>}
          spids: [64]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MAXPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)}
          spids: [67]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EMBEDDED)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [72]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENERIC_BOARD)
          op: assign_op.Equal
          rhs: {<no>}
          spids: [75]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEMPLATE_NAME)
          op: assign_op.Equal
          rhs: {<elf32>}
          spids: [78]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LITTLE_OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf32-littlearc>)}
          spids: [81]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BIG_OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf32-bigarc>)}
          spids: [86]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR)
          op: assign_op.Equal
          rhs: {<0x100>}
          spids: [91]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ENTRY)
          op: assign_op.Equal
          rhs: {<__start>}
          spids: [94]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SDATA_START_SYMBOLS)
          op: assign_op.Equal
          rhs: {(SQ <'__SDATA_BEGIN__ = .;'>)}
          spids: [97]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OTHER_SECTIONS)
          op: assign_op.Equal
          rhs: {(DQ <'/DISCARD/ : { *(.__arc_profile_*) }'>)}
          spids: [102]
        )
      ]
    )
  ]
)