(CommandList
  children: [
    (C {(_Dbg_help_add_sub)} {(info)} {(signals)} 
      {
        (DQ ("**info signals**\n") ("\n") 
          ("Show what debugger does when program gets various signals.\n") ("\n") ("See also:\n") ("---------\n") ("\n") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
          (signal) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.)
        )
      } {(1)}
    )
    (FuncDef
      name: _Dbg_do_info_signals
      body: 
        (BraceGroup
          children: [
            (C {(typeset)} {(-i)} {(Lit_VarLike "i=") (0)})
            (C {(typeset)} {(signal_name)})
            (C {(typeset)} {(handler)})
            (C {(typeset)} {(stop_flag)})
            (C {(typeset)} {(print_flag)})
            (C {(_Dbg_msg)} {(DQ ("Signal       Stop   Print   Stack     Value"))})
            (C {(_Dbg_printf_nocr)} {(DQ ("%-12s %-6s %-7s %-9s "))} {(EXIT)} 
              {
                (BracedVarSub
                  token: <VSub_Name _Dbg_sig_stop>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(nostop)})
                  spids: [139 146]
                )
              } 
              {
                (BracedVarSub
                  token: <VSub_Name _Dbg_sig_print>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(noprint)})
                  spids: [148 155]
                )
              } 
              {
                (BracedVarSub
                  token: <VSub_Name _Dbg_sig_show_stack>
                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(nostack)})
                  spids: [159 166]
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_tty")})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(builtin)} {(trap)} {(-p)} {(0)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$_Dbg_tty")}
                          spids: [201]
                        )
                      ]
                    )
                  ]
                  spids: [-1 190]
                )
              ]
              else_action: [(C {(builtin)} {(trap)} {(-p)} {(0)})]
              spids: [205 217]
            )
            (While
              cond: [
                (Sentence
                  child: (DParen child:(ArithWord w:{(Lit_Digits 1)}))
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:signal_name)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(builtin)} {(kill)} {(-l)} {($ VSub_Name "$i")}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [245]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [236 247]
                                  )
                                }
                              spids: [235]
                            )
                          ]
                          spids: [235]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:handler)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(builtin)} {(trap)} {(-p)} {($ VSub_Name "$i")})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [255 263]
                              )
                            }
                          spids: [254]
                        )
                      ]
                      spids: [254]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$handler")})
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(_Dbg_printf)} {(DQ ("%-12s %-6s %-7s %-9s %-6s"))} 
                              {($ VSub_Name "$signal_name")} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name _Dbg_sig_stop>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(nostop)})
                                  spids: [291 298]
                                )
                              } 
                              {
                                (BracedVarSub
                                  token: <VSub_Name _Dbg_sig_print>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(noprint)})
                                  spids: [300 307]
                                )
                              } 
                              {
                                (BracedVarSub
                                  token: <VSub_Name _Dbg_sig_show_stack>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$i")}))
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(nostack)})
                                  spids: [311 318]
                                )
                              } {(DQ ($ VSub_Name "$handler"))}
                            )
                          ]
                          spids: [-1 278]
                        )
                      ]
                      spids: [-1 325]
                    )
                    (DParen
                      child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                    )
                  ]
                  spids: [232 335]
                )
            )
          ]
          spids: [90]
        )
      spids: [86 89]
    )
  ]
)