(List
  (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]}  )
  (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]}  )
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('STATUS', {[LIT_CHARS 0]})])
  (FunctionDef stderr []
    (List
      (= scope=<EAssignScope.LOCAL 0> flags=0 words=[] bindings=[('me', {[ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub 0]]})]})])
      (= scope=<EAssignScope.LOCAL 0> flags=0 words=[{[LIT_CHARS i]}] bindings=[])
      (For i do_arg_iter)
        (Com {[LIT_CHARS echo]} {[DQ [VarSub me][LIT_CHARS ": "][VarSub i]]}
          <
          (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
          >
        )
      )
    )
  )
  (FunctionDef error []
    (List
      (= scope=<EAssignScope.LOCAL 0> flags=0 words=[{[LIT_CHARS i]}] bindings=[])
      (For i do_arg_iter)
        (Com {[LIT_CHARS stderr]} {[DQ [LIT_CHARS "error: "][VarSub i]]}        )
      )
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('STATUS', {[LIT_CHARS 1]})])
    )
  )
  (FunctionDef generate_header []
    (Com {[LIT_CHARS cat]}
      <
      (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "/**\n"][LIT_CHARS " * "][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "mainpage\n"]]} <REDIR_DLESS "<<"> 0),
      >
    )
  )
  (FunctionDef generate_footer []
    (Com {[LIT_CHARS cat]}
      <
      (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " */\n"]]} <REDIR_DLESS "<<"> 0),
      >
    )
  )
  (FunctionDef include_file []
    (List
      (= scope=<EAssignScope.LOCAL 0> flags=0 words=[] bindings=[('file', {[DQ [VarSub 1]]})])
      (If
        (Pipeline!
          (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -r]} {[DQ [VarSub file]]} {[LIT_DBRACKET_LIKE "]"]}          )
        )
        (List
          (Com {[LIT_CHARS error]} {[DQ [LIT_CHARS "'"][VarSub file][LIT_CHARS "' is not readable."]]}          )
          (Com {[LIT_CHARS return]}          )
        )
      )
      (Com {[LIT_CHARS cat]}
        <
        (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " * "][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "section "][VarSub file][LIT_CHARS "\n"][LIT_CHARS " * "][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "verbatim\n"]]} <REDIR_DLESS "<<"> 0),
        >
      )
      (Com {[LIT_CHARS cat]}
        <
        (FilenameRedirectNode filename={[DQ [VarSub file]]} <REDIR_LESS "<"> 0),
        >
      )
      (Com {[LIT_CHARS cat]}
        <
        (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "endverbatim\n"]]} <REDIR_DLESS "<<"> 0),
        >
      )
    )
  )
  (If
    (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -eq]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]}    )
    (List
      (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " inputs..."]]}
        <
        (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
        >
      )
      (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}      )
    )
  )
  (Com {[LIT_CHARS generate_header]}  )
  (For i [{[DQ [VarSub @]]}])
    (Com {[LIT_CHARS include_file]} {[DQ [VarSub i]]}    )
  )
  (Com {[LIT_CHARS generate_footer]}  )
  (Com {[LIT_CHARS exit]} {[VarSub STATUS]}  )
)