(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: do_command
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} 
                          {(${ VSub_Name srctree) (/arch/) ($ VSub_Number '$2') (/include/asm/Kbuild)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(make)} {(Lit_VarLike 'ARCH=') ($ VSub_Number '$2')} 
                      {(Lit_VarLike 'KBUILD_HEADERS=') ($ VSub_Number '$1')} {(headers_) ($ VSub_Number '$1')}
                    )
                  ]
                  spids: [16777215 38]
                )
              ]
              else_action: [
                (C {(printf)} {(DQ ('Ignoring arch: %s') (Lit_Other '\\') (n))} {(${ VSub_Name arch)})
              ]
              spids: [53 69]
            )
          ]
          spids: [19]
        )
      spids: [15 18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:archs)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name HDR_ARCH_LIST>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(ls)} {(${ VSub_Name srctree) (/arch)})]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [78 85]
                        )
                      }
                  )
                spids: [75 86]
              )
            }
          spids: [74]
        )
      ]
      spids: [74]
    )
    (ForEach
      iter_name: arch
      iter_words: [{(${ VSub_Name archs)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(${ VSub_Name arch)}
              arms: [
                (case_arm pat_list:[{(um)}] spids:[112 113 119 16777215])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-d)} 
                                  {(${ VSub_Name srctree) (/arch/) (${ VSub_Name arch)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_command)} {($ VSub_Number '$1')} {(${ VSub_Name arch)})]
                          spids: [16777215 143]
                        )
                      ]
                      spids: [16777215 155]
                    )
                  ]
                  spids: [122 123 158 16777215]
                )
              ]
              spids: [103 109 161]
            )
          ]
          spids: [100 163]
        )
      spids: [94 98]
    )
  ]
)