(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:gindent) op:Equal rhs:{(EmptyPart)} spids:[11])]
      spids: [11]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:indent) op:Equal rhs:{(EmptyPart)} spids:[13])]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:paths)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {($ VSub_Name '$PATH')})
                          (C {(sed)} {(-e)} {(SQ <'s/::/:.:/g'>)} {(-e)} {(SQ <'s/^:/.:/'>)} {(-e)} 
                            {(SQ <'s/:$/:./'>)} {(-e)} {(SQ <'s/:/ /g'>)}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [16 56]
              )
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (ForEach
      iter_name: path
      iter_words: [{($ VSub_Name '$paths')}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(KW_Bang '!')} {(-n)} {(DQ (${ VSub_Name gindent))} {(-a)} {(-x)} 
                      {(${ VSub_Name path) (/gindent)}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gindent)
                          op: Equal
                          rhs: {(${ VSub_Name path) (/gindent)}
                          spids: [96]
                        )
                      ]
                      spids: [96]
                    )
                    (ControlFlow token:<ControlFlow_Break break>)
                  ]
                  spids: [16777215 93]
                )
                (if_arm
                  cond: [
                    (C {(test)} {(KW_Bang '!')} {(-n)} {(DQ (${ VSub_Name indent))} {(-a)} {(-x)} 
                      {(${ VSub_Name path) (/indent)}
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:indent)
                          op: Equal
                          rhs: {(${ VSub_Name path) (/indent)}
                          spids: [133]
                        )
                      ]
                      spids: [133]
                    )
                  ]
                  spids: [106 130]
                )
              ]
              spids: [16777215 140]
            )
          ]
          spids: [66 142]
        )
      spids: [63 16777215]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ (${ VSub_Name gindent))})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:indent)
                  op: Equal
                  rhs: {(${ VSub_Name gindent)}
                  spids: [160]
                )
              ]
              spids: [160]
            )
          ]
          spids: [16777215 157]
        )
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ (${ VSub_Name indent))})]
          action: [(C {(Lit_Other ':')})]
          spids: [165 177]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ('Indent not found'))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[191])]
        )
      ]
      spids: [182 194]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:m1) op:Equal rhs:{(2)} spids:[205])]
      spids: [205]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:m2) op:Equal rhs:{(2)} spids:[208])]
      spids: [208]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:m3) op:Equal rhs:{(9)} spids:[211])]
      spids: [211]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:version)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(${ VSub_Name indent)} {(--version)}]
                        redirects: [
                          (Redir
                            op_id: Redir_Great
                            fd: 2
                            arg_word: {(/dev/null)}
                            spids: [223]
                          )
                          (Redir
                            op_id: Redir_Less
                            fd: 16777215
                            arg_word: {(/dev/null)}
                            spids: [226]
                          )
                        ]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [216 229]
              )
            }
          spids: [215]
        )
      ]
      spids: [215]
    )
    (Case
      to_match: {(DQ (${ VSub_Name version))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (GNU) (Lit_Other '*')}]
          spids: [242 246 248 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ ('error: GNU indent ') ($ VSub_Name '$m1') (.) ($ VSub_Name '$m2') (.) 
                        ($ VSub_Name '$m3') (' expected')
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[267])]
                )
              terminator: <Op_Semi ';'>
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [251 253 275 16777215]
        )
      ]
      spids: [231 239 277]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:v1)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ (${ VSub_Name version))})
                          (C {(sed)} {(SQ <'s/^.* \\([0-9]*\\)\\.\\([0-9]*\\)\\.\\([0-9]*\\)$/\\1/'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [280 296]
              )
            }
          spids: [279]
        )
      ]
      spids: [279]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:v2)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ (${ VSub_Name version))})
                          (C {(sed)} {(SQ <'s/^.* \\([0-9]*\\)\\.\\([0-9]*\\)\\.\\([0-9]*\\)$/\\2/'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [299 315]
              )
            }
          spids: [298]
        )
      ]
      spids: [298]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:v3)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} {(DQ (${ VSub_Name version))})
                          (C {(sed)} {(SQ <'s/^.* \\([0-9]*\\)\\.\\([0-9]*\\)\\.\\([0-9]*\\)$/\\3/'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [318 334]
              )
            }
          spids: [317]
        )
      ]
      spids: [317]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {($ VSub_Name '$m1')} {(-ne)} {($ VSub_Name '$v1')} {(-o)} {($ VSub_Name '$m2')} 
              {(-ne)} {($ VSub_Name '$v2')} {(-o)} {($ VSub_Name '$m3')} {(-gt)} {($ VSub_Name '$v3')}
            )
          ]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('error: Must be GNU indent version ') ($ VSub_Name '$m1') (.) ($ VSub_Name '$m2') 
                    (.) ($ VSub_Name '$m3') (' or later')
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[378])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 363]
        )
      ]
      spids: [16777215 386]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {($ VSub_Name '$m3')} {(-ne)} {($ VSub_Name '$v3')})]
          action: [
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ('warning: GNU indent version ') ($ VSub_Name '$m1') (.) ($ VSub_Name '$m2') (.) 
                    ($ VSub_Name '$m3') (' recommended')
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[414])]
            )
          ]
          spids: [16777215 399]
        )
      ]
      spids: [16777215 417]
    )
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(pwd)})])
            left_token: <Left_Backtick '`'>
            spids: [426 428]
          )
        }
      arms: [
        (case_arm pat_list:[{(Lit_Other '*') (/gdb)}] spids:[433 436 438 16777215])
        (case_arm
          pat_list: [{(Lit_Other '*') (/sim/) (Lit_Other '*')}]
          spids: [441 445 447 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(echo)} {(DQ ('Not in GDB directory'))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[460])]
                )
              terminator: <Op_Semi ';'>
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [450 452 469 16777215]
        )
      ]
      spids: [424 430 471]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:types)
          op: Equal
          rhs: 
            {
              (DQ ('-T FILE ') ('-T bfd -T asection -T pid_t ') 
                ('-T prgregset_t -T fpregset_t -T gregset_t -T sigset_t ') ('-T td_thrhandle_t -T td_event_msg_t -T td_thr_events_t ') 
                ('-T td_notify_t -T td_thr_iter_f -T td_thrinfo_t ') 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(cat)} {(Lit_Other '*') (.h)})
                            (C {(sed)} {(-n)} {(-e)} 
                              {(SQ <'s/^.*[^a-z0-9_]\\([a-z0-9_]*_ftype\\).*$/-T \\1/p'>)} {(-e)} {(SQ <'s/^.*[^a-z0-9_]\\([a-z0-9_]*_func\\).*$/-T \\1/p'>)} {(-e)} 
                              {
                                (SQ 
                                  <
's/^typedef.*[^a-zA-Z0-9_]\\([a-zA-Z0-9_]*[a-zA-Z0-9_]\\);$/-T \\1/p'
                                  >
                                )
                              }
                            )
                            (C {(sort)} {(-u)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_Backtick '`'>
                  spids: [492 535]
                )
              )
            }
          spids: [479]
        )
      ]
      spids: [479]
    )
    (C {(${ VSub_Name indent)} {(${ VSub_Name types)} {(DQ ($ VSub_At '$@'))})
  ]
)