(CommandList
  children: [
    (Assignment
      keyword: Assign_Typeset
      flags: [-r]
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_info_cmds)
          op: Equal
          rhs: 
            {
              (SQ 
                <
'args breakpoints display files functions line program signals source stack variables warranty'
                >
              )
            }
          spids: [63]
        )
      ]
      spids: [59]
    )
    (FuncDef
      name: _Dbg_info_help
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DEqual
                              left: (ArithWord w:{($ VSub_Pound '$#')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [80 89]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Typeset
                      flags: [-a]
                      pairs: [(assign_pair lhs:(LhsName name:list) op:Equal spids:[100])]
                      spids: [96]
                    )
                    (C {(_Dbg_section)} {(SQ <'List of info subcommands:'>)})
                    (ForEach
                      iter_name: thing
                      iter_words: [{($ VSub_Name '$_Dbg_info_cmds')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [(C {(_Dbg_info_help)} {($ VSub_Name '$thing')} {(1)})]
                          spids: [121 131]
                        )
                      spids: [116 119]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 93]
                )
              ]
              spids: [16777215 139]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subcmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [145]
                )
              ]
              spids: [143]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:label)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [153]
                )
              ]
              spids: [151]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name _Dbg_command_help_info>
                                      bracket_op: 
                                        (ArrayIndex
                                          expr: (ArithWord w:{($ VSub_Name '$subcmd')})
                                        )
                                      spids: [167 172]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$label')})
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_msg_rst)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name _Dbg_command_help_info>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$subcmd')})
                                      )
                                    spids: [200 205]
                                  )
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [16777215 194]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:label)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(builtin)} {(printf)} {(DQ ('info %-12s-- '))} 
                                            {($ VSub_Name '$subcmd')}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [218 228]
                                  )
                                }
                              spids: [217]
                            )
                          ]
                          spids: [217]
                        )
                      ]
                      spids: [214 231]
                    )
                  ]
                  spids: [16777215 179]
                )
              ]
              spids: [16777215 234]
            )
            (Case
              to_match: {($ VSub_Name '$subcmd')}
              arms: [
                (case_arm
                  pat_list: [{(ar)} {(arg)} {(args)}]
                  action: [
                    (C {(_Dbg_msg)} 
                      {
                        (DQ ('info args -- Argument variables (e.g. ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('1, ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('2, ...) of the current stack frame.')
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [246 256 276 16777215]
                )
                (case_arm
                  pat_list: [
                    {(b)}
                    {(br)}
                    {(bre)}
                    {(brea)}
                    {(SQ <break>)}
                    {(breakp)}
                    {(breakpo)}
                    {(breakpoints)}
                    {(w)}
                    {(wa)}
                    {(wat)}
                    {(watc)}
                    {(SQ <watch>)}
                    {(watchp)}
                    {(watchpo)}
                    {(watchpoints)}
                  ]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info breakpoints -- Status of user-settable breakpoints'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [279 347 363 16777215]
                )
                (case_arm
                  pat_list: [{(disp)} {(displ)} {(displa)} {(display)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info display -- Show all display expressions'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [366 380 396 16777215]
                )
                (case_arm
                  pat_list: [{(KW_Fi fi)} {(file)} {(files)} {(sources)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info files -- Source files in the program'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [399 412 428 16777215]
                )
                (case_arm
                  pat_list: [
                    {(fu)}
                    {(fun)}
                    {(func)}
                    {(funct)}
                    {(functi)}
                    {(functio)}
                    {(KW_Function function)}
                    {(functions)}
                  ]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info functions -- All function names'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [431 460 476 16777215]
                )
                (case_arm
                  pat_list: [{(l)} {(li)} {(lin)} {(line)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info line -- list current line number and and file name'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [479 492 508 16777215]
                )
                (case_arm
                  pat_list: [{(p)} {(pr)} {(pro)} {(prog)} {(progr)} {(progra)} {(program)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info program -- Execution status of the program.'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [511 537 553 16777215]
                )
                (case_arm
                  pat_list: [
                    {(h)}
                    {(ha)}
                    {(han)}
                    {(hand)}
                    {(handl)}
                    {(handle)}
                    {(si)}
                    {(sig)}
                    {(sign)}
                    {(signa)}
                    {(signal)}
                    {(signals)}
                  ]
                  action: [
                    (C {(_Dbg_msg)} 
                      {(SQ <'info signals -- What debugger does when program gets various signals'>)}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [556 604 620 16777215]
                )
                (case_arm
                  pat_list: [{(so)} {(sou)} {(sourc)} {(source)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info source -- Information about the current source file'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [623 637 653 16777215]
                )
                (case_arm
                  pat_list: [{(st)} {(sta)} {(stac)} {(stack)}]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info stack -- Backtrace of the stack'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [656 670 686 16777215]
                )
                (case_arm
                  pat_list: [
                    {(tr)}
                    {(tra)}
                    {(trac)}
                    {(trace)}
                    {(tracep)}
                    {(tracepo)}
                    {(tracepoi)}
                    {(tracepoint)}
                    {(tracepoints)}
                  ]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info tracepoints -- Status of tracepoints'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [689 715 731 16777215]
                )
                (case_arm
                  pat_list: [
                    {(v)}
                    {(va)}
                    {(var)}
                    {(vari)}
                    {(varia)}
                    {(variab)}
                    {(variabl)}
                    {(variable)}
                    {(variables)}
                  ]
                  action: [
                    (C {(_Dbg_msg)} {(SQ <'info variables -- All global and static variable names'>)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [734 768 784 16777215]
                )
                (case_arm
                  pat_list: [{(w)} {(wa)} {(war)} {(warr)} {(warra)} {(warran)} {(warrant)} {(warranty)}]
                  action: [
                    (C {(_Dbg_msg)} 
                      {(SQ <'info warranty -- Various kinds of warranty you do not have'>)}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [787 817 833 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(_Dbg_errmsg)} 
                      {
                        (DQ ('Undefined info command: ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$subcmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('.  Try ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('help info') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (.)
                        )
                      }
                    )
                  ]
                  spids: [836 838 16777215 858]
                )
              ]
              spids: [239 243 858]
            )
          ]
          spids: [73]
        )
      spids: [69 72]
    )
  ]
)