(CommandList
  children: [
    (C {(_Dbg_help_add)} {(signal)} 
      {
        (DQ ('signal SIGNAL\n') ('\n') ('Send a signal to the debugged program.\n') ('\n') 
          ('SIGNAL can be a name like ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (TERM) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' (for SIGTERM) or a positive number like \n') ('15 (which in ') (Lit_Other '\\') 
          ('*nix systems is the equivalent number. On ') (Lit_Other '\\') ('*nix systems the\n') ('command ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
          ('kill -l') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
          (' sometimes will give a list of signal names and numbers.\n') ('\n') ('The signal is sent to process ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (' (which is ') ($ VSub_Dollar '$$') (' right now).\n') ('\n') ('Also similar is the ') 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (kill) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' command.')
        )
      }
    )
    (FuncDef
      name: _Dbg_do_signal
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sig)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [111]
                )
              ]
              spids: [109]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:signum) op:Equal spids:[119])]
              spids: [115]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$sig')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(_Dbg_errmsg)} {(DQ ('Missing signal name or signal number.'))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [16777215 134]
                )
              ]
              spids: [16777215 149]
            )
            (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$sig')}
                              right: {($ VSub_Name '$int_pat')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:signame)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(_Dbg_signum2name)} {($ VSub_Name '$sig')})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [184 188]
                              )
                            }
                          spids: [183]
                        )
                      ]
                      spids: [183]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_NEqual
                                      left: (ArithWord w:{($ VSub_QMark '$?')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_msg)} {(DQ ('Bad signal number: ') ($ VSub_Name '$sig'))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 206]
                        )
                      ]
                      spids: [16777215 222]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:signum)
                          op: Equal
                          rhs: {(sig)}
                          spids: [225]
                        )
                      ]
                      spids: [225]
                    )
                  ]
                  spids: [16777215 173]
                )
              ]
              else_action: [
                (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))})
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [(assign_pair lhs:(LhsName name:signum) op:Equal spids:[241])]
                      spids: [239]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:signum)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(_Dbg_name2signum)} {($ VSub_Name '$sig')})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [246 250]
                          )
                        }
                      spids: [245]
                    )
                  ]
                  spids: [245]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_NEqual
                                  left: (ArithWord w:{($ VSub_QMark '$?')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(_Dbg_msg)} {(DQ ('Bad signal name: ') ($ VSub_Name '$sig'))})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      spids: [16777215 268]
                    )
                  ]
                  spids: [16777215 284]
                )
              ]
              spids: [229 287]
            )
            (C {(kill)} {(-) ($ VSub_Name '$signum')} {($ VSub_Dollar '$$')})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [106]
        )
      spids: [102 105]
    )
  ]
)