(command.CommandList
  children: [
    (C {<Id.Lit_Colon ':'>} {<generate>} {(DQ <'<sys/param.h> + <sys/types.h> + <sys/stat.h>'>)} 
      {<include>} {<sequence>}
    )
    (command.Case
      to_match: {($ Id.VSub_Pound '#')}
      arms: [
        (case_arm pat_list:[{<0>}] action:[] spids:[81 82 84 -1])
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [(C {<eval>} {($ Id.VSub_Number 1)}) (C {<shift>})]
          spids: [86 87 97 -1]
        )
      ]
      redirects: []
    )
    (command.ForEach
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {(DQ <'#include <sys/param.h>'>)}
            {
              (DQ <'#include <sys/param.h>\n'> <'#ifndef S_IFDIR\n'> <'#include <sys/stat.h>\n'> 
                <'#endif'>
              )
            }
            {
              (DQ <'#include <sys/param.h>\n'> <'#ifndef S_IFDIR\n'> <'#include <sys/types.h>\n'> 
                <'#include <sys/stat.h>\n'> <'#endif'>
              )
            }
            {
              (DQ <'#ifndef S_IFDIR\n'> <'#include <sys/types.h>\n'> <'#include <sys/stat.h>\n'> 
                <'#endif'>
              )
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ ($ Id.VSub_DollarName i) <'\n'> <'struct stat V_stat_V;\n'> 
                    <'F_stat_F() { V_stat_V.st_mode = 0; }'>
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName tmp) <.c>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          words: [{($ Id.VSub_DollarName cc)} {<-c>} {($ Id.VSub_DollarName tmp) <.c>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ ($ Id.VSub_DollarName i))})
                    (command.ControlFlow token:<Id.ControlFlow_Break break>)
                  ]
                  spids: [150 163]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
        )
      redirects: []
    )
  ]
)